Windows NT作業系統家族的體系結構，包括核心模式與用戶模式兩層，每層中有多個模組。
**Windows NT體系結構**是指一系列微軟設計及製造，由Windows NT所衍生出的視窗作業系統架構，採用用戶模式與核心模式的分層設計。它是一种是搶佔式和可重入的操作系统，可運行在單處理器或對稱多處理器（SMP）上。並利用I/O請求包和異步I/O來處理所有的I/O請求。微软从Windows XP开始提供64位的Windows版本，之前只有32位版本。

用戶模式下的程式與子系統在它们可以访问的系统资源方面受到限制，而核心模式对系统资源和外部设备的访问不受限制，可以完全访问计算机的硬件和系统资源。Windows NT内核是屬於混合核心；其體系結構包括簡單內核、硬體抽象層（HAL）、驅動程式、服務（總稱為執行體），它们都存在于内核模式中。

构成Windows NT用戶模式的子系统可以透過I/O管理器傳遞I/O請求給核心模式中适当的驅動程式。Windows NT的用戶模式由環境子系統（執行為不同類型作業系統編寫的應用程式）和集成子系統（Integral subsystem，代表環境子系統執行特定系統的功能）组成。内核模式阻止用户模式的服务和应用程序访问它们不应访问的操作系统关键区域。

執行體與所有的用戶模式子系統處理I/O、对象管理、安全和进程管理。位於硬體抽象層與執行體之間的核心提供了多處理器同步、线程、中断调度和分派、故障處理和例外分派的功能。内核還負責在啟動時初始化设备驱动程序。内核模式驱动程序分為三個級別：高層驅動程式、中層驅動程式和低層驅動程式。Windows驅動程式模型（WDM）位於中層，主要設計為在Windows 98與Windows 2000之間實現二進位檔與原始碼相容。最底层的驱动程序要么是直接控制设备的旧版Windows NT设备驱动程序，要么是即插即用硬件总线。

用戶模式
----

Windows NT作業系統的用戶模式部分包括兩個子系統：環境子系統與集成子系統。

環境子系統執行依據不同作業系統API而寫的程式，有三個環境子系統：Win32子系統、OS/2子系統、POSIX子系統。

### Win32環境子系統

Win32環境子系統可執行32位元的Windows應用程式，並為其他環境子系統提供具備純文字介面、關閉以及硬體錯誤(hard error)管理的主控台介面(console)，以及支援讓Windows NT執行MS-DOS與16位元Windows（Win16）程式的Virtual DOS Machine（英语：）(VDMs)，其中有一個VDM擁有專屬的位址空間，專門用來模擬在Intel 80486平台上運行的MS-DOS 5.0環境。Win32環境子系統行程（csrss.exe）還包含了視窗管理員以處理像是由鍵盤或滑鼠觸發的輸入事件(event)，並將事件訊息(message)傳送至等待輸入回應的應用程式，應用程式則根據事件訊息作出相應的動作，例如繪制或刷新其視窗。

### OS/2環境子系統

OS/2環境子系統支援基於文字介面的16位元OS/2應用程式，或虛擬出來的OS/2 1.x。但執行在x86平台上OS/2 2.x及之後的非32位元或圖形化OS/2應用程式則不被支援。若要執行圖形化的OS/2 1.x程式，則需要安裝Windows NT Add-On Subsystem for Presentation Manager。 最後一個具有OS/2子系統的是Windows 2000，從Windows XP開始則不再包含，但可透過在Windows XP上安裝Microsoft Virtual PC 2004取得OS/2程式的執行環境。 

### POSIX環境子系統

条目：微软POSIX子系统
POSIX環境子系統支持嚴格遵照POSIX.1標準及與ISO/IEC相關標準所寫的程式。這一子系統已經被Interix（英语：）替代，屬於Windows Services for UNIX的一部分。 

集成子系統包括安全子系統、工作站服務與伺服器服務。安全子系統處理安全令牌，基於資源許可授予或拒絕用戶帳戶訪問，處理登入請求與初始化登入驗證，以及管理Active Directory。工作站服務提供API給network redirector（英语：）實作遠端網路存取的功能。伺服器服務則提供與網路服務相關的API。

核心模式
----

