2

OSカーネルがドライバーで構成されていることは知っていますが、ドライバーはどのようにしてOSの一部になるのですか?、カーネルは自分自身を逆コンパイルしてから、ドライバーを追加して自分自身を再コンパイルしますか?、またはドライバーはカーネルのプラグインですか? ?, ほとんどのオペレーティング システムでは、ドライバーは実際にはカーネルの一部になるが、ac プログラムをコンパイルすると、通常の実行可能ファイルに変わると誰かが私に言った

4

3 に答える 3

4

ドライバーのアーキテクチャは、オペレーティング システムに完全に依存します。(組み込みデバイスではなく) コンピューター上で動作するほとんどのオペレーティング システムでは、ドライバーをカーネルの「プラグイン」と考えるのはかなり正確です。とはいえ、カーネルの一部としてドライバーを組み込む必要がある、古くて小さくて洗練されていないオペレーティング システムがたくさんあります。動的な読み込みは不可能です。最近では、いくつかのオペレーティング システムが「ユーザー モード」ドライバーをサポートしています。これは、カーネル メモリ空間でまったく実行されないデバイス ドライバーです。

于 2010-09-06T22:48:14.917 に答える
3

o/s によって異なります。

従来、カーネルはすべてのドライバーを含むモノリシックな実行可能ファイルであり、新しいドライバーの追加が必要になったときに再構築され、新しいドライバーのコードとすべての古いドライバーが含まれていました。

最近の Linux では、おそらく他の OS でも、ドライバーは必要に応じてカーネルによって動的にロードされます。ドライバーは、カーネルがそのロードを実行できる形式で作成されます。通常、これは共有オブジェクトまたはダイナミック リンク ライブラリ形式を意味します。

于 2010-09-06T22:48:54.813 に答える
1

Linux ドライバーのようなオペレーティング システムでは、実際にカーネル イメージにコンパイルできます。静的にリンクされている場合でも、必要なドライバーのみを簡単に含めることができるプラグイン タイプのアーキテクチャを示す可能性があります。

または、起動時またはシステム レベルのソフトウェアで必要なときにオンデマンドで動的にリンクおよびロードされます。

于 2010-09-06T22:48:43.407 に答える