Windows I/O モデルの概要

すべてのオペレーティングシステムには、周辺デバイスとの間でのデータフローを処理するための暗黙的または明示的な i/o モデルがあります。 Microsoft Windows i/o モデルの機能の1つに、非同期 i/o のサポートがあります。 また、i/o モデルには次の一般的な機能があります。

  • I/o マネージャーは、すべてのカーネルモードドライバー (最低レベル、中間、ファイルシステムドライバーを含む) に一貫したインターフェイスを提供します。 ドライバーへのすべての i/o 要求は i/o 要求パケット (Irp) として送信されます。

  • I/o 操作は階層化されています。 I/o マネージャーは、i/o システムサービスをエクスポートします。これにより、ユーザーモードで保護されたサブシステムが呼び出し、アプリケーションやエンドユーザーの代わりに i/o 操作を実行します。 I/o マネージャーは、これらの呼び出しをインターセプトし、1つまたは複数の Irp を設定し、階層化されたドライバーを使用して物理デバイスにルーティングします。

  • I/o マネージャーでは、ドライバーがサポートできる一連の標準ルーチン、必須のもの、およびオプションのオプションが定義されています。 すべてのドライバーは、周辺機器の違いと、バス、機能、フィルター、およびファイルシステムドライバーに必要なさまざまな機能により、比較的一貫した実装モデルに従います。

  • オペレーティングシステム自体と同様に、ドライバーはオブジェクトベースです。 ドライバー、デバイス、およびシステムハードウェアは、オブジェクトとして表されます。 I/o マネージャーおよびその他のオペレーティングシステムコンポーネントは、ドライバーが呼び出すカーネルモードサポートルーチンをエクスポートして、適切なオブジェクトを操作することによって処理を実行します。

Irp を使用して従来の i/o 要求を伝達するだけでなく、i/o マネージャーは pnp および電源マネージャーと連携して、PnP と電源要求を含む Irp を送信します。