Linux システムのデバイスは 3 つのカテゴリに分類されます: 1. キャラクタ デバイスは、バイト ストリームのようにアクセスできるデバイスです。キャラクタ デバイスに読み取りまたは書き込みリクエストが発行されると、対応する IO 操作が発生します。 2. ブロック デバイスは、Linux システムで TO 操作を実行するときにブロック単位でアクセスする必要があるデバイスです。ブロック デバイスはファイル システムをインストールできます。3. ネットワーク デバイスは、Linux ネットワーク サブシステムによって駆動され、データ パケットの送受信を担当します。ストリーム デバイスを指向していないため、Linux システム ファイル システムにはネットワーク デバイス用のノードがありません。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
Linux システムのデバイス
Linux システムのデバイスは、キャラクター デバイス、ブロック デバイス、ネットワーク デバイスの 3 つのカテゴリに分類できます。
(1) キャラクタデバイス
キャラクタデバイスは、バイトストリームのようにアクセスできるデバイスで、キャラクタデバイスに対してリードまたはライトリクエストを発行した場合、対応する IO 操作がすぐに実行されます。 Linux システムの多くのデバイスは、キャラクター端末、シリアル ポート、キーボード、マウスなどのキャラクター デバイスです。組み込み Linux 開発で最も一般的なのは、キャラクター デバイスとドライバーです。
(2) ブロックデバイス
ブロックデバイスは、Linux システムで TO 操作を行う際にブロック単位でアクセスする必要があり、ファイルシステムをインストールすることができるデバイスです。ブロック デバイス ドライバーはシステム メモリの一部をバッファとして使用するため、ブロック デバイスへの読み取りおよび書き込みアクセスを発行しても、必ずしも直ちにハードウェア I/O 操作が行われるわけではありません。 Linux システムの一般的なブロック デバイスには、ハードディスク、フロッピー ドライブなどが含まれます。
(3) ネットワーク機器
ネットワーク機器は、ネットワーク カードなどのハードウェア デバイス、またはループバック デバイスなどの純粋なソフトウェア デバイスのいずれかです。ネットワーク デバイスは Linux ネットワーク サブシステムによって駆動され、ストリーム デバイスではなくデータ パケットの送受信を担当するため、ネットワーク デバイスは Linux システム ファイル システムにノードを持ちません。ネットワーク デバイスへのアクセスは、オープン/クローズや読み取り/書き込みなどの通常のファイル操作ではなく、ソケット呼び出しを通じて生成されます。
Linux におけるドライバーのステータス
ドライバーは、Linux システムにおけるデバイスとユーザーの間のブリッジです。 、デバイスにアクセスするには、デバイス ドライバーを介して動作する必要があり、ユーザー プログラムはデバイスを直接操作できません。 Linux システムにおけるハードウェア、ドライバー、ユーザー プログラムの関係を図 2.2 に示します。
ドライバーはカーネル空間で実行されます。ユーザー プログラムは、カーネル、VFS、およびまた、ユーザー プログラムが受信する前に、ドライバー、VFS、およびシステム コールを通過する必要があります。したがって、デバイス ドライバーは、アプリケーションがシステム デバイスにアクセスしてデータを転送するためのブリッジおよびチャネルです。
関連する推奨事項: 「Linux ビデオ チュートリアル 」
以上がLinux システムにはいくつかのカテゴリの機器がありますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。