做爲最流行的的桌面操做系統,Windows系統的發展在經歷數次硬件革命以後,其系統架構也基本穩定,微軟號稱Windows 10是最後一代操做系統,並統一了Windows各版本的底層架構。緩存
Windows系統是分層的架構,主要分爲內核態和用戶態,內核態自下而上分爲硬件抽象層(HAL)->內核和驅動層->執行體,以及窗口管理系統。用戶態主要是NTDLL抽象層,以及各類進程,如:底層的系統支持進程->服務進程->用戶應用程序,如圖所示:sass
Ntdll.dll是一個特殊系統支持庫,主要用於子系統dll,主要包含兩種類型函數:安全
環境子系統就是針對Windows不一樣版本(如:Windows 7 旗艦版,Windows Server2008 R2這種)上的運行環境。每一個exe可執行映像,未必可在全部版本Windows系統上運行。VC++中link命令的/SUBSYSTEM修飾符能夠指定該exe映像的可執行環境(如:dll集)。服務器
環境子系統進程Csrss.exe(Client/Server Run-Time Subsystem)就是客戶機/服務器運行時子系統,子系統是會話管理器(Smss.exe)進程起來的。網絡
Windows執行體是Ntoskrnl.exe的上層(其下層是內核),主要包含如下組件:架構
內核是Ntoskrnl.exe的下層,主要包括:框架
設備驅動程序運行在內核模式下,主要爲發起I/O請求的用戶線程中,設備驅動程序主要分爲如下幾種:ide
硬件抽象層是的Windows能夠被移植到各類硬件平臺,它是一個可加載的內核模塊,針對不一樣的硬件平臺,提供了統一的服務接口。函數