DMA トランザクションと DMA 転送
[KMDF のみに適用]
フレームワークがバスマスターとシステムモードの DMA 操作を処理する方法を理解するには、次の 2 つの用語を知っている必要があります。
DMA トランザクション
DMA トランザクションとは、アプリケーションからの単一の読み取りまたは書き込み要求など、完全な I/O 操作です。
DMA 転送
DMA 転送は、コンピューター メモリからデバイス、またはデバイスからコンピューター メモリにデータを転送する単一のハードウェア操作です。
1 つの DMA トランザクションは常に少なくとも 1 つの DMA 転送で構成されますが、トランザクションは多数の転送で構成されていることもあります。
フレームワークベースのドライバーが I/O 要求を受信すると、ドライバーは通常、要求を表す単一の DMA トランザクション オブジェクトを作成します。 フレームワークは、トランザクションのサービスを開始すると、デバイスがトランザクション全体を 1 回の転送で処理できるかどうかを判断します。 トランザクションが大きすぎる場合、フレームワークはトランザクションを複数の転送に分割します。