Windows系統整體架構

做爲最流行的的桌面操做系統,Windows系統的發展在經歷數次硬件革命以後,其系統架構也基本穩定,微軟號稱Windows 10是最後一代操做系統,並統一了Windows各版本的底層架構。緩存

    Windows系統是分層的架構,主要分爲內核態和用戶態,內核態自下而上分爲硬件抽象層(HAL)->內核和驅動層->執行體,以及窗口管理系統。用戶態主要是NTDLL抽象層,以及各類進程,如:底層的系統支持進程->服務進程->用戶應用程序,如圖所示:
Windows系統整體架構sass

Ntdll.dll

    Ntdll.dll是一個特殊系統支持庫,主要用於子系統dll,主要包含兩種類型函數:安全

  • 系統服務分發存根,調用Windows執行體系統服務
  • 內部支持函數,供子系統,子系統dll,以及exe映像文件使用
    Ntdll.dll裏面提供的函數大多未文檔化,並以Nt開頭命名。

環境子系統

    環境子系統就是針對Windows不一樣版本(如:Windows 7 旗艦版,Windows Server2008 R2這種)上的運行環境。每一個exe可執行映像,未必可在全部版本Windows系統上運行。VC++中link命令的/SUBSYSTEM修飾符能夠指定該exe映像的可執行環境(如:dll集)。服務器

    環境子系統進程Csrss.exe(Client/Server Run-Time Subsystem)就是客戶機/服務器運行時子系統,子系統是會話管理器(Smss.exe)進程起來的。網絡

系統進程

  • Idle進程(特殊進程,實際上是CPU空閒時間)
  • System進程(特殊進程,包含大多數內核模式系統進程)
  • 會話管理器(Smss.exe)
  • 本地會話管理器(Lsm.exe)
  • 會話0初始化(Wininit.exe)
  • 登陸進程(Winlogon.exe)
  • 服務控制管理器(Services.exe)
  • 本地安全認證服務器(Lsass.exe)

Windows執行體

    Windows執行體是Ntoskrnl.exe的上層(其下層是內核),主要包含如下組件:架構

  • 配置管理器
  • 進程管理器
  • 安全引用監視器
  • I/O管理器
  • 即插即用(Pnp)管理器
  • 電源管理器
  • Windows驅動程序模型
  • 緩存管理器
  • 內存管理器
  • 對象管理器

內核

    內核是Ntoskrnl.exe的下層,主要包括:框架

  • 內核對象
  • 內核處理器控制區和控制塊
    此處較爲複雜,後面還有專門文章講解

設備驅動程序

    設備驅動程序運行在內核模式下,主要爲發起I/O請求的用戶線程中,設備驅動程序主要分爲如下幾種:ide

  • 硬件設備驅動
  • 文件系統驅動
  • 文件系統過濾驅動
  • 其餘:(網絡重定向,協議驅動,內核流失過濾驅動)
    驅動程序框架:
  • 早期的WDM,對應DDK開發工具包
  • 基於WDM封裝的WDF框架,對應WDK開發工具包

硬件抽象層(HAL)

    硬件抽象層是的Windows能夠被移植到各類硬件平臺,它是一個可加載的內核模塊,針對不一樣的硬件平臺,提供了統一的服務接口。函數

相關文章
相關標籤/搜索