デバイス ドライバ 特定の種類のデバイスを操作または制御するソフトウェアです。最新のモノリシック カーネル オペレーティング システムでは、通常、これらはカーネルの一部です。 Linux を含む多くのモノリシック カーネルはモジュール設計を採用しているため、実行可能モジュールを実行時にロードできます。デバイス ドライバーは通常、この機能を利用しますが、デバイス ドライバーがカーネル イメージにコンパイルされることを妨げるものは何もありません。
デバイス ファイル 通常のファイルであるかのようにファイル システムに表示されるデバイス ドライバーのインターフェイスです。 Unix ライクなオペレーティング システムでは、これらは通常 /dev
の下にあります。 ディレクトリであり、デバイス ノードとも呼ばれます .デバイス ファイルはキャラクター デバイスを表すことができます 、一度に 1 文字ずつストリーム データを出力するか、ブロック デバイス これにより、データ ブロックへのランダム アクセスが可能になります。
デバイスノードは mknod
によって作成されます システムコール。デバイス ノードによって公開されるカーネル リソースは、メジャー番号とマイナー番号によって識別されます。通常、メジャー番号はデバイス ドライバーを識別し、マイナー番号はドライバーが制御する特定のデバイスを識別します。
デバイス ファイルに何が含まれているように見えるかは、デバイス ドライバーがデバイス ファイルを通じて公開する内容によって異なります。たとえば、マウスを表すキャラクタ デバイス ファイル /dev/input/mice
/dev/sda
などのハードディスクを表すブロック デバイス ファイルは、マウスの動きを文字ストリームとして公開します。 、デバイスのメモリのアドレス可能な領域を公開します。一部のデバイス ファイルも入力を受け取り、デバイス ファイルに書き込むことでユーザー空間アプリケーションがデバイスと通信できるようにします。