跳至內容

Windows NT

出自轻之舟百科
NT內核
中文名 NT內核
英文名 NT Kernel / Windows NT Kernel
開發者 微軟(Microsoft)
首次發布 1993年7月(Windows NT 3.1)
作業系統 Windows NT系列
內核類型 混合內核(Hybrid Kernel)
核心文件 ntoskrnl.exe

NT內核(全稱:Windows NT內核,英語:Windows NT Kernel)是微軟公司Windows NT系列作業系統的核心組件,採用混合內核(Hybrid Kernel)架構設計。該內核最初於1989年啟動開發,旨在構建一個真正的32位、搶占式、可重入、支持虛擬內存且具備跨硬體平台能力的作業系統核心[1]。NT內核負責線程調度、中斷與異常分派、多處理器同步等底層機制,並與硬體抽象層(HAL)及執行體(Executive)共同構成Windows NT的核心態基礎[2]

概述

架構定位

NT內核是Windows NT作業系統家族的基礎層,其設計目標包括可移植性、可靠性、向後兼容性與可擴展性[1]。內核代碼主要以C語言編寫,關鍵部分使用彙編語言實現,以便直接操作處理器寄存器與專用指令[3]。作為混合內核,NT內核兼具微內核宏內核的特點:核心層僅提供最基本的調度與同步機制,而大量系統服務(如內存管理、I/O管理)運行於核心態的執行體中,從而兼顧了模塊化與性能[2]

核心功能

NT內核的核心功能包括線程調度與分派、陷阱(Trap)處理、異常分派、中斷處理與分派,以及多處理器同步[1]。此外,內核還負責在系統啟動時初始化必要的設備驅動程序,以確保作業系統能夠正常加載[2]。內核提供兩類基礎對象:控制對象(Control Objects,如APC對象、DPC對象、中斷對象)與調度對象(Dispatcher Objects,如線程、互斥體、事件、信號量、定時器),供執行體構建更高層對象使用<[1]

體系結構

用戶態與核心態

Windows NT體系結構分為用戶態(User Mode)與核心態(Kernel Mode)兩層。用戶態程序僅能訪問受限制的系統資源,而核心態組件擁有對系統內存與外部設備的完全訪問權限<[2]。用戶態包含環境子系統(Environment Subsystem,負責運行各類應用程式)與集成子系統(Integral Subsystem,執行系統相關函數);核心態則由內核、執行體、硬體抽象層及核心態驅動程序組成<[4]

內核層

內核層位於硬體抽象層與執行體之間,是NT內核中最底層的組件,實現了傳統微內核理念下的核心機制<[4]。它提供多處理器同步、線程與中斷調度、自陷處理、異常分派等功能,並始終運行於核心態,其代碼不會被分頁換出內存,執行也不會被其他線程搶占<[1]

執行體

執行體(Executive)位於內核之上,是NTOSKRNL.EXE的上層部分,提供內存管理、進程與線程管理、安全引用監視、I/O系統、緩存管理等基礎作業系統服務[1]。執行體通過對象管理器創建和管理Windows NT執行對象,並通過本地過程調用(LPC)機制實現同一計算機上客戶端進程與伺服器進程之間的通信[1]

硬體抽象層

硬體抽象層(Hardware Abstraction Layer,HAL)是隔離內核、設備驅動程序與執行體免受平台特定硬體差異影響的代碼層<[1]。HAL使得同一套作業系統代碼能夠在不同硬體架構(如x86MIPSDEC AlphaPowerPCx86-64ARM)上運行,從而實現了Windows NT的可移植性目標[4]

技術特性

搶占式多任務

NT內核採用完全搶占式多任務機制,能夠中斷正在運行的任務以調度其他任務,無需依賴用戶程序自願放棄CPU控制權[4]。這一特性保證了系統對高優先級線程的及時響應,提升了整體系統的穩定性與實時性。

多處理器支持

NT內核自設計之初即支持對稱多處理(SMP)架構,能夠高效調度線程運行於多個處理器之上[1]。隨著Windows版本演進,NT內核對處理器數量的支持不斷增加,從Windows 2000 Datacenter Server支持32路SMP,到後續版本支持更多核心與更複雜的NUMA架構[4]

可移植性

NT內核通過硬體抽象層與內核接口的抽象設計,實現了跨硬體平台的可移植性。系統僅需為不同平台提供對應的HAL,即可將同一套核心代碼部署到多種處理器架構上[1]。此外,NT內核原生支持Unicode,便於適應全球不同語言市場[1]

版本演進

NT內核隨Windows NT系列作業系統不斷演進。Windows NT 3.1至3.51採用NT 3.x內核架構;Windows NT 4.0將圖形設備接口(GDI)移入核心態以提升性能;Windows 2000(NT 5.0)引入即插即用管理器與電源管理器;Windows XP及後續版本持續擴展內核功能,支持64位運算與新一代硬體架構[4]。從Windows 10開始,系統內核版本由NT 6.4升級為NT 10.0,標誌著內核架構進入新的發展階段[4]

參考文獻