Windows NT的核心模式能访问所有硬件资源，在保护内存区上执行代码。 控制了调度、线程优先级、内存管理、硬件交互；禁止了用户态的程序与服务访问关键资源，用户态进程必须请求核心态执行这类操作。 

x86硬件体系结构支持四种CPU优先级：0到3。仅有0与3这两种优先级被Windows操作系统使用。用户态程序运行在优先级3，核心态运行在优先级0（特权级别）。也分别称作「ring 3」与「ring 0」。这使得具有了只有2个优先级的RISC平台的可移植性。但是打破了OS/2应用程序包含的I/O特权段的兼容性

核心态的操作系统包含了由许多功能模块组成的执行体服务、内核驱动程序、一个（微）内核及一个硬件抽象层（HAL）。

### 执行体

Windows执行体服务建立于低层核心态程序之上，包含在文件NTOSKRNL.EXE中。 负责处理I/O、对象管理、安全、进程管理，划分为几个子系统, 包括缓存管理、配置管理、I/O管理、本地过程调用（LPC）、内存管理、对象管理、进程结构与安全引用监视（SRM）。这些子系统一起构成了执行体服务。系统服务，即系统调用也是在这一级别上实现，除了极少特例为了高性能而直接调用了内核层。 

上下文中的术语「service」是指可调用的例程，或一整套可调用的例程。这不同于「服务进程」（service process）。服务进程是用户态下的程序，类似于类Unix系统的守护进程。

对象管理器
对象管理器是一个执行体的子系统，所有其他的执行体子系统，特别是系统调用必须通过它来获得对Windows NT资源的访问，这使得对象管理器成为资源管理的基础设施。 对象管理器用来避免在其他子系统中管理资源带来的冗余与不安全。 在对象管理器视角，每个资源都是一个对象，不论是物理资源（如文件系统或外设），还是逻辑资源（如一个互斥锁）。
缓存控制器
Windows Cache Manager与内存控制器、I/O控制器、I/O驱动一起为正常的文件I/O提供缓存。这种文件缓存是针对文件块，对本地文件与远程文件提供了一致的服务。实际上这是特殊的文件内存映射。
配置管理器
实现了Windows注册表所需的系统调用。
I/O管理器
允许用户态程序与设备的通信。I/O管理器把用户态程序的读写请求翻译给硬件。例如，I/O管理器接收文件系统I/O请求，翻译为对相关设备的调用，与低层设备驱动程序合作执行硬件读写操作。还包括了I/O操作的cache管理。
本地过程调用（LPC）
提供了一种进程间通信端口机制。是Microsoft RPC（英语：）的基础。
内存管理
管理虚拟内存, 控制内存保护，以及物理内存与二级存储之间的分页调度, 以及物理内存的分配。还能分析PE格式可执行程序，以便映射入或卸载这些程序。
进程结构
处理进程与线程的创建与终止，实现了作业概念（从Windows 2000开始）。
即插即用管理器
处理即插即用，支持在启动时的设备检测与安装，按需停止或启动一个设备。它的大部分实际上是在用户态的 「Plug and Play」服務中实现。
电源管理
处理电源事件（关机、睡眠stand-by、休眠等），通知受影响的驱动程序。
安全引用监视（SRM）
强制实行安全规则的子系统。 通过访问控制表（ACLs）确定一个对象或资源可以被访问。访问控制表由访问控制条目(ACEs)组成。ACE包含了安全标识符（SID）与授予的操作列表，使得用户帐户、用户组账号、登录会话具有对资源的允许、不允许、审核（audit）等权限.
GDI
图形设备接口是负责画线、字体绘制、处理调色板等。在Windows NT 3.x系列操作系统，GDI属于用户态。从Windows NT 4.0，GDI移入了核心态，以提高图形性能。

### 內核

内核（kernel）在HAL与执行体之间，实际上是"微内核"的理念下设计实现出来的。负责多处理器同步，线程与中断的调度与分派，自陷处理，异常分派，在启动时初始化设备驱动程序等。 

### 核心模式驱动

