2010-07-08 184 views
5

驅動程序(設備驅動程序)和驅動程序堆棧有什麼區別?我一直聽到人們在談論「驅動程序堆棧」,但我從來沒有真正聽說過這個... 謝謝!設備驅動程序vs驅動程序堆棧

+0

哇靠,谷歌在1分鐘內它被張貼索引這個網頁。這就是好的SEO! http://www.google.com/search?q=driver+stacks&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a – Marko 2010-07-08 02:34:20

+4

@Marko:這絕對是熱鬧的時候有人發佈了一個問題,其中一條評論是「谷歌它」,而這個問題本身已經是谷歌關於相關關鍵詞組合的最高結果。 – 2010-07-08 02:41:01

+0

@Anon - 阿門:) – Marko 2010-07-08 02:42:02

回答

5

司機是......好......司機。

驅動程序堆棧是當驅動程序彼此插入時,每個驅動程序堆棧添加一點點。就像使用顯卡驅動程序的OpenGL或DirectX驅動程序一樣,後者又使用PCI Express或AGP或任何驅動程序來設置資源並推送像素等。或者您的USB設備的驅動程序當然必須使用USB驅動程序才能進行通信。

在技術上可以有一個由一個司機組成的「堆棧」,但是當人們說「堆棧」時,他們幾乎總是意味着多於一個。或者他們只是想聽起來像他們知道他們在說什麼。

0

驅動程序堆棧指的是驅動程序的理論垂直鏈,每個驅動程序都執行從HW到用戶代碼或從用戶代碼到HW的行上的特定作業。

在windows操作系統中,HW的消息(包含數據)在IRP(IO請求數據包)中建模,該數據包從一側通過這條線到另一側,每個驅動程序處理它們並執行其操作。

一個讓理解容易的例子是Windows中的一個稱爲「功能驅動程序」的主要驅動程序,出於某種原因,您希望在其上面放置一個「過濾器驅動程序」來執行一些小的工作,如修改用戶的某些數據模式,然後到達您的主要驅動程序。 如果您已有一個不需要或不能修改的工作驅動程序,則可能需要此操作。

看到這個實驗在Windows驅動程序堆棧: https://docs.microsoft.com/en-us/windows-hardware/drivers/gettingstarted/driver-stacks