浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » 通信網(wǎng)絡(luò)

WIN95下虛擬設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)開發(fā)

發(fā)布時(shí)間:2007/8/28 0:00:00 訪問次數(shù):848

      摘 要: 介紹虛擬設(shè)備驅(qū)動(dòng)程序開發(fā)的基本知識(shí)以及VxDs與WIN32應(yīng)用程序通訊的幾種常用方法,并給出了用VtoolsD開發(fā)VxDs的具體實(shí)例。

    關(guān)鍵詞: 虛擬設(shè)備 虛擬設(shè)備驅(qū)動(dòng)程序(VxDs)DDK VTOOLSD   

    Windows自面世以來,即以其強(qiáng)大而友好的圖形界面占據(jù)了操作系統(tǒng)(尤其是微機(jī)操作系統(tǒng))的霸主地位。但是由于Windows采取的保護(hù)措施屏蔽了系統(tǒng)的底層操作,對(duì)用戶而言,已不能象在DOS下一樣直接操縱使用系統(tǒng)的硬件資源如內(nèi)存、I/O端口、中斷及DMA等。這在很大程度上保證了操作系統(tǒng)的安全穩(wěn)定性能,但卻給廣大硬件及底層軟件開發(fā)人員帶來了困難。當(dāng)需要直接操縱控制具體的硬件設(shè)備時(shí),往往需要編寫設(shè)備驅(qū)動(dòng)程序。

    1 VMM、VNMs和VxD

    Win95操作系統(tǒng)支持多線程、多任務(wù)應(yīng)用,正是依靠虛擬機(jī)管理器VMM(Virtual Machine Manager)和虛擬設(shè)備驅(qū)動(dòng)程序VxDs(Virtual Device Drivers)一起來實(shí)現(xiàn)設(shè)備虛擬化,從而使多個(gè)應(yīng)用能夠同時(shí)執(zhí)行。設(shè)備的虛擬化是建立在虛擬機(jī)假想的基礎(chǔ)上的,假想認(rèn)為每一個(gè)VM都可以對(duì)所有的硬件設(shè)備(如內(nèi)存、I/O端口、中斷等)進(jìn)行獨(dú)占的控制,就如DOS下的應(yīng)用程序一樣。VxDs即為實(shí)現(xiàn)此假想而產(chǎn)生。

    Windows中有兩種虛擬機(jī)VMs:DOS VM和System VM。每運(yùn)行一個(gè)DOS程序?qū)a(chǎn)生一個(gè)DOS VM,即不同的DOS程序運(yùn)行在各自的DOS VM中,而所有的Windows應(yīng)用程序(包括WIN16和WIN32應(yīng)用)都運(yùn)行于系統(tǒng)虛擬機(jī)中。每個(gè)VM有自己的地址空間、I/O端口、中斷向量表,VM為應(yīng)用提供內(nèi)存保護(hù)、虛擬內(nèi)存和權(quán)限檢查等,只是在WIN16中應(yīng)用程序運(yùn)行在同一地址空間中,而每個(gè)WIN312應(yīng)用程序都擁有自己的地址空間。所有的VM都接受VMM的統(tǒng)一調(diào)度管理,雖然VMM本身不是一VM,但卻充當(dāng)著激活VMs和VxDs的主要管理員(例如,VMM要處理在運(yùn)行VMs時(shí)的搶占時(shí)間片工作)。VMM是操作系統(tǒng)的核心,VMM提供單線程、搶先多任務(wù)處理。它是一個(gè)32位保護(hù)模式操作系統(tǒng),它的主要任務(wù)是產(chǎn)生、運(yùn)行、控制和終止虛擬機(jī)VMs,它讓多個(gè)VMs共享CPU的時(shí)間以使多應(yīng)用能同時(shí)運(yùn)行,其實(shí)VMM本身即是一些VxDs的集合,VMM不可重入。

    VxDs在很大程序上支持Windows 3.X和Windows 9X,可以將它看作是運(yùn)行在系統(tǒng)特權(quán)級(jí)上的特殊的DLL,VxDs可直接操縱系統(tǒng)的硬件資源,甚至可以虛擬根本不存在的硬件,Windows利用虛擬設(shè)備來管理軟件及硬件設(shè)備以確保應(yīng)用程序不互相干擾。大多數(shù)虛擬設(shè)備用來管理硬件設(shè)備,有些虛擬設(shè)備也提供軟件服務(wù),而不對(duì)應(yīng)于具體的硬件設(shè)備。如1999年初猖狂蔓延的CIH病毒,之所以能破壞硬件資源(通過攻擊主板的Flash Memory,達(dá)到破壞硬件的目的),正是因?yàn)樗昧薞xD技術(shù),運(yùn)行在系統(tǒng)Ring 0級(jí)。

    在Win3.X中VxDs是靜態(tài)裝載的,也就是說,當(dāng)Windows啟動(dòng)時(shí)要裝載所有要用的VxDs,它們將在Windows執(zhí)行生命期間一直處于活動(dòng)狀態(tài),Win9X(以及Windows for workgroups 3.11)在支持靜態(tài)VxDs的同時(shí)允許動(dòng)態(tài)裝載卸下VxDs。當(dāng)一應(yīng)用程序用CloseHandle()函數(shù)存取一VxD時(shí),系統(tǒng)會(huì)跟蹤每個(gè)VxD打開了多少句柄。當(dāng)應(yīng)用程序終止時(shí),它要調(diào)用函數(shù)CloseHandle()釋放這個(gè)VxD所打開的句柄。當(dāng)應(yīng)用程序終止時(shí),它要調(diào)用函數(shù)CloseHandle()釋放這個(gè)VxD的句柄,這樣即在需要時(shí)加載相應(yīng)的VxD、用完后卸下,提高了系統(tǒng)資源的利用率。當(dāng)然在進(jìn)程消亡時(shí),與其相聯(lián)的句柄會(huì)被自動(dòng)釋放。

    VxD處理硬件設(shè)備時(shí)一個(gè)經(jīng)常用到的硬件資源就是硬件中斷,VxD處理硬件中斷時(shí),虛擬設(shè)備很少直接截取中斷,而是依賴虛擬可編程中斷控制器(VPICD),VPICD實(shí)現(xiàn)了物理可編程中斷控制器(PPIC)的虛擬化,VPICD發(fā)送硬件中斷信號(hào)給其他虛擬設(shè)備,并向虛擬設(shè)備提供請(qǐng)求中斷、模仿硬件中斷等服務(wù)。

    2 VxD設(shè)計(jì)開發(fā)

    2.1 開發(fā)工具

    開發(fā)VxD需要專門的開發(fā)工具,目前應(yīng)用廣泛的工具主要有兩大類,一類是Microsoft提供的對(duì)應(yīng)于不同版本的Windows的DDK(Device Driver Kit),其中包含了開發(fā)VxD所需的各種類庫及匯編工具等。由于用DDK開發(fā)VxD大多使用匯編語言,所以開發(fā)起來相對(duì)比較困難。另一類是Vireo Software提供的Vtoolsd,VtoolsD開發(fā)包提供了對(duì)VxD編程的全線C++類庫支持,利用VtoolsD中的Quick VxD工具可以快速生成VxD的代碼框架,開發(fā)者可以在此基礎(chǔ)上根據(jù)各自的需要添加自己的代碼,使用VtoolsD可以不需要DDK。比較而言,使用VtoolsD要比使用DDK簡(jiǎn)單、快捷。另外,由于VxD運(yùn)行在Ring()級(jí),開發(fā)VxD

      摘 要: 介紹虛擬設(shè)備驅(qū)動(dòng)程序開發(fā)的基本知識(shí)以及VxDs與WIN32應(yīng)用程序通訊的幾種常用方法,并給出了用VtoolsD開發(fā)VxDs的具體實(shí)例。

    關(guān)鍵詞: 虛擬設(shè)備 虛擬設(shè)備驅(qū)動(dòng)程序(VxDs)DDK VTOOLSD   

    Windows自面世以來,即以其強(qiáng)大而友好的圖形界面占據(jù)了操作系統(tǒng)(尤其是微機(jī)操作系統(tǒng))的霸主地位。但是由于Windows采取的保護(hù)措施屏蔽了系統(tǒng)的底層操作,對(duì)用戶而言,已不能象在DOS下一樣直接操縱使用系統(tǒng)的硬件資源如內(nèi)存、I/O端口、中斷及DMA等。這在很大程度上保證了操作系統(tǒng)的安全穩(wěn)定性能,但卻給廣大硬件及底層軟件開發(fā)人員帶來了困難。當(dāng)需要直接操縱控制具體的硬件設(shè)備時(shí),往往需要編寫設(shè)備驅(qū)動(dòng)程序。

    1 VMM、VNMs和VxD

    Win95操作系統(tǒng)支持多線程、多任務(wù)應(yīng)用,正是依靠虛擬機(jī)管理器VMM(Virtual Machine Manager)和虛擬設(shè)備驅(qū)動(dòng)程序VxDs(Virtual Device Drivers)一起來實(shí)現(xiàn)設(shè)備虛擬化,從而使多個(gè)應(yīng)用能夠同時(shí)執(zhí)行。設(shè)備的虛擬化是建立在虛擬機(jī)假想的基礎(chǔ)上的,假想認(rèn)為每一個(gè)VM都可以對(duì)所有的硬件設(shè)備(如內(nèi)存、I/O端口、中斷等)進(jìn)行獨(dú)占的控制,就如DOS下的應(yīng)用程序一樣。VxDs即為實(shí)現(xiàn)此假想而產(chǎn)生。

    Windows中有兩種虛擬機(jī)VMs:DOS VM和System VM。每運(yùn)行一個(gè)DOS程序?qū)a(chǎn)生一個(gè)DOS VM,即不同的DOS程序運(yùn)行在各自的DOS VM中,而所有的Windows應(yīng)用程序(包括WIN16和WIN32應(yīng)用)都運(yùn)行于系統(tǒng)虛擬機(jī)中。每個(gè)VM有自己的地址空間、I/O端口、中斷向量表,VM為應(yīng)用提供內(nèi)存保護(hù)、虛擬內(nèi)存和權(quán)限檢查等,只是在WIN16中應(yīng)用程序運(yùn)行在同一地址空間中,而每個(gè)WIN312應(yīng)用程序都擁有自己的地址空間。所有的VM都接受VMM的統(tǒng)一調(diào)度管理,雖然VMM本身不是一VM,但卻充當(dāng)著激活VMs和VxDs的主要管理員(例如,VMM要處理在運(yùn)行VMs時(shí)的搶占時(shí)間片工作)。VMM是操作系統(tǒng)的核心,VMM提供單線程、搶先多任務(wù)處理。它是一個(gè)32位保護(hù)模式操作系統(tǒng),它的主要任務(wù)是產(chǎn)生、運(yùn)行、控制和終止虛擬機(jī)VMs,它讓多個(gè)VMs共享CPU的時(shí)間以使多應(yīng)用能同時(shí)運(yùn)行,其實(shí)VMM本身即是一些VxDs的集合,VMM不可重入。

    VxDs在很大程序上支持Windows 3.X和Windows 9X,可以將它看作是運(yùn)行在系統(tǒng)特權(quán)級(jí)上的特殊的DLL,VxDs可直接操縱系統(tǒng)的硬件資源,甚至可以虛擬根本不存在的硬件,Windows利用虛擬設(shè)備來管理軟件及硬件設(shè)備以確保應(yīng)用程序不互相干擾。大多數(shù)虛擬設(shè)備用來管理硬件設(shè)備,有些虛擬設(shè)備也提供軟件服務(wù),而不對(duì)應(yīng)于具體的硬件設(shè)備。如1999年初猖狂蔓延的CIH病毒,之所以能破壞硬件資源(通過攻擊主板的Flash Memory,達(dá)到破壞硬件的目的),正是因?yàn)樗昧薞xD技術(shù),運(yùn)行在系統(tǒng)Ring 0級(jí)。

    在Win3.X中VxDs是靜態(tài)裝載的,也就是說,當(dāng)Windows啟動(dòng)時(shí)要裝載所有要用的VxDs,它們將在Windows執(zhí)行生命期間一直處于活動(dòng)狀態(tài),Win9X(以及Windows for workgroups 3.11)在支持靜態(tài)VxDs的同時(shí)允許動(dòng)態(tài)裝載卸下VxDs。當(dāng)一應(yīng)用程序用CloseHandle()函數(shù)存取一VxD時(shí),系統(tǒng)會(huì)跟蹤每個(gè)VxD打開了多少句柄。當(dāng)應(yīng)用程序終止時(shí),它要調(diào)用函數(shù)CloseHandle()釋放這個(gè)VxD所打開的句柄。當(dāng)應(yīng)用程序終止時(shí),它要調(diào)用函數(shù)CloseHandle()釋放這個(gè)VxD的句柄,這樣即在需要時(shí)加載相應(yīng)的VxD、用完后卸下,提高了系統(tǒng)資源的利用率。當(dāng)然在進(jìn)程消亡時(shí),與其相聯(lián)的句柄會(huì)被自動(dòng)釋放。

    VxD處理硬件設(shè)備時(shí)一個(gè)經(jīng)常用到的硬件資源就是硬件中斷,VxD處理硬件中斷時(shí),虛擬設(shè)備很少直接截取中斷,而是依賴虛擬可編程中斷控制器(VPICD),VPICD實(shí)現(xiàn)了物理可編程中斷控制器(PPIC)的虛擬化,VPICD發(fā)送硬件中斷信號(hào)給其他虛擬設(shè)備,并向虛擬設(shè)備提供請(qǐng)求中斷、模仿硬件中斷等服務(wù)。

    2 VxD設(shè)計(jì)開發(fā)

    2.1 開發(fā)工具

    開發(fā)VxD需要專門的開發(fā)工具,目前應(yīng)用廣泛的工具主要有兩大類,一類是Microsoft提供的對(duì)應(yīng)于不同版本的Windows的DDK(Device Driver Kit),其中包含了開發(fā)VxD所需的各種類庫及匯編工具等。由于用DDK開發(fā)VxD大多使用匯編語言,所以開發(fā)起來相對(duì)比較困難。另一類是Vireo Software提供的Vtoolsd,VtoolsD開發(fā)包提供了對(duì)VxD編程的全線C++類庫支持,利用VtoolsD中的Quick VxD工具可以快速生成VxD的代碼框架,開發(fā)者可以在此基礎(chǔ)上根據(jù)各自的需要添加自己的代碼,使用VtoolsD可以不需要DDK。比較而言,使用VtoolsD要比使用DDK簡(jiǎn)單、快捷。另外,由于VxD運(yùn)行在Ring()級(jí),開發(fā)VxD

相關(guān)IC型號(hào)

熱門點(diǎn)擊

 

推薦技術(shù)資料

耳機(jī)的焊接
    整機(jī)電路簡(jiǎn)單,用洞洞板搭線比較方便。EM8621實(shí)際采... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13751165337  13692101218
粵ICP備09112631號(hào)-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!