Windows NT使用核心态的设备驱动程序与硬件交互。用户态下的程序看到的设备都是I/O管理器下的文件对象；而I/O管理器自身看到的设备是设备对象。核心态驱动程序分为3个层次： 最高层驱动程序，中层驱动程序，低层驱动程序。最高层驱动程序，如FAT或NTFS的文件系统驱动程序，依赖于中层驱动程序。中层驱动程序由功能驱动（function driver）组成。功能驱动依赖于总线驱动，即服务于总线控制器、适配器（adapter）、桥（bridge）的驱动。Windows Driver Model (WDM)存在于中层。低层驱动直接控制硬件，不依赖于任何其他驱动程序。 

### 硬件抽象层（HAL）

硬件抽象是一套软件子程序（routine），模拟了特定平台有关细节，使得程序不必直接访问硬件资源。因而可以写独立于设备的、高性能代码，通过操作系统访问硬件。 例如，编译器屏蔽了CPU指令集的细节，应用程序作者无需考虑与CPU相关的指令。操作系统的硬件抽象使得程序只需调用操作系统级的操作，而屏蔽了硬件具体细节，使得程序具有了可移植性。 

操作系统的硬件抽象层位于硬件与软件之间。对操作系统内核隐藏了硬件的大部分差异，使得核心态代码基本不需要改变即可运行于不同硬件配置的计算机上。硬件抽象大都是硬件驱动程序。被屏蔽的硬件信息包括I/O界面、中断设置、多处理器通信机制等。

内核源码参考
------

可从下述渠道获得Windows内核的实现源码的参考：

* ReactOS： 类Windows的开源操作系统，与Windows在 API级别兼容
* wine：在非Windows系统上运行Win32程序的开源中间层，逻辑上与Windows在 API 级别兼容
* Windows Research Kernel：Microsoft向高校和政府开放的用于研究的部分内核源码

参见
--

* 微软主题

* Windows NT
* Windows系统库
* MinWin（英语：）
* Linux內核
* Unix體系（英语：）
* 作業系統內核比較（英语：）
* 用户模式驱动程序框架
* 核心模式驱动程序框架
* ReactOS

延伸阅读
----

* Martignetti, E.; *What Makes It Page?: The Windows 7 (x64) Virtual Memory Manager* (ISBN 978-1479114290)
* Russinovich, Mark E.; Solomon, David A.; Ionescu, A.; *Windows Internals, Part1: Covering Windows Server 2008 R2 and Windows 7* (ISBN 978-0735648739)
* Russinovich, Mark E.; Solomon, David A.; Ionescu, A.; *Windows Internals, Part2: Covering Windows Server 2008 R2 and Windows 7* (ISBN 978-0735665873)

注释与参考文献
-------

引用

1. ↑  Finnel 2000，Chapter 1: Introduction to Microsoft Windows 2000, pp. 7–18.
2. ↑ . Microsoft Windows 2000 Professional Resource Kit. Microsoft.  [2016-11-18]. （原始内容存档于2016-11-18）.
3. 1 2 . Microsoft.  [2014-01-09]. （原始内容存档于2016-03-03） （英语）.
4. 1 2 . Microsoft.  [2014-01-09]. （原始内容存档于2013-03-28） （英语）.
5. ↑  Reiter, Brian.. August 24, 2010  [2014-01-09]. （原始内容存档于2013-05-22） （英语）.
6. ↑ . Microsoft.  [2016-11-18]. （原始内容存档于2016-11-18）.
7. ↑ . Microsoft.  [2016-11-18]. （原始内容存档于2017-03-07）.
8. 1 2 3  Roman, Steven.. . O'Reilly and Associates, Inc. 1999  [2014-01-09]. ISBN 1-56592-631-5. （原始内容存档于2017-08-26）.
9. ↑ . Windows NT Workstation documentation. Microsoft TechNet.  [2007-12-09]. （原始内容存档于2007-12-15）.
10. ↑ . Windows NT Workstation Resource Kit. Microsoft.  [2009-01-18]. （原始内容存档于2009-02-10）.
11. ↑  Russinovich & Solomon 2005，第124-125頁.
12. ↑  Russinovich 1997，Introduction.
13. ↑ . Microsoft.  [2021-02-09]. （原始内容存档于2020-02-14）.
14. ↑ . MSDN.  [2014-01-09]. （原始内容存档于2006-06-22）.
15. ↑  Siyan 2000.
16. ↑ . MSDN.  [2014-01-09]. （原始内容存档于2021-02-12）.
17. ↑ . MS Windows NT Kernel-mode User and GDI White Paper. Microsoft.  [2009-01-19]. （原始内容存档于2009-01-13）.
18. ↑ .  [2014-01-09]. （原始内容存档于2014-01-09）.
19. ↑  毛德操：《Windows 内核情景分析—采用开源代码ReactOS(上、下册)》,电子工业出版社, 2009-5 ISBN 9787121081149
20. ↑  wine官网的《Wine Developers Guide》
21. ↑  潘爱民:《Windows内核原理与实现》,电子工业出版社,2013年5月第1版ISBN 9787121200564

