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