每個作系統都有隱含或明確的 I/O 模型,可用來處理周邊裝置的數據流。 Microsoft Windows I/O 模型的其中一項功能是其異步 I/O 的支援。 此外,I/O 模型具有下列一般功能:
I/O 管理員會將一致的介面呈現給所有內核模式驅動程式,包括最低層級、中繼和文件系統驅動程式。 所有對驅動程式的 I/O 要求都會傳送為 I/O 要求封包(IRP)。
I/O 作業會分層。 I/O 管理員匯出 I/O 系統服務,而使用者模式保護子系統代表其應用程式或使用者呼叫這些服務來執行 I/O 作業。 I/O 管理員會攔截這些呼叫、設定一或多個 IRP,並透過可能分層的驅動程式將它們路由傳送至實體裝置。
I/O 管理員會定義一組標準例程,一些必要和其他選擇性,驅動程式可以支援。 所有驅動程式都遵循相對一致的實作模型,因為周邊裝置之間的差異,以及總線、函式、篩選和文件系統驅動程式所需的不同功能。
如同作系統本身,驅動程式是以對象為基礎。 驅動程式、其裝置和系統硬體會以物件表示。 I/O 管理員和其他作業系統元件會匯出核心模式支援例程,驅動程式可以呼叫此例程,藉由操作適當的物件來完成工作。
除了使用 IRP 來傳達傳統 I/O 要求之外,I/O 管理員還與 PnP 和電源管理員合作,以傳送包含 PnP 和電源要求的 IRP。