参考

* Finnel, Lynn.. Microsoft Press. 2000. ISBN 1-57231-903-8.
* Russinovich, Mark.. Windows IT Pro. October 1997  [2014-01-09]. （原始内容存档于2013-05-17）.
*. Microsoft.  [2005-05-09]. （原始内容存档于2020-02-14）.
* Solomon, David; Russinovich, Mark E.  Third Edition. Microsoft Press. 2000  [2014-01-09]. ISBN 0-7356-1021-5. （原始内容存档于2005-03-23）.  引文使用过时参数`coauthors` (帮助) 引文格式1维护：冗余文本 (link)
* Russinovich, Mark; Solomon, David.  4th edition. Microsoft Press. 2005. ISBN 0-7356-1917-4.  引文格式1维护：冗余文本 (link)
* Schreiber, Sven B.. Addison-Wesley Longman. 2001. ISBN 978-0201721874.
* Siyan, Kanajit S.. New Riders. 2000. ISBN 0-7357-0952-1.

外部链接
----

* Microsoft's official Windows 2000 site （页面存档备份，存于）
* Windows 2000 Plug and Play architecture （页面存档备份，存于）
* Memory management in the Windows XP kernel （页面存档备份，存于）

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| * 
* 论
* 编
Microsoft Windows组件 |
| --- |
|  |
| 管理工具 | 
* 命令提示字元
* + 元件列表
* 裝置管理員
* 磁碟清理
* 磁碟重組工具
* 驅動程式檢查器
* 事件檢視器
* IExpress
* 管理控制台
* Netsh
* 修復主控台
* 資源監視器
* 性能监视器
* 設定
* Sysprep
* 系統設定
* 系統文件檢查器
* 系統策略编辑器
* 系統還原
* 任务管理器
* Windows輕鬆傳輸
* Windows錯誤報告
* Windows Installer
* Windows PowerShell
* Windows Update
* WinPE
* WinRE
* WMI

 |
|  |
| 應用程式 | 
* 3D 檢視器
* 
* 小算盤
* 字元對應表
* Cortana
* DVD播放器
* Edge
* 傳真和掃描
* 
* 取得協助（英语：）
* Groove
* Internet Explorer
* 放大鏡
* 郵件
* 地圖
* Media Player
* MSN應用（新聞，天氣，體育，財經）
* 電影與電視
* 行動中心
* 朗讀程式
* 記事本
* 
* OneDrive
* OneNote
* 小畫家 3D
* 小畫家
* 
* 照片
* 遠端協助（英语：）
* 剪取工具
* 語音辨識
* 
* 
* 提示（英语：）
* 錄音機
* Windows Ink
* WordPad
* Xbox
* XPS查看器
* 

 |
|  |
| Shell | 
* 重要訊息中心
* Aero
* 自動播放
* 自動執行
* ClearType
* 檔案總管
* 搜尋
	+ 索引服务
	+ IFilter
	+ 儲存的搜尋
	+ 命名空間
	+ 特殊文件夹
* 開始功能表
* 工作列
* 任务视图
* Windows XP主題

 |
|  |
| 服務 | 
* 服务控制管理器
* 后台智能传输服务
* 通用日志文件系统
* 多媒體類別排程器（英语：）
* 磁碟區陰影複製服務
* 工作排程器
* 錯誤報告
* 無線零配置
* 推送通知服務

 |
|  |
| 文件系統 | 
* CDFS
* DFS
* exFAT
* 可安装文件系统
* FAT
* NTFS
	+ 硬链接
	+ 連接點
	+ 挂载点
	+ 重解析点
	+ 符號連結
	+ TxF（英语：）
	+ EFS
