Windows驅動程式基礎(三)Windows系統基礎

來源:互聯網
上載者:User

標籤:驅動開發   作業系統   

Windows驅動程式基礎系列,轉載請標明出處:http://blog.csdn.net/ikerpeng/article/details/38778375


Windows運行模式:使用者模式和核心模式

      Windows從總體上來說分為:核心模式和使用者模式,Intel的i386系列CPU邏輯概念上有4個特權層:Ring0(特權最高),Ring1,Ring2,Ring3. 核心模式則運行在Ring0上面,使用者模式就運行在Ring3上。

     運行在核心模式下面的Windows組件是安全的(驅動程式就是運行在此),不會受到惡意的攻擊;而運行在使用者模式下的程式是不安全而且容易受到攻擊的。

     驅動程式運行在核心模式下面,擁有最高的許可權。因此沒有任何的其他的保護措施,所以編寫驅動程式要格外的小心,很可能直接導致系統的崩潰。


Windows作業系統的架構:

現代的作業系統都是基於分層的思路設計的。一般都是“用戶端——伺服器”的結構。


                                 

                                              Windows架構簡圖(iker製作)

    Win32子系統是最純正的Windows子系統,提供大量的API。應用程式都是通過對它的調用實現對電腦的操作的。而大部分麼的Win32子系統的API都是通過NativeAPI實現的。設定NativeAPI的是基於版本相容的考慮。它通過軟體中斷的方式進入到核心模式。


下面說一下幾個重要的概念:


虛擬記憶體管理:Windows中引入虛擬記憶體的概念,然後通過某種映射將實體記憶體和虛擬記憶體關聯起來。每個進程擁有4G的虛擬記憶體,然後又被分為兩部分:前半部分,0~0X7FFFFFFF規定為使用者模式地址;後半部分規定為核心模式地址。另外,Windows規定記憶體模式下虛擬記憶體的映射方式一樣,頂端的核心模式地址的資料一致。

I/O管理器:    負責發起I/O請求,並且管理這些請求。無論是連接埠的讀寫,對鍵盤的訪問,還是對磁碟檔案的操作都統一為IRP(I/O Request Packages)。而驅動程式負責完成這些IRP。


驅動程式就是在接收這些IRP請求後,進行相應的操作。


本小節完。


參考書目:


《 Windows 驅動開發技術詳解 》


Windows驅動程式基礎(三)Windows系統基礎

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.