彩票娱乐平台|彩票强强
當前位置:文檔之家 > 關于Windows系統下硬件IO的若干問題

關于Windows系統下硬件IO的若干問題

關于Windows系統下硬件I/O的若干問題

摘要:Windows操作系統屏蔽了系統硬件資源的訪問權,設計專用的設備驅動程序成為系統設計者必須承擔的工作。從計算機系統硬件資源訪問的角度討論了Windows下各種硬件資源訪問方式的關鍵與具體實現,同時給出了具體的DDK代碼示例。

關鍵詞:內存,端口,驅動,內存直接訪問

Issues of accessing the device resources in Windows system Abstract:The engineers must undertake the tasks of programming windows drivers to access the hardware resources of the system for the rights to access hardware which are restricted by windows. The keys and the realization to access hardware are discussed from the point of view of system hardware access. The particular DDK codes are offered to show the way to access devices’ resources.

Key words:memory, port, driver, DMA

在以Windows操作系統為代表的視窗系統統治計算機平臺的今天,必須通過設備驅動程序實現對硬件設備資源(I/O端口、設備內存、DMA通道)的訪問與控制。系統開發商出于穩定性的要求將驅動程序架構定義的非常完備(DDK就是最典型的代表),使驅動程序的設計難度大大增加。第三方驅動程序開發工具(Driverstudio、Windriver等)將驅動程序架構進行了二次封裝,驅動程序開發難度與工作量大幅降低,但二次封裝帶來的弊端是代碼開放度下降,驅動程序的執行效率打折,當設備性能要求較高時還需求助于DDK。因此本文將就硬件設備資源訪問的各種方式進行全面的解析。

1 驅動系統基本架構

1.1 Windows系統架構

在DOS時代,計算機系統工作在實模式下,應用程序可以直接面對硬件資源;但另一方面應用程序不加限制的運行使由于應用程序的錯誤操作造成系統崩潰(輕則系統突然復位,重則系統無法啟動)的機會增大。

Windows操作系統對于系統的全面管理是自始至終的,應用程序的一切行為都在操作系統的監控之下,因此系統的穩定性得到了根本的提升,這一點在Windows NT系統問世后體現的尤為明顯。

圖1是Windows系統組成結構示意圖。可以清楚看出windows操作系統的層次結構[1],真正的系統硬件處于系統結構的最底層,而且硬件平臺的差異被HAL(硬件抽象層)所屏蔽,內核模式的各種組件通過HAL訪問硬件。應用程序必須通過系
統API接口把對于硬件的訪問請求打包,通過I/O管理器傳遞給設備驅動程序,而所謂設備驅動程序就是處在ring0的專門管理某個底層設備的一段代碼,它不會獨立地存在,而是操作系統的一部分。通過設備驅動程序,多個進程可以同時使用這些資源,實現多進程并行運行。

圖1是Windows系統組成結構示意圖。可以清楚看出windows操作系統的層次結構[1],真正的系統硬件處于系統結構的最底層,而且硬件平臺的差異被HAL(硬件抽象層)所屏蔽,內核模式的各種組件通過HAL訪問硬件。應用程序必須通過系統API接口把對于硬件的訪問請求打包,通過I/O管理器傳遞給設備驅動程序,而所謂設備驅動程序就是處在ring0的專門管理某個底層設備的一段代碼,它不會獨立地存在,而是操作系統的一部分。通過設備驅動程序,多個進程可以同時使用這些資源,實現多進程并行運行。

關于Windows系統下硬件IO的若干問題

圖1 Windows系統組成結構

1.2驅動程序架構

通常驅動開發環境最終生成的擴展名為sys

的所謂驅動程序實際也是一種動態鏈接庫,扮演著驅動例程的容器的角色,而這些例程則是完成管理硬件設備的必要例程。驅動程序中的各個例程就類似動態鏈接庫中的導出函數,不同的是DLL中的導出函數被應用程序調用,而驅動程序中的例程是則是直接由系統調用。操作系統是通過一塊被稱作驅動對象的物理內存實現直接調用驅動例程。表1[2]羅列了KMD與WDM驅動對象的結構成員,灰色為

注冊表

IN F文

下載Word文檔免費下載:

關于Windows系統下硬件IO的若干問題下載

(共6頁)

關于Windows系統下硬件IO的若干問題

關于Windows系統下硬件IO的若干問題 - Windows DDK驅動編程的相關內容,設計內存映射、端口訪問、DMA操作等

-IO系統概述IO軟件的結構WindowsIO系統的結構Windows_圖文

-IO系統概述IO軟件的結構WindowsIO系統的結構Windows_電腦基礎知識_IT/計算機_...– 根據用戶的配置或者系統中硬件設備的添加和刪除,允許在系統 中動態地添加或...

操作系統IO硬件管理_圖文

操作系統IO硬件管理_計算機硬件及網絡_IT/計算機_...37 37 ? Windows中的CreateFile()函數 創建或打開...它可以將若干個物理扇區合并成一 個邏輯塊,這樣,...

Windows操作系統-IO系統_圖文

Windows操作系統-IO系統_電腦基礎知識_IT/計算機_...根據用戶的配置或者系統中硬件設備的添加和刪除,允許...

Windows IO處理流程淺析(IRP)

Windows IO處理流程淺析(IRP)_IT/計算機_專業資料。線程簡析 Windows I/O 處理...Windows 在系統核心中,對設備進行了數層封裝:直接構建在設備上的 是硬件抽象層...

虛擬化環境下Windows IO性能調優

UCLoud 中國云三強: 虛擬化環境下 Windows IO 性能調優隨著云...2.Windows 文件系統/Block 層的問題? 原生 Windows 系統在確認后并沒有做任何...

Windows中監視IO性能

Windows中監視IO性能_IT/計算機_專業資料。windows 下如何查看磁盤 IO 性能 2011...直接研究一個單獨的磁盤的性能問題,藉此了 解各個衡量 IO 系統系能的各個指標...

關于 由于IO設備錯誤,無法運行此項請求 的小竅門

對于硬件上一般丌會出現這樣癿報錯情冴,如果有癿話...推薦軟件:金山衛士、360 安全衛士、Windows 清理助手...VxWorks操作系統下IO設備... 3頁 3下載券 喜歡...

操作系統復習題含答案

操作系統是管理計算機硬件資源, 控制其他程序運行并為...(1)J1 占用 IO2 傳輸 30ms 時,J1 傳輸完成,...一種供 MS-DOS 及其它 Windows 操作系統對文件進行...

ch5-5.9windowsIO系統和5.8Linux設備管理_圖文

ch5-5.9windowsIO系統和5.8Linux設備管理_工學_高等教育_教育專區。《操作系統...硬件抽象層HAL 一個典型的I/O請求流程用戶模式 API I/O系統服務 API(NtXXX)...

彩票娱乐平台