Windows NT:修订间差异
无编辑摘要 |
无编辑摘要 |
||
| (未显示同一用户的2个中间版本) | |||
| 第7行: | 第7行: | ||
| 英文名 || '''NT Kernel / Windows NT Kernel''' | | 英文名 || '''NT Kernel / Windows NT Kernel''' | ||
|- | |- | ||
| 开发者 || '''微软 | | 开发者 || '''微软([[Microsoft]])''' | ||
|- | |- | ||
| 首次发布 || '''1993年7月(Windows NT 3.1)''' | | 首次发布 || '''1993年7月(Windows NT 3.1)''' | ||
| 第18行: | 第18行: | ||
|} | |} | ||
'''NT内核'''(全称:'''Windows NT内核''',英语:''Windows NT Kernel'')是[[微软]]公司[[Windows]] NT系列[[操作系统]]的核心组件,采用[[混合内核]](Hybrid Kernel)架构设计。该内核最初于1989年启动开发,旨在构建一个真正的32位、[[抢占式多任务处理|抢占式]]、可重入、支持[[虚拟内存]]且具备跨硬件平台能力的操作系统核心 | '''NT内核'''(全称:'''Windows NT内核''',英语:''Windows NT Kernel'')是[[微软]]公司[[Windows]] NT系列[[操作系统]]的核心组件,采用[[混合内核]](Hybrid Kernel)架构设计。该内核最初于1989年启动开发,旨在构建一个真正的32位、[[抢占式多任务处理|抢占式]]、可重入、支持[[虚拟内存]]且具备跨硬件平台能力的操作系统核心<ref name=":0">[https://ivizlab.sfu.ca/arya/Papers/IEEE/HTML%20Docs/NT%20Kernel.htm The Windows NT Kernel Architecture - IEEE Computer, 1998]</ref>。NT内核负责[[线程]]调度、中断与异常分派、[[多处理器]]同步等底层机制,并与[[硬件抽象层]](HAL)及执行体(Executive)共同构成Windows NT的[[核心态]]基础<ref name=":1">[https://microsoft.fandom.com/wiki/Architecture_of_Windows_NT Architecture of Windows NT - Microsoft Wiki]</ref>。 | ||
== 概述 == | == 概述 == | ||
| 第28行: | 第28行: | ||
=== 核心功能 === | === 核心功能 === | ||
NT内核的核心功能包括[[线程]]调度与分派、[[陷阱(Trap)]]处理、异常分派、中断处理与分派,以及多处理器同步<ref name=":0" />。此外,内核还负责在系统启动时初始化必要的[[驱动程序|设备驱动程序]],以确保操作系统能够正常加载 | NT内核的核心功能包括[[线程]]调度与分派、[[陷阱(Trap)]]处理、异常分派、中断处理与分派,以及多处理器同步<ref name=":0" />。此外,内核还负责在系统启动时初始化必要的[[驱动程序|设备驱动程序]],以确保操作系统能够正常加载<ref name=":1" />。内核提供两类基础对象:控制对象(Control Objects,如APC对象、DPC对象、中断对象)与调度对象(Dispatcher Objects,如线程、互斥体、事件、信号量、定时器),供执行体构建更高层对象使用<<ref name=":0" />。 | ||
== 体系结构 == | == 体系结构 == | ||
| 第42行: | 第42行: | ||
=== 执行体 === | === 执行体 === | ||
执行体(Executive)位于内核之上,是NTOSKRNL.EXE的上层部分,提供内存管理、进程与线程管理、安全引用监视、I/O系统、缓存管理等基础操作系统服务 | 执行体(Executive)位于内核之上,是NTOSKRNL.EXE的上层部分,提供内存管理、进程与线程管理、安全引用监视、I/O系统、缓存管理等基础操作系统服务<ref name=":0" />。执行体通过对象管理器创建和管理Windows NT执行对象,并通过本地过程调用(LPC)机制实现同一计算机上客户端进程与服务器进程之间的通信<ref name=":0" />。 | ||
=== 硬件抽象层 === | === 硬件抽象层 === | ||
硬件抽象层(Hardware Abstraction Layer,HAL)是隔离内核、设备驱动程序与执行体免受平台特定硬件差异影响的代码层<<ref name=":0" />。HAL使得同一套操作系统代码能够在不同硬件架构(如[[x86]]、[[MIPS]]、[[DEC Alpha]]、[[PowerPC]]、[[x86-64]]及[[ARM]])上运行,从而实现了Windows NT的可移植性目标 | 硬件抽象层(Hardware Abstraction Layer,HAL)是隔离内核、设备驱动程序与执行体免受平台特定硬件差异影响的代码层<<ref name=":0" />。HAL使得同一套操作系统代码能够在不同硬件架构(如[[x86]]、[[MIPS]]、[[DEC Alpha]]、[[PowerPC]]、[[x86-64]]及[[ARM]])上运行,从而实现了Windows NT的可移植性目标<ref name=":3" />。 | ||
== 技术特性 == | == 技术特性 == | ||
| 第56行: | 第56行: | ||
=== 多处理器支持 === | === 多处理器支持 === | ||
NT内核自设计之初即支持[[对称多处理]](SMP)架构,能够高效调度线程运行于多个处理器之上 | NT内核自设计之初即支持[[对称多处理]](SMP)架构,能够高效调度线程运行于多个处理器之上<ref name=":0" />。随着Windows版本演进,NT内核对处理器数量的支持不断增加,从Windows 2000 Datacenter Server支持32路SMP,到后续版本支持更多核心与更复杂的[[NUMA]]架构<ref name=":3" />。 | ||
=== 可移植性 === | === 可移植性 === | ||
NT内核通过硬件抽象层与内核接口的抽象设计,实现了跨硬件平台的可移植性。系统仅需为不同平台提供对应的HAL,即可将同一套核心代码部署到多种处理器架构上 | NT内核通过硬件抽象层与内核接口的抽象设计,实现了跨硬件平台的可移植性。系统仅需为不同平台提供对应的HAL,即可将同一套核心代码部署到多种处理器架构上<ref name=":0" />。此外,NT内核原生支持[[Unicode]],便于适应全球不同语言市场<ref name=":0" />。 | ||
== 版本演进 == | == 版本演进 == | ||
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位运算与新一代硬件架构 | 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位运算与新一代硬件架构<ref name=":3" />。从Windows 10开始,系统内核版本由NT 6.4升级为NT 10.0,标志着内核架构进入新的发展阶段<ref name=":3" />。 | ||
== 参考文献 == | == 参考文献 == | ||
<references /> | <references /> | ||
2026年7月7日 (二) 17:10的最新版本
| 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使得同一套操作系统代码能够在不同硬件架构(如x86、MIPS、DEC Alpha、PowerPC、x86-64及ARM)上运行,从而实现了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]。