* ReFS
* UDF
* WinFS

 |
|  |
| 伺服器 | 
* 網域（英语：）
* Active Directory
* DNS（英语：）
* 组策略
* 漫游用户配置文件
* 資料夾重新導向（英语：）
* 分散式交易協調器
* MSMQ
* Windows Media服務
* 活动目录权限管理服务（英语：）
* IIS
* 遠端桌面服務
* WSUS
* SharePoint
* 網路存取保護
* PWS
* 文件复制服务（英语：）
* 遠端差異壓縮（英语：）
* 適用於UNIX的列印服務（英语：）
* Windows部署服務（英语：）
* 系統資源管理員（英语：）
* Hyper-V
* 伺服器核心

 |
|  |
| 架構 | 
* Windows NT的架構
* 啟動處理程序（英语：）
* csrss.exe
* 桌面視窗管理員
* 可攜式格式
	+ EXE
	+ DLL
* 增强写入筛选器（英语：）
* 圖形裝置介面
* hal.dll
* I/O请求数据包
* 程式庫檔
* 核心交易管理員
* 庫
* 邏輯磁碟管理
* lsass
* MinWin（英语：）
* NTLDR
* Windows開機管理程式
* ntoskrnl.exe
* 物件管理
* Open XML紙張規範
* 注册表
* Windows资源保护
* 安全性帳戶管理員（英语：）
* 伺服器訊息區
* 磁碟區陰影複製服務
* SMSS
* 系统空闲进程
* 使用者（英语：）
* WHEA（英语：）
* Win32主控台
* Winlogon
* 华生医生（英语：）

 |
|  |
| 安全性 | 
* 安全性與維護
* BitLocker
* 資料執行防止
* 家長監護服務
* 內核修補程式保護
* 認證相符控制
* 受保护媒体路径
* 使用者帳戶控制
* 控制台元件列表
* Windows Defender
* Windows防火牆

 |
|  |
| 兼容性 | 
* COMMAND.COM
* DOS虚拟机（英语：）
* Windows on Windows
* WoW64
* 适用于 Linux 的 Windows 子系统

 |
|  |
| API | 
* 動態指令碼處理（英语：）
	+ WSH
	+ VBScript
	+ JScript
* COM
	+ ActiveX
	+ ActiveX文档（英语：）
	+ COM结构化存储
	+ DCOM
	+ OLE
	+ OLE自动化（英语：）
	+ Transaction Server
* DirectX
* .NET Framework
* Windows Holographic
* Windows Runtime
* 通用Windows平台（UWP）

 |
|  |
| 已經终止 | 

|  |  |
| --- | --- |
| 遊戲 | 
* 3D Pinball
* Chess Titans
* 新接龍
* 傷心小棧
* 中文輸入法練習
* 战鹰!（英语：）
* 筆跡球
* Hold 'Em
* Mahjong Titans
* 踩地雷
* Purble Place
* 黑白棋
* 纸牌
* 連環新接龍
* Tinker

 |
|  |
| 应用程序 | 
* ActiveMovie
* Anytime Upgrade
* 通訊錄（英语：）
* 備份與還原中心
* Cardfile（英语：）
* CardSpace
* 連絡人
* 桌面小工具
* 診斷（英语：）
* DriveSpace
* DVD製作程式
* 傳真（英语：）
* 檔案管理員
* 檔案保護
* 美食
* 健康
* HyperTerminal（英语：）
* Outlook Express
* Windows Mail
* 媒体中心
* 會議空間
* 訊息中心（英语：）
* Messenger
* Mobile裝置中心
* NetMeeting
* 下一代安全计算基础
* NTBackup
* 旅遊
* 相片圖庫
* 程序管理器（英语：）
* WinHelp
* WinSAT
* 小作家
* Windows To Go
* 日记
* Movie Maker

 |
|  |
| 其他 | 
* Windows Services for UNIX
	+ POSIX子系统
	+ Interix（英语：）
* ScanDisk
* Windows視訊
* Windows相片檢視器
* Windows SideShow（英语：）
* 媒體控制介面

 |

 |

 |