如圖 分層驅動程式中的處理 IRP 所示,檔案系統是包含兩部分的驅動程式:
檔系統驅動程式 (FSD),它會在呼叫 I/O 系統服務的使用者模式線程內容中執行
I/O 管理員會將對應的 IRP 傳送至 FSD。 如果 FSD 設定 IRP 的完成例程,則其完成例程不一定在原始使用者模式線程的內容中呼叫。
一組檔案系統執行緒,可能還有一個 FSP(檔案系統進程)
FSD 可以建立一組驅動程式專用系統執行緒,但大部分的 FSD 都會使用系統背景工作執行緒來完成工作,而不會繫結提出 I/O 要求的使用者模式執行緒。 任何 FSD 都可能會設定自己的進程位址空間,以執行其驅動程式專用執行緒,但系統提供的 FSD 會避免此做法,以節省系統記憶體。
檔案系統通常會使用系統背景工作執行緒來設定和管理 IRP 的內部工作佇列,這些佇列會傳送至一或多個較低層級的驅動程式,可能適用於不同的裝置。
雖然在 層級驅動程式處理 IRP 圖中顯示的最低層驅動程式透過一組由驅動程式提供的獨立常式分階段處理每個 IRP,但它不像檔案系統那樣使用系統執行緒。 最低層級的驅動程式通常不需要自己的執行緒上下文,除非設置其裝置進行 I/O 操作是一個如此漫長的過程,以至於對系統效能產生明顯影響。 很少有最低層級或中階驅動程式需要設定自己的驅動程式專用或裝置專用系統執行緒,而那些這樣做的驅動程式必須承擔內容切換至其執行緒所造成的效能損失。
大部分的核心模式驅動程式,例如在 分層驅動程式中處理 IRP 圖中的實體裝置驅動程式,會在任意線程上下文中執行,即:當它們被呼叫去處理 IRP 時,會依照當前的線程狀態來執行。 因此,驅動程式通常會在由驅動程式定義的裝置物件部分中,維護其 I/O 作業的狀態以及它所服務的裝置,這部分稱為裝置延伸模組。