2010-11-23 106 views
3

什麼是Windows操作系統中的驅動程序堆棧?什麼是Windows操作系統中的驅動程序堆棧?

我在閱讀材料NDIS,不知道它是什麼。

+4

歡迎來到StackOverflow!你在問題中付出的努力越多,你得到的答案的質量和數量就越好。建議澄清並擴展您的問題。你問網絡堆棧是什麼,驅動程序接口是什麼,NDIS是什麼,......?你已經看過什麼資源,但沒有得到滿足? – 2010-11-23 08:36:09

回答

5

Windows Driver Model(WDM)使用,其中給定裝置由至少兩個驅動器所服務的分層的方法:一個總線驅動器和 功能驅動程序。設備也可能具有增加值或修改設備行爲的過濾器驅動程序。爲設備提供服務的驅動程序鏈稱爲驅動程序堆棧

              Layered driver architecture in Windows

(來自:http://www.microsoft.com/whdc/archive/wdmoverview.mspx


另見:Device Driver Introduction,具體section 5 「設備驅動程序棧」。

1

如果你熟悉設計模式,一個很好的比喻是裝飾者。作爲一個例子,我會採用BufferedReader和其他任何類型的閱讀器。因此,您有基本的(可能不是非常高效的讀取器),並且您不需要關心如何使其緩衝並加速性能,因此您可以創建一個包裝底層Reader對象的BufferedReader。

驅動程序堆棧的概念是相似的 - 你可能有你的較低級別的驅動程序,它將寫入字符到設備,但你可以附加在另一個驅動程序,它會混雜每個字符,它基本上你有一個完整的加密堆棧。這種方式底層的驅動程序並不知道發生的這個「魔術」的任何事情,它正在完成它所做的 - 將字符寫入塊設備。

相關問題