GNU/Linux >> Linux の 問題 >  >> Linux

デバイスファイルとデバイスドライバーの違い

デバイス ドライバ 特定の種類のデバイスを操作または制御するソフトウェアです。最新のモノリシック カーネル オペレーティング システムでは、通常、これらはカーネルの一部です。 Linux を含む多くのモノリシック カーネルはモジュール設計を採用しているため、実行可能モジュールを実行時にロードできます。デバイス ドライバーは通常、この機能を利用しますが、デバイス ドライバーがカーネル イメージにコンパイルされることを妨げるものは何もありません。

デバイス ファイル 通常のファイルであるかのようにファイル システムに表示されるデバイス ドライバーのインターフェイスです。 Unix ライクなオペレーティング システムでは、これらは通常 /dev の下にあります。 ディレクトリであり、デバイス ノードとも呼ばれます .デバイス ファイルはキャラクター デバイスを表すことができます 、一度に 1 文字ずつストリーム データを出力するか、ブロック デバイス これにより、データ ブロックへのランダム アクセスが可能になります。

デバイスノードは mknod によって作成されます システムコール。デバイス ノードによって公開されるカーネル リソースは、メジャー番号とマイナー番号によって識別されます。通常、メジャー番号はデバイス ドライバーを識別し、マイナー番号はドライバーが制御する特定のデバイスを識別します。

デバイス ファイルに何が含まれているように見えるかは、デバイス ドライバーがデバイス ファイルを通じて公開する内容によって異なります。たとえば、マウスを表すキャラクタ デバイス ファイル /dev/input/mice /dev/sda などのハードディスクを表すブロック デバイス ファイルは、マウスの動きを文字ストリームとして公開します。 、デバイスのメモリのアドレス可能な領域を公開します。一部のデバイス ファイルも入力を受け取り、デバイス ファイルに書き込むことでユーザー空間アプリケーションがデバイスと通信できるようにします。


Linux
  1. [[$ a ==Z*]]と[$a==Z *]の違いは?

  2. シンボリックリンクとハードリンクの違いは?

  3. SnatとMasqueradeの違いは?

  1. Linuxのソフトリンクとハードリンクの違い

  2. fsync と syncfs の違いは何ですか?

  3. pts と tty の違い

  1. SANとNASの違い

  2. Catと「>」の違いでファイルをゼロにする?

  3. 「du-sh*」と「du-sh./*」の違いは?