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