共用方式為


使用直接 I/O

可一次傳輸大量數據的裝置驅動程式應針對這些傳輸使用直接 I/O。 針對大型傳輸使用直接 I/O 可改善驅動程式的效能,兩者都是藉由減少中斷負荷,以及消除緩衝 I/O 中固有的記憶體配置和複製作業。

一般而言,大量儲存設備驅動器會要求直接 I/O 進行傳輸要求,包括使用直接記憶體存取 (DMA) 或程式化 I/O (PIO) 的最低層級驅動程式,以及連結在上面的任何中繼驅動程式。

I/O 管理員會根據以下所示來判斷一個 I/O 操作是否使用直接 I/O:

使用直接 I/O 的驅動程式有時會使用緩衝 I/O 來處理某些 IRP。 特別是,驅動程式通常會針對一些需要數據傳輸的 IRP_MJ_DEVICE_CONTROL I/O 控制代碼使用緩衝 I/O,不論驅動程式是否在讀取和寫入作業中使用直接 I/O。

視使用 DMA 或 PIO 而定,設定直接 I/O 傳輸會稍有不同。 如需詳細資訊,請參閱:

搭配 DMA 使用直接 I/O

搭配 PIO 使用直接 I/O

驅動程式必須採取步驟,在 DMA 和 PIO 傳輸期間維護快取一致性。 如需詳細資訊,請參閱 維護快取一致性