《WDM驅(qū)動程序簡介》PPT課件.ppt
《《WDM驅(qū)動程序簡介》PPT課件.ppt》由會員分享,可在線閱讀,更多相關(guān)《《WDM驅(qū)動程序簡介》PPT課件.ppt(13頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
設(shè)備驅(qū)動程序設(shè)計(jì) WDM驅(qū)動程序簡介 第二講 WindowsXP驅(qū)動程序分類 內(nèi)核模式驅(qū)動程序的屬性 可移植性 源代碼級可移植可配置性 避免對硬件特征和系統(tǒng)設(shè)置作絕對假設(shè) 避免在代碼中直接引用硬件可搶先性和可中斷性多處理器安全基于對象數(shù)據(jù)包驅(qū)動異步 WindowsXP系統(tǒng)結(jié)構(gòu) WDM驅(qū)動程序模型 WDM模型主要包含以下內(nèi)容 1 描述了設(shè)備驅(qū)動程序的標(biāo)準(zhǔn)結(jié)構(gòu)和應(yīng)該完成的主要功能 2 描述了操作系統(tǒng)為設(shè)備驅(qū)動提供的各種服務(wù) 以及操作系統(tǒng)與設(shè)備驅(qū)動程序之間詳細(xì)的交互過程3 為常見類型的設(shè)備提供一系列的總線驅(qū)動程序和類驅(qū)動程序 WDM驅(qū)動程序的分類 功能驅(qū)動 每個(gè)WDM驅(qū)動都包含功能驅(qū)動 它了解使硬件工作的所有細(xì)節(jié) 負(fù)責(zé)具體I O過程 負(fù)責(zé)處理中斷事件 為用戶提供一種設(shè)備適合的控制方式 總線驅(qū)動 查找并發(fā)現(xiàn)硬件設(shè)備 確定設(shè)備的資源使用情況 管理硬件與計(jì)算機(jī)的實(shí)際連接 負(fù)責(zé)物理的I O過程過濾器驅(qū)動 對功能驅(qū)動程序執(zhí)行I O操作時(shí)進(jìn)行過濾和監(jiān)視 修改現(xiàn)有功能驅(qū)動程序的行為 為用戶提供額外服務(wù)類驅(qū)動 實(shí)現(xiàn)某種設(shè)備類型的共通功能 管理整個(gè)設(shè)備類的基本特征 規(guī)范該類設(shè)備與操作系統(tǒng)中其它軟件環(huán)境的接口 采用類驅(qū)動有利于分層和功能重用 迷你驅(qū)動 包含在類驅(qū)動中 用于管理設(shè)備實(shí)例的廠商專有特征例程 類驅(qū)動和迷你驅(qū)動合在一起才構(gòu)成一個(gè)完整的功能驅(qū)動程序 WDM驅(qū)動的層次結(jié)構(gòu) 驅(qū)動程序如何工作 驅(qū)動程序是一個(gè)收集讓操作系統(tǒng)調(diào)用的用來執(zhí)行各種涉及到硬件操作的子程序的容器 一些例程 如DriverEntry和AddDevice例程和一些特定的I O請求包 IRP 的處理函數(shù)會出現(xiàn)在每個(gè)這樣的容器中 需要排隊(duì)請求的驅(qū)動程序可能還有一個(gè)StartIo例程 而執(zhí)行直接存儲器存取 DMA 操作的驅(qū)動程序會有一個(gè)AdapterControl例程 產(chǎn)生硬件中斷的驅(qū)動程序也會有一個(gè)中斷服務(wù)例程 ISR 和一個(gè)延遲過程調(diào)用 DPC 例程 sys和exe 像EXE程序一樣 驅(qū)動程序也是可執(zhí)行文件 其擴(kuò)展名為 SYS在結(jié)構(gòu)上嚴(yán)格地說驅(qū)動程序和任何32位的Windows或者控制臺的應(yīng)用程序沒什么區(qū)別 和EXE程序一樣 一個(gè)驅(qū)動程序也需要許多輔助程序 許多也都是動態(tài)鏈接自操作系統(tǒng)內(nèi)核或來自一組驅(qū)動或者其他的支持庫 但是驅(qū)動程序沒有主程序 取而代之的是其包含了一批系統(tǒng)可以在適當(dāng)?shù)臅r(shí)候調(diào)用的子程序集 驅(qū)動程序除了其自己的硬件外不關(guān)心任何別的事情 系統(tǒng)管理了其他的任何事務(wù) 包括決定在何時(shí)運(yùn)行你的驅(qū)動程序代碼 操作系統(tǒng)與驅(qū)動的交互過程 系統(tǒng)運(yùn)行時(shí)設(shè)備插入或者系統(tǒng)重新啟動發(fā)現(xiàn)了某個(gè)設(shè)備 系統(tǒng)就會裝載可執(zhí)行的驅(qū)動程序到內(nèi)存中 并且調(diào)用其DriverEntry例程 DriveEntry做了一些初始化操作之后返回 即插即用管理器 PnPManager 調(diào)用AddDevice例程 讓其做一些與設(shè)備實(shí)例相關(guān)的初始化操作之后返回 即插即用管理器發(fā)送給驅(qū)動程序一些IRP 相應(yīng)的IRP處理函數(shù)處理完該IRP之后返回 一個(gè)應(yīng)用程序打開了設(shè)備 因此系統(tǒng)發(fā)送給驅(qū)動另一個(gè)IRP 處理函數(shù)進(jìn)行了少量的操作之后返回 操作系統(tǒng)與驅(qū)動的交互過程 應(yīng)用程序嘗試讀取或者寫入一些數(shù)據(jù) 因此系統(tǒng)發(fā)送一個(gè)IRP 處理例程將IRP放入一個(gè)隊(duì)列之后返回 某些I O操作引發(fā)設(shè)備中斷 中斷服務(wù)例程做一些很少的操作 然后請求一個(gè)DPC 之后返回 DPC例程運(yùn)行了 它可能要讀回?cái)?shù)據(jù) 或者繼續(xù)下一次的寫操作等 然后開始下一個(gè)排在隊(duì)列中的IRP 之后DPC例程返回系統(tǒng) 隨著時(shí)間變化 在這期間系統(tǒng)會發(fā)送各種IRP給驅(qū)動程序 驅(qū)動程序進(jìn)行相應(yīng)的處理 最后 用戶拔出設(shè)備或者關(guān)閉系統(tǒng) 這時(shí) 系統(tǒng)發(fā)送一些IRP 分發(fā)例程做好相應(yīng)的處理 然后返回 系統(tǒng)把驅(qū)動程序代碼移出內(nèi)存 應(yīng)用程序與驅(qū)動的交互 應(yīng)用程序里面要做的工作首先就是要調(diào)用CreatFile打開設(shè)備 具體操作就像打開一個(gè)文件一樣 應(yīng)用程序準(zhǔn)備好相應(yīng)的數(shù)據(jù)或者緩沖區(qū)等 調(diào)用相應(yīng)的WIN32API如WriteFile ReadFile DeviceIoControl等 對設(shè)備進(jìn)行讀寫等各種操作 最后應(yīng)用程序關(guān)閉設(shè)備 具體操作就像關(guān)閉一個(gè)文件一樣- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- WDM驅(qū)動程序簡介 WDM 驅(qū)動程序 簡介 PPT 課件
鏈接地址:http://www.szxfmmzy.com/p-6748626.html