久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7099|回復: 0
收起左側

從驅動編寫角度看Windows 系統的層次架構

[復制鏈接]
ID:90014 發表于 2015-9-13 16:50 | 顯示全部樓層 |閱讀模式

Windows 的基本驅動架構
這里是一個基本的Windows 系統的架構,和一般對操作系統的架構的介紹稍微有點不同的是,對于系統底層做了分解。在硬件抽象層(HAL)上的系統核心處,標示了幾個核心構件,如文件系統驅動,可輸出的驅動例程及核心態的驅動(KMD)。而用戶態的驅動程序則劃分在應用程序層面。并不是所有的驅動程序都屬于系統核心層,這樣就可以降低核心崩潰的風險。

用戶態驅動和普通的應用程序一樣,以普通權限運行,只能通過Windows API進入與底層硬件打交道。而核心態的驅動則是操作系統構成的一部分,系統對其數據不做完整性檢查,則可能會導致系統崩潰。并且處于核心態的驅動程序難于調試。
以Xp系統中的打印機驅動程序為例,分為用戶界面部分和設備渲染部分。用戶界面部分如選擇紙張大小,設置是否雙面打印等,都是調用一般的Windows API,和普通應用程序一樣工作。而對于實際打印機控制的設備渲染部分,則處于核心態工作。用戶界面部分通過系統調用的形式對其進行控制(DeviceIoControl?),從而完成打印工作。
注:對于Vista以后的系統,渲染部分也在用戶態工作。

驅動的層次結構:



  • 應用程序處于驅動棧的頂層,處理用戶和其他應用程序的請求,并且調用Win32 API或者用戶態驅動客戶端所暴露的例程。
  • 用戶態客戶端驅動處理來自應用程序或Win32API的請求。對于需要核心態才能完成的服務,則調用Win32API,通過核心態驅動或支持例程完成該請求。這個驅動通常通過DLL方式實現。打印機驅動通常由很多操作是需要用戶態工作,所以會工作于用戶態。而存儲設備,網絡和輸入設備則不需要這樣。
  • 核心態的客戶端驅動完成的工作與用戶態類似,只是完成無法在用戶態完成的操作。
  • 設備類和迷你類驅動對提供設備支持的批量傳輸。類驅動提供特定類的設備中系統所需的并且與硬件獨立的支持。一般也是有MS提供。迷你驅動提供特定類中特定設備的操作。如電池類驅動提供了所有電池的通用操作,而一個UPS設備的迷你類驅動則處理這個設備的特殊操作。一般由硬件供應商提供。
  • 對應于端口驅動 (對于一些設備,是宿主控制器或宿主適配器驅動) 支持下層端口,集線器,或所連接的物理設備的I/O操作。是否具有此類驅動,取決于設備類型以及它連接的總線類型。 存儲設備的全部驅動棧都有一個端口驅動。例如,SCSI端口驅動提供SCSI總線上的I/O。
    對于 USB 設備,集線器和宿主控制器的驅動共同完成端口驅動工作。它們處理USB設備以及總線自己的I/O操作。
    相應的微端口驅動處理與設備相關的操作。對于大部分端口,端口驅動由操作系統提供,而微端口驅動則由設備供應商提供。
  • 最底部是硬件總線驅動。是操作系統的基本部分,由微軟提供,一般不需修改。

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品www久久久久久广东 | 美女黄色在线观看 | 精品久久一区二区 | 亚洲一区二区免费视频 | 国产精品午夜视频 | 在线va| 一级黄色片在线观看 | xxxx色| 亚洲精品一级 | 欧美精品在线观看 | 久艹在线观看 | 日韩一区二区三区四区 | 黄色高潮视频 | 国产精品久久久久久中文字 | 日韩欧美黄色 | 精品成人av | 日韩一区二区三免费高清在线观看 | 日韩一区二区三 | 黄色一级片网站 | 亚洲天堂一区二区 | 黑人精品一区二区 | 欧美理论片在线观看 | 亚州av在线| 日本激情网站 | 亚洲黄色精品 | 在线免费毛片 | 欧美大片18 | 国产精品原创 | 91黄色片| 亚洲国产精品久久 | 免费在线观看www | 黄色福利视频 | 最新中文字幕在线观看 | 日韩色黄大片 | 成人看片网 | www.少妇 | 国产69精品久久久久久 | 韩国精品一区 | 国产成人三级一区二区在线观看一 | 伊人久久影院 | 黄色片免费网站 |