Windows 内核

来自BetaWorld 百科
跳到导航 跳到搜索

Windows在其漫长的发展过程中,很多东西都发生了许多重大的变化。Windows有三个发展时期:基于DOS的Windows、Windows 9x和Windows NT。在这三个发展时期内Windows的内核也有四次变化,分别是:DosSHELL、386增强模式、Windows 9x、Windows NT。

关于如何确认系统内核版本,请查看如何判断Windows 操作系统版本

需要在MS-DOS下运行的Windows核心

DOSSHELL

请不要和MS-DOS后期版本内置的DOS SHELL相混淆

DOSSHELL是Windows最早的内核。在Windows 1.0-2.0这段时间内,其本质上是一个DOS的图形界面。虽然有自己的程序规范,但因为其本质。在Windows 1.0-2.0这段时间内的内核被称为DOSSHELL。[来源请求]


但是这段时期确定下来的程序规范一直被保留并发展,成为了如今的Win32程序规范。

386增强模式(EMM386)

在Windows 1.0之后,电脑配置仍在不断的发展。微软在Windows 2.0中采取了发布不同版本的措施来分别利用新旧电脑的性能。他们分别是:Windows/286和Windows/386。在Windows/386中,微软引入了新的386增强模式内核来支持保护模式。从而支持了更大的内存和有了更高的运行效率,同时也拥有了更友好的界面。然而,启用386增强模式的Windows不支持386之前的处理器。 搭载此内核的版本:

  • Windows 2.1 (2.11)
  • Windows 3.0
  • Windows 3.1 (3.11、3.2)

Windows 9x

Windows 9x 的架构

Windows 9x的内核和以前的版本一样,本质上基于MS-DOS,这意味着操作系统的启动仍然需要MS-DOS。由于微软将 Win32 API 引入了 Windows 9x,使得Windows 9x支持32位应用程序,具备了相对较好的向后兼容能力。然而,对MS-DOS的高度依赖阻止了将内核移植到其他平台的可能性,如MIPS或DEC Alpha,而且混合16/32位内核的设计不可避免会影响系统的稳定。在Windows 9x用户看来,出现崩溃是家常便饭,甚至在Windows 9x的安装过程中系统都会提示在检测安装硬件驱动程序时系统有概率会死机。终于在世纪之交,微软看到了Windows NT的曙光,于是放弃了Windows 9x的开发。

现代的操作系统内核Windows NT

Windows NT体系结构是指一系列微软设计及制造,由Windows NT所派生出的视窗操作系统架构,采用用户模式与内核模式的分层设计。它是一种是抢占式和可重入的操作系统,可运行在单处理器或对称多处理器(SMP)上。并利用I/O请求包和异步I/O来处理所有的I/O请求。微软从Windows XP开始提供64位的Windows版本,之前只有32位版本。

用户模式下的程序与子系统在它们可以访问的系统资源方面受到限制,而内核模式对系统资源和外部设备的访问不受限制,可以完全访问计算机的硬件和系统资源。Windows NT内核是属于混合内核;其体系结构包括简单内核、硬件抽象层(HAL)、驱动程序、服务(总称为执行体),它们都存在于内核模式中。

Windows NT 内核架构

构成Windows NT用户模式的子系统可以透过I/O管理器传递I/O请求给内核模式中适当的驱动程序。Windows NT的用户模式由环境子系统(执行为不同类型操作系统编写的应用程序)和集成子系统(Integral subsystem,代表环境子系统执行特定系统的功能)组成。内核模式阻止用户模式的服务和应用程序访问它们不应访问的操作系统关键区域。

执行体与所有的用户模式子系统处理I/O、对象管理、安全和进程管理。位于硬件抽象层与执行体之间的内核提供了多处理器同步、线程、中断调度和分派、故障处理和例外分派的功能。内核还负责在启动时初始化设备驱动程序。内核模式驱动程序分为三个级别:高层驱动程序、中层驱动程序和低层驱动程序。Windows驱动程序模型(WDM)位于中层,主要设计为在Windows 98与Windows 2000之间实现二进制档与源代码兼容。最底层的驱动程序要么是直接控制设备的旧版Windows NT设备驱动程序,要么是即插即用硬件总线。