作為最流行的的桌面操作系統(tǒng),Windows系統(tǒng)的發(fā)展在經(jīng)歷數(shù)次硬件革命之后,其系統(tǒng)架構(gòu)也基本穩(wěn)定,微軟號稱Windows 10是最后一代操作系統(tǒng),并統(tǒng)一了Windows各版本的底層架構(gòu)。
成都創(chuàng)新互聯(lián)是一家專業(yè)提供泊頭企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為泊頭眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
????Windows系統(tǒng)是分層的架構(gòu),主要分為內(nèi)核態(tài)和用戶態(tài),內(nèi)核態(tài)自下而上分為硬件抽象層(HAL)->內(nèi)核和驅(qū)動層->執(zhí)行體,以及窗口管理系統(tǒng)。用戶態(tài)主要是NTDLL抽象層,以及各種進(jìn)程,如:底層的系統(tǒng)支持進(jìn)程->服務(wù)進(jìn)程->用戶應(yīng)用程序,如圖所示:
????Ntdll.dll是一個特殊系統(tǒng)支持庫,主要用于子系統(tǒng)dll,主要包含兩種類型函數(shù):
????環(huán)境子系統(tǒng)就是針對Windows不同版本(如:Windows 7 旗艦版,Windows Server2008 R2這種)上的運行環(huán)境。每個exe可執(zhí)行映像,未必可在所有版本W(wǎng)indows系統(tǒng)上運行。VC++中l(wèi)ink命令的/SUBSYSTEM修飾符可以指定該exe映像的可執(zhí)行環(huán)境(如:dll集)。
????環(huán)境子系統(tǒng)進(jìn)程Csrss.exe(Client/Server Run-Time Subsystem)就是客戶機(jī)/服務(wù)器運行時子系統(tǒng),子系統(tǒng)是會話管理器(Smss.exe)進(jìn)程起來的。
????Windows執(zhí)行體是Ntoskrnl.exe的上層(其下層是內(nèi)核),主要包含以下組件:
????內(nèi)核是Ntoskrnl.exe的下層,主要包括:
????設(shè)備驅(qū)動程序運行在內(nèi)核模式下,主要為發(fā)起I/O請求的用戶線程中,設(shè)備驅(qū)動程序主要分為以下幾種:
????硬件抽象層是的Windows可以被移植到各種硬件平臺,它是一個可加載的內(nèi)核模塊,針對不同的硬件平臺,提供了統(tǒng)一的服務(wù)接口。