Win32設(shè)備驅(qū)動程序的體系結(jié)構(gòu)
目前,由于需要支持新的業(yè)務(wù)和新的PC外部設(shè)備類型對驅(qū)動程序開發(fā)造成了新的挑戰(zhàn)。?
新型總線增加了設(shè)備的數(shù)量和對設(shè)備驅(qū)動程序的需求。設(shè)備上各種功能的不斷增加使驅(qū)?
動程序的開發(fā)變得越來越復(fù)雜。同時,快速反應(yīng)的交互式應(yīng)用程序要求將軟件和硬件緊?
密的結(jié)合在一起。1997年,在用于Windows?95和Windows?NT的統(tǒng)一的Win32驅(qū)動程序模型?
(WDM)有了進(jìn)一步的發(fā)展,將這些因素全部考慮在內(nèi)。WDM允許使用一個單一的驅(qū)動程?
序源(x86二進(jìn)制)來同時在Windows?95和Windows?NT中實現(xiàn)對新的總線和新設(shè)備的支持?
。?
WDM的關(guān)鍵目標(biāo)是通過提供一種靈活的方式來簡化驅(qū)動程序的開發(fā),使在實現(xiàn)對新硬件支?
持的基礎(chǔ)上減少并降低所必須開發(fā)的驅(qū)動程序的數(shù)量和復(fù)雜性。WDM還必須為即插即用和?
設(shè)備的電源管理提供一個通用的框架結(jié)構(gòu)。WDM是實現(xiàn)對新型設(shè)備的簡便支持和方便使用?
的關(guān)鍵組件。?
為了實現(xiàn)這些目標(biāo),WDM只能以Windows?NT?I/O子系統(tǒng)提供的一組通用服務(wù)為基礎(chǔ)。WDM?
改進(jìn)了由一組核心擴(kuò)展構(gòu)成的功能實現(xiàn)對即插即用、設(shè)備電源管理、和快速反應(yīng)I/O流的?
支持。除了通用的平臺服務(wù)和擴(kuò)展外,WDM還實現(xiàn)了一個模塊化的、分層次類型的微型驅(qū)?
動程序結(jié)構(gòu)。類型驅(qū)動程序?qū)崿F(xiàn)了支持通用總線、協(xié)議、或設(shè)備類所需的功能性接口。?
類驅(qū)動程序的一般特性是為邏輯設(shè)備的命令設(shè)置、協(xié)議、和代碼重用所需的總線接口實?
現(xiàn)標(biāo)準(zhǔn)化提供必要的條件。WDM對標(biāo)準(zhǔn)類接口的支持減少了Windows?95和Windows?NT所需?
的設(shè)備驅(qū)動程序的數(shù)量和復(fù)雜性。?
微型驅(qū)動程序允許通用類驅(qū)動程序的擴(kuò)展實現(xiàn)對特定設(shè)備協(xié)議或物理編程接口的支持。?
例如,一個微型驅(qū)動程序可以被用于實現(xiàn)對IEEE?1394總線類驅(qū)動程序的擴(kuò)展,用于對特?
定主機(jī)控制器編程接口的支持。微型驅(qū)動程序非常易于開發(fā),因為它們可以通過簡單的?
擴(kuò)展通用的類驅(qū)動程序接口功能來實現(xiàn)。盡管微型驅(qū)動程序設(shè)計簡便,但是重復(fù)使用微?
型驅(qū)動程序模塊所帶來的優(yōu)點也可以通過對標(biāo)準(zhǔn)設(shè)備編程接口的支持來實現(xiàn)。USB主機(jī)控?
制器接口(OpenHCI或UHCI)就是這方面的一個例子。?
模塊化的WDM體系結(jié)構(gòu)靈活統(tǒng)一的接口使操作系統(tǒng)可以動態(tài)的配置不同的設(shè)備驅(qū)動程序模?
塊來支持特定的設(shè)備。模塊化的WDM體系結(jié)構(gòu)靈活統(tǒng)一的接口使操作系統(tǒng)可以動態(tài)的配置?
不同的驅(qū)動程序模塊來支持特定的設(shè)備。一個典型的驅(qū)動程序堆棧由通用設(shè)備、協(xié)議、?
和用特定協(xié)議和特定總線的微型驅(qū)動程序聯(lián)接的總線類驅(qū)動程序構(gòu)成。例如,操作系統(tǒng)?
可以配置一個驅(qū)動程序堆棧來支持這樣一個照相機(jī),它的命令是用圖象類定義的,并且?
它是根據(jù)來自IEEE?1394總線類的功能控制協(xié)議(FCP)類而發(fā)表的。這種靈活性還使其?
可以很容易的支持一個多功能設(shè)備,僅需簡單的實現(xiàn)一個微型驅(qū)動程序?qū)⒍喙δ苡布c?
幾個設(shè)備類的接口相連接。動態(tài)構(gòu)造WDM驅(qū)動程序堆棧是實現(xiàn)即插即用設(shè)備支持的關(guān)鍵。?
?
WDM服務(wù)使實現(xiàn)一個用于Windows?NT和Windows?95快速反應(yīng)的模型成為可能。WDM提供了?
多個執(zhí)行優(yōu)先級包括核心態(tài)和非核心態(tài)線程、IRQ級別、和被延緩的程序調(diào)用(DPC)。?
所有的WDM類和微型驅(qū)動程序都作為核心態(tài)(第0層)的特權(quán)級線程(不會被CPU調(diào)度程序?
中斷)執(zhí)行。32個IRQ級可以被用于區(qū)分硬件中斷服務(wù)的優(yōu)先級。對于每個中斷,DPC被?
排入隊列等到被啟用中斷的IRQ服務(wù)例程完成后再執(zhí)行。DPCs通過有效的減少中斷被禁止?
的時間,使系統(tǒng)對中斷的響應(yīng)獲得了很大的提高。對于使用多處理器的基于x86的PC系統(tǒng)?
,在Windows?NT下對中斷的支持是以Intel的多處理器規(guī)范1.4版本為基礎(chǔ)的。?
對于需要活動的多媒體的應(yīng)用程序,WDM在核心態(tài)提供了快速反應(yīng)的接口來處理I/O流。?
WDM的流接口是通過標(biāo)準(zhǔn)的WDM類接口提供出的。對于WDM,一個多媒體流完全可以用一個?
或多個軟件過濾器和設(shè)備驅(qū)動程序來處理。為了加速對I/O流的處理,WDM流可以直接對?
硬件進(jìn)行訪問,避免了由于進(jìn)行非核心態(tài)和核心態(tài)之間的轉(zhuǎn)換而造成的延遲,并且還省?
取了對中間I/O緩沖區(qū)的需要。?
要充分利用WDM提供的優(yōu)點,建議你使用即插即用兼容的電源管理輸入、聲音、圖形、和?
使用USB和IEEE?1394的存儲外圍設(shè)備。?
WDM驅(qū)動程序可以在Windows?NT上與現(xiàn)有的Windows?NT驅(qū)動程序共存,也可以在Windows?
?95上與現(xiàn)有的Windows?95驅(qū)動程序共存?,F(xiàn)有的Windows?NT?和Windows?95驅(qū)動程序?qū)?
繼續(xù)被支持,但是卻不能使用WDM的先進(jìn)優(yōu)點。由微軟提供的可擴(kuò)展的WDM類驅(qū)動程序是?
支持新設(shè)備的最好選擇。在開始開發(fā)一個新的WDM類驅(qū)動程序之前,硬件開發(fā)者應(yīng)當(dāng)請教?
微軟公司以取得對特定設(shè)備類的支持信息。一旦有可能,就采用僅編寫一次類驅(qū)動程序?
,然后通過使用WDM的微型驅(qū)動程序來將其擴(kuò)展成針對特定硬件接口的驅(qū)動程序的方法。?
?
目前,由于需要支持新的業(yè)務(wù)和新的PC外部設(shè)備類型對驅(qū)動程序開發(fā)造成了新的挑戰(zhàn)。?
新型總線增加了設(shè)備的數(shù)量和對設(shè)備驅(qū)動程序的需求。設(shè)備上各種功能的不斷增加使驅(qū)?
動程序的開發(fā)變得越來越復(fù)雜。同時,快速反應(yīng)的交互式應(yīng)用程序要求將軟件和硬件緊?
密的結(jié)合在一起。1997年,在用于Windows?95和Windows?NT的統(tǒng)一的Win32驅(qū)動程序模型?
(WDM)有了進(jìn)一步的發(fā)展,將這些因素全部考慮在內(nèi)。WDM允許使用一個單一的驅(qū)動程?
序源(x86二進(jìn)制)來同時在Windows?95和Windows?NT中實現(xiàn)對新的總線和新設(shè)備的支持?
。?
WDM的關(guān)鍵目標(biāo)是通過提供一種靈活的方式來簡化驅(qū)動程序的開發(fā),使在實現(xiàn)對新硬件支?
持的基礎(chǔ)上減少并降低所必須開發(fā)的驅(qū)動程序的數(shù)量和復(fù)雜性。WDM還必須為即插即用和?
設(shè)備的電源管理提供一個通用的框架結(jié)構(gòu)。WDM是實現(xiàn)對新型設(shè)備的簡便支持和方便使用?
的關(guān)鍵組件。?
為了實現(xiàn)這些目標(biāo),WDM只能以Windows?NT?I/O子系統(tǒng)提供的一組通用服務(wù)為基礎(chǔ)。WDM?
改進(jìn)了由一組核心擴(kuò)展構(gòu)成的功能實現(xiàn)對即插即用、設(shè)備電源管理、和快速反應(yīng)I/O流的?
支持。除了通用的平臺服務(wù)和擴(kuò)展外,WDM還實現(xiàn)了一個模塊化的、分層次類型的微型驅(qū)?
動程序結(jié)構(gòu)。類型驅(qū)動程序?qū)崿F(xiàn)了支持通用總線、協(xié)議、或設(shè)備類所需的功能性接口。?
類驅(qū)動程序的一般特性是為邏輯設(shè)備的命令設(shè)置、協(xié)議、和代碼重用所需的總線接口實?
現(xiàn)標(biāo)準(zhǔn)化提供必要的條件。WDM對標(biāo)準(zhǔn)類接口的支持減少了Windows?95和Windows?NT所需?
的設(shè)備驅(qū)動程序的數(shù)量和復(fù)雜性。?
微型驅(qū)動程序允許通用類驅(qū)動程序的擴(kuò)展實現(xiàn)對特定設(shè)備協(xié)議或物理編程接口的支持。?
例如,一個微型驅(qū)動程序可以被用于實現(xiàn)對IEEE?1394總線類驅(qū)動程序的擴(kuò)展,用于對特?
定主機(jī)控制器編程接口的支持。微型驅(qū)動程序非常易于開發(fā),因為它們可以通過簡單的?
擴(kuò)展通用的類驅(qū)動程序接口功能來實現(xiàn)。盡管微型驅(qū)動程序設(shè)計簡便,但是重復(fù)使用微?
型驅(qū)動程序模塊所帶來的優(yōu)點也可以通過對標(biāo)準(zhǔn)設(shè)備編程接口的支持來實現(xiàn)。USB主機(jī)控?
制器接口(OpenHCI或UHCI)就是這方面的一個例子。?
模塊化的WDM體系結(jié)構(gòu)靈活統(tǒng)一的接口使操作系統(tǒng)可以動態(tài)的配置不同的設(shè)備驅(qū)動程序模?
塊來支持特定的設(shè)備。模塊化的WDM體系結(jié)構(gòu)靈活統(tǒng)一的接口使操作系統(tǒng)可以動態(tài)的配置?
不同的驅(qū)動程序模塊來支持特定的設(shè)備。一個典型的驅(qū)動程序堆棧由通用設(shè)備、協(xié)議、?
和用特定協(xié)議和特定總線的微型驅(qū)動程序聯(lián)接的總線類驅(qū)動程序構(gòu)成。例如,操作系統(tǒng)?
可以配置一個驅(qū)動程序堆棧來支持這樣一個照相機(jī),它的命令是用圖象類定義的,并且?
它是根據(jù)來自IEEE?1394總線類的功能控制協(xié)議(FCP)類而發(fā)表的。這種靈活性還使其?
可以很容易的支持一個多功能設(shè)備,僅需簡單的實現(xiàn)一個微型驅(qū)動程序?qū)⒍喙δ苡布c?
幾個設(shè)備類的接口相連接。動態(tài)構(gòu)造WDM驅(qū)動程序堆棧是實現(xiàn)即插即用設(shè)備支持的關(guān)鍵。?
?
WDM服務(wù)使實現(xiàn)一個用于Windows?NT和Windows?95快速反應(yīng)的模型成為可能。WDM提供了?
多個執(zhí)行優(yōu)先級包括核心態(tài)和非核心態(tài)線程、IRQ級別、和被延緩的程序調(diào)用(DPC)。?
所有的WDM類和微型驅(qū)動程序都作為核心態(tài)(第0層)的特權(quán)級線程(不會被CPU調(diào)度程序?
中斷)執(zhí)行。32個IRQ級可以被用于區(qū)分硬件中斷服務(wù)的優(yōu)先級。對于每個中斷,DPC被?
排入隊列等到被啟用中斷的IRQ服務(wù)例程完成后再執(zhí)行。DPCs通過有效的減少中斷被禁止?
的時間,使系統(tǒng)對中斷的響應(yīng)獲得了很大的提高。對于使用多處理器的基于x86的PC系統(tǒng)?
,在Windows?NT下對中斷的支持是以Intel的多處理器規(guī)范1.4版本為基礎(chǔ)的。?
對于需要活動的多媒體的應(yīng)用程序,WDM在核心態(tài)提供了快速反應(yīng)的接口來處理I/O流。?
WDM的流接口是通過標(biāo)準(zhǔn)的WDM類接口提供出的。對于WDM,一個多媒體流完全可以用一個?
或多個軟件過濾器和設(shè)備驅(qū)動程序來處理。為了加速對I/O流的處理,WDM流可以直接對?
硬件進(jìn)行訪問,避免了由于進(jìn)行非核心態(tài)和核心態(tài)之間的轉(zhuǎn)換而造成的延遲,并且還省?
取了對中間I/O緩沖區(qū)的需要。?
要充分利用WDM提供的優(yōu)點,建議你使用即插即用兼容的電源管理輸入、聲音、圖形、和?
使用USB和IEEE?1394的存儲外圍設(shè)備。?
WDM驅(qū)動程序可以在Windows?NT上與現(xiàn)有的Windows?NT驅(qū)動程序共存,也可以在Windows?
?95上與現(xiàn)有的Windows?95驅(qū)動程序共存?,F(xiàn)有的Windows?NT?和Windows?95驅(qū)動程序?qū)?
繼續(xù)被支持,但是卻不能使用WDM的先進(jìn)優(yōu)點。由微軟提供的可擴(kuò)展的WDM類驅(qū)動程序是?
支持新設(shè)備的最好選擇。在開始開發(fā)一個新的WDM類驅(qū)動程序之前,硬件開發(fā)者應(yīng)當(dāng)請教?
微軟公司以取得對特定設(shè)備類的支持信息。一旦有可能,就采用僅編寫一次類驅(qū)動程序?
,然后通過使用WDM的微型驅(qū)動程序來將其擴(kuò)展成針對特定硬件接口的驅(qū)動程序的方法。?
?
目前,由于需要支持新的業(yè)務(wù)和新的PC外部設(shè)備類型對驅(qū)動程序開發(fā)造成了新的挑戰(zhàn)。?
新型總線增加了設(shè)備的數(shù)量和對設(shè)備驅(qū)動程序的需求。設(shè)備上各種功能的不斷增加使驅(qū)?
動程序的開發(fā)變得越來越復(fù)雜。同時,快速反應(yīng)的交互式應(yīng)用程序要求將軟件和硬件緊?
密的結(jié)合在一起。1997年,在用于Windows?95和Windows?NT的統(tǒng)一的Win32驅(qū)動程序模型?
(WDM)有了進(jìn)一步的發(fā)展,將這些因素全部考慮在內(nèi)。WDM允許使用一個單一的驅(qū)動程?
序源(x86二進(jìn)制)來同時在Windows?95和Windows?NT中實現(xiàn)對新的總線和新設(shè)備的支持?
。?
WDM的關(guān)鍵目標(biāo)是通過提供一種靈活的方式來簡化驅(qū)動程序的開發(fā),使在實現(xiàn)對新硬件支?
持的基礎(chǔ)上減少并降低所必須開發(fā)的驅(qū)動程序的數(shù)量和復(fù)雜性。WDM還必須為即插即用和?
設(shè)備的電源管理提供一個通用的框架結(jié)構(gòu)。WDM是實現(xiàn)對新型設(shè)備的簡便支持和方便使用?
的關(guān)鍵組件。?
為了實現(xiàn)這些目標(biāo),WDM只能以Windows?NT?I/O子系統(tǒng)提供的一組通用服務(wù)為基礎(chǔ)。WDM?
改進(jìn)了由一組核心擴(kuò)展構(gòu)成的功能實現(xiàn)對即插即用、設(shè)備電源管理、和快速反應(yīng)I/O流的?
支持。除了通用的平臺服務(wù)和擴(kuò)展外,WDM還實現(xiàn)了一個模塊化的、分層次類型的微型驅(qū)?
動程序結(jié)構(gòu)。類型驅(qū)動程序?qū)崿F(xiàn)了支持通用總線、協(xié)議、或設(shè)備類所需的功能性接口。?
類驅(qū)動程序的一般特性是為邏輯設(shè)備的命令設(shè)置、協(xié)議、和代碼重用所需的總線接口實?
現(xiàn)標(biāo)準(zhǔn)化提供必要的條件。WDM對標(biāo)準(zhǔn)類接口的支持減少了Windows?95和Windows?NT所需?
的設(shè)備驅(qū)動程序的數(shù)量和復(fù)雜性。?
微型驅(qū)動程序允許通用類驅(qū)動程序的擴(kuò)展實現(xiàn)對特定設(shè)備協(xié)議或物理編程接口的支持。?
例如,一個微型驅(qū)動程序可以被用于實現(xiàn)對IEEE?1394總線類驅(qū)動程序的擴(kuò)展,用于對特?
定主機(jī)控制器編程接口的支持。微型驅(qū)動程序非常易于開發(fā),因為它們可以通過簡單的?
擴(kuò)展通用的類驅(qū)動程序接口功能來實現(xiàn)。盡管微型驅(qū)動程序設(shè)計簡便,但是重復(fù)使用微?
型驅(qū)動程序模塊所帶來的優(yōu)點也可以通過對標(biāo)準(zhǔn)設(shè)備編程接口的支持來實現(xiàn)。USB主機(jī)控?
制器接口(OpenHCI或UHCI)就是這方面的一個例子。?
模塊化的WDM體系結(jié)構(gòu)靈活統(tǒng)一的接口使操作系統(tǒng)可以動態(tài)的配置不同的設(shè)備驅(qū)動程序模?
塊來支持特定的設(shè)備。模塊化的WDM體系結(jié)構(gòu)靈活統(tǒng)一的接口使操作系統(tǒng)可以動態(tài)的配置?
不同的驅(qū)動程序模塊來支持特定的設(shè)備。一個典型的驅(qū)動程序堆棧由通用設(shè)備、協(xié)議、?
和用特定協(xié)議和特定總線的微型驅(qū)動程序聯(lián)接的總線類驅(qū)動程序構(gòu)成。例如,操作系統(tǒng)?
可以配置一個驅(qū)動程序堆棧來支持這樣一個照相機(jī),它的命令是用圖象類定義的,并且?
它是根據(jù)來自IEEE?1394總線類的功能控制協(xié)議(FCP)類而發(fā)表的。這種靈活性還使其?
可以很容易的支持一個多功能設(shè)備,僅需簡單的實現(xiàn)一個微型驅(qū)動程序?qū)⒍喙δ苡布c?
幾個設(shè)備類的接口相連接。動態(tài)構(gòu)造WDM驅(qū)動程序堆棧是實現(xiàn)即插即用設(shè)備支持的關(guān)鍵。?
?
WDM服務(wù)使實現(xiàn)一個用于Windows?NT和Windows?95快速反應(yīng)的模型成為可能。WDM提供了?
多個執(zhí)行優(yōu)先級包括核心態(tài)和非核心態(tài)線程、IRQ級別、和被延緩的程序調(diào)用(DPC)。?
所有的WDM類和微型驅(qū)動程序都作為核心態(tài)(第0層)的特權(quán)級線程(不會被CPU調(diào)度程序?
中斷)執(zhí)行。32個IRQ級可以被用于區(qū)分硬件中斷服務(wù)的優(yōu)先級。對于每個中斷,DPC被?
排入隊列等到被啟用中斷的IRQ服務(wù)例程完成后再執(zhí)行。DPCs通過有效的減少中斷被禁止?
的時間,使系統(tǒng)對中斷的響應(yīng)獲得了很大的提高。對于使用多處理器的基于x86的PC系統(tǒng)?
,在Windows?NT下對中斷的支持是以Intel的多處理器規(guī)范1.4版本為基礎(chǔ)的。?
對于需要活動的多媒體的應(yīng)用程序,WDM在核心態(tài)提供了快速反應(yīng)的接口來處理I/O流。?
WDM的流接口是通過標(biāo)準(zhǔn)的WDM類接口提供出的。對于WDM,一個多媒體流完全可以用一個?
或多個軟件過濾器和設(shè)備驅(qū)動程序來處理。為了加速對I/O流的處理,WDM流可以直接對?
硬件進(jìn)行訪問,避免了由于進(jìn)行非核心態(tài)和核心態(tài)之間的轉(zhuǎn)換而造成的延遲,并且還省?
取了對中間I/O緩沖區(qū)的需要。?
要充分利用WDM提供的優(yōu)點,建議你使用即插即用兼容的電源管理輸入、聲音、圖形、和?
使用USB和IEEE?1394的存儲外圍設(shè)備。?
WDM驅(qū)動程序可以在Windows?NT上與現(xiàn)有的Windows?NT驅(qū)動程序共存,也可以在Windows?
?95上與現(xiàn)有的Windows?95驅(qū)動程序共存?,F(xiàn)有的Windows?NT?和Windows?95驅(qū)動程序?qū)?
繼續(xù)被支持,但是卻不能使用WDM的先進(jìn)優(yōu)點。由微軟提供的可擴(kuò)展的WDM類驅(qū)動程序是?
支持新設(shè)備的最好選擇。在開始開發(fā)一個新的WDM類驅(qū)動程序之前,硬件開發(fā)者應(yīng)當(dāng)請教?
微軟公司以取得對特定設(shè)備類的支持信息。一旦有可能,就采用僅編寫一次類驅(qū)動程序?
,然后通過使用WDM的微型驅(qū)動程序來將其擴(kuò)展成針對特定硬件接口的驅(qū)動程序的方法。?
?
目前,由于需要支持新的業(yè)務(wù)和新的PC外部設(shè)備類型對驅(qū)動程序開發(fā)造成了新的挑戰(zhàn)。?
新型總線增加了設(shè)備的數(shù)量和對設(shè)備驅(qū)動程序的需求。設(shè)備上各種功能的不斷增加使驅(qū)?
動程序的開發(fā)變得越來越復(fù)雜。同時,快速反應(yīng)的交互式應(yīng)用程序要求將軟件和硬件緊?
密的結(jié)合在一起。1997年,在用于Windows?95和Windows?NT的統(tǒng)一的Win32驅(qū)動程序模型?
(WDM)有了進(jìn)一步的發(fā)展,將這些因素全部考慮在內(nèi)。WDM允許使用一個單一的驅(qū)動程?
序源(x86二進(jìn)制)來同時在Windows?95和Windows?NT中實現(xiàn)對新的總線和新設(shè)備的支持?
。?
WDM的關(guān)鍵目標(biāo)是通過提供一種靈活的方式來簡化驅(qū)動程序的開發(fā),使在實現(xiàn)對新硬件支?
持的基礎(chǔ)上減少并降低所必須開發(fā)的驅(qū)動程序的數(shù)量和復(fù)雜性。WDM還必須為即插即用和?
設(shè)備的電源管理提供一個通用的框架結(jié)構(gòu)。WDM是實現(xiàn)對新型設(shè)備的簡便支持和方便使用?
的關(guān)鍵組件。?
為了實現(xiàn)這些目標(biāo),WDM只能以Windows?NT?I/O子系統(tǒng)提供的一組通用服務(wù)為基礎(chǔ)。WDM?
改進(jìn)了由一組核心擴(kuò)展構(gòu)成的功能實現(xiàn)對即插即用、設(shè)備電源管理、和快速反應(yīng)I/O流的?
支持。除了通用的平臺服務(wù)和擴(kuò)展外,WDM還實現(xiàn)了一個模塊化的、分層次類型的微型驅(qū)?
動程序結(jié)構(gòu)。類型驅(qū)動程序?qū)崿F(xiàn)了支持通用總線、協(xié)議、或設(shè)備類所需的功能性接口。?
類驅(qū)動程序的一般特性是為邏輯設(shè)備的命令設(shè)置、協(xié)議、和代碼重用所需的總線接口實?
現(xiàn)標(biāo)準(zhǔn)化提供必要的條件。WDM對標(biāo)準(zhǔn)類接口的支持減少了Windows?95和Windows?NT所需?
的設(shè)備驅(qū)動程序的數(shù)量和復(fù)雜性。?
微型驅(qū)動程序允許通用類驅(qū)動程序的擴(kuò)展實現(xiàn)對特定設(shè)備協(xié)議或物理編程接口的支持。?
例如,一個微型驅(qū)動程序可以被用于實現(xiàn)對IEEE?1394總線類驅(qū)動程序的擴(kuò)展,用于對特?
定主機(jī)控制器編程接口的支持。微型驅(qū)動程序非常易于開發(fā),因為它們可以通過簡單的?
擴(kuò)展通用的類驅(qū)動程序接口功能來實現(xiàn)。盡管微型驅(qū)動程序設(shè)計簡便,但是重復(fù)使用微?
型驅(qū)動程序模塊所帶來的優(yōu)點也可以通過對標(biāo)準(zhǔn)設(shè)備編程接口的支持來實現(xiàn)。USB主機(jī)控?
制器接口(OpenHCI或UHCI)就是這方面的一個例子。?
模塊化的WDM體系結(jié)構(gòu)靈活統(tǒng)一的接口使操作系統(tǒng)可以動態(tài)的配置不同的設(shè)備驅(qū)動程序模?
塊來支持特定的設(shè)備。模塊化的WDM體系結(jié)構(gòu)靈活統(tǒng)一的接口使操作系統(tǒng)可以動態(tài)的配置?
不同的驅(qū)動程序模塊來支持特定的設(shè)備。一個典型的驅(qū)動程序堆棧由通用設(shè)備、協(xié)議、?
和用特定協(xié)議和特定總線的微型驅(qū)動程序聯(lián)接的總線類驅(qū)動程序構(gòu)成。例如,操作系統(tǒng)?
可以配置一個驅(qū)動程序堆棧來支持這樣一個照相機(jī),它的命令是用圖象類定義的,并且?
它是根據(jù)來自IEEE?1394總線類的功能控制協(xié)議(FCP)類而發(fā)表的。這種靈活性還使其?
可以很容易的支持一個多功能設(shè)備,僅需簡單的實現(xiàn)一個微型驅(qū)動程序?qū)⒍喙δ苡布c?
幾個設(shè)備類的接口相連接。動態(tài)構(gòu)造WDM驅(qū)動程序堆棧是實現(xiàn)即插即用設(shè)備支持的關(guān)鍵。?
?
WDM服務(wù)使實現(xiàn)一個用于Windows?NT和Windows?95快速反應(yīng)的模型成為可能。WDM提供了?
多個執(zhí)行優(yōu)先級包括核心態(tài)和非核心態(tài)線程、IRQ級別、和被延緩的程序調(diào)用(DPC)。?
所有的WDM類和微型驅(qū)動程序都作為核心態(tài)(第0層)的特權(quán)級線程(不會被CPU調(diào)度程序?
中斷)執(zhí)行。32個IRQ級可以被用于區(qū)分硬件中斷服務(wù)的優(yōu)先級。對于每個中斷,DPC被?
排入隊列等到被啟用中斷的IRQ服務(wù)例程完成后再執(zhí)行。DPCs通過有效的減少中斷被禁止?
的時間,使系統(tǒng)對中斷的響應(yīng)獲得了很大的提高。對于使用多處理器的基于x86的PC系統(tǒng)?
,在Windows?NT下對中斷的支持是以Intel的多處理器規(guī)范1.4版本為基礎(chǔ)的。?
對于需要活動的多媒體的應(yīng)用程序,WDM在核心態(tài)提供了快速反應(yīng)的接口來處理I/O流。?
WDM的流接口是通過標(biāo)準(zhǔn)的WDM類接口提供出的。對于WDM,一個多媒體流完全可以用一個?
或多個軟件過濾器和設(shè)備驅(qū)動程序來處理。為了加速對I/O流的處理,WDM流可以直接對?
硬件進(jìn)行訪問,避免了由于進(jìn)行非核心態(tài)和核心態(tài)之間的轉(zhuǎn)換而造成的延遲,并且還省?
取了對中間I/O緩沖區(qū)的需要。?
要充分利用WDM提供的優(yōu)點,建議你使用即插即用兼容的電源管理輸入、聲音、圖形、和?
使用USB和IEEE?1394的存儲外圍設(shè)備。?
WDM驅(qū)動程序可以在Windows?NT上與現(xiàn)有的Windows?NT驅(qū)動程序共存,也可以在Windows?
?95上與現(xiàn)有的Windows?95驅(qū)動程序共存。現(xiàn)有的Windows?NT?和Windows?95驅(qū)動程序?qū)?
繼續(xù)被支持,但是卻不能使用WDM的先進(jìn)優(yōu)點。由微軟提供的可擴(kuò)展的WDM類驅(qū)動程序是?
支持新設(shè)備的最好選擇。在開始開發(fā)一個新的WDM類驅(qū)動程序之前,硬件開發(fā)者應(yīng)當(dāng)請教?
微軟公司以取得對特定設(shè)備類的支持信息。一旦有可能,就采用僅編寫一次類驅(qū)動程序?
,然后通過使用WDM的微型驅(qū)動程序來將其擴(kuò)展成針對特定硬件接口的驅(qū)動程序的方法。?
評論