Windows NT 3.1

Microsoft Windows NT 3.1 logo with wordmark.svg
Windows NT 3.1
代号 Razzle
内核版本 NT 3.1
架构 Alpha, MIPS, x86 (PC, PC98)
发行日期 1993/7/27
主流支持 2000/12/31
正式版本 3.1.511.1
家族顺序
上一个版本
下一个版本 Windows NT 3.5

Windows NT 3.1(代号为Razzle)是微软基于Windows NT内核开发的的第一个操作系统,Windows NT中的NT是New Technology(即“新技术”)的缩写。

它最初针对英特尔i860 CPU开发,但是在1989年它移植到MIPS平台,并于1990年移植到英特尔80386。

它也发布了用于MIPS(MIPS64)平台的版本,之后在DEC Alpha上发布。

N-Ten

起初这一操作系统的定位是Intel i860 CPU,代号为N10(英文读作"N-Ten"),NT操作系统家族便由此得名。但i860“严重落后于计划”,于是NT小组在i860原型硬件(代号为Dazzle)交付之前使用了一个模拟器。对其它平台的支持将随后提供。起初定位于i860的原因是为了提高可移植性,避免制造一个以x86为中心的设计方案。

新功能与特色

1.Object Manager

对象管理器是一个执行体的子系统,所有其他的执行体子系统,特别是系统调用必须通过它来获得对Windows NT资源的访问,这使得对象管理器成为资源管理的基础设施。对象管理器用来避免在其他子系统中管理资源带来的冗余与不安全。在对象管理器视角,每个资源都是一个对象,不论是物理资源(如文件系统或外设),还是逻辑资源(如一个互斥锁)。

2.缓存控制器

Windows Cache Manager与内存控制器、I/O控制器、I/O驱动一起为正常的文件 I/O提供缓存,这种文件缓存是针对文件块,对本地文件与远程文件提供了一致的服务。实际上这是特殊的文件内存映射。

3.I/O(输入/输出)管理器

允许用户态程序与设备的通信。I/O管理器把用户态程序的读写请求翻译给硬件。例如,I/O管理器接收文件系统I/O请求,翻译为对相关设备的调用,与低层设备驱动程序合作执行硬件读写操作。还包括了I/O操作的cache管理。

4.本地过程调用(lpc)

提供了一种进程间通信端口机制。是Microsoft RPC的基础。

5.内存管理

管理虚拟内存,控制内存保护,以及物理内存与二级存储之间的分页调度,以及物理内存的分配。还能分析PE格式可执行程序,以便映射入或卸载这些程序。

6.进程结构

处理进程与线程的创建与终止,实现了作业的概念(从Windows 2000开始)。

7.即插即用管理器

处理即插即用设备,支持在启动时的设备检测与安装,按需停止或启动一个设备。它的大部分实际上是在用户态的Plug and Play Service中实现。

8.电源管理

处理电源事件(关机、睡眠stand-by、休眠等),通知受影响的驱动程序。

9.安全引用监视(srm)

强制实行安全规则的子系统通过访问控制表(ACLs)确定一个对象或资源可以被访问。访问控制表由访问控制条目(ACEs)组成。ACE包含了安全标识符(SID)与授予的操作列表,使得用户帐户、用户组账号、登录会话具有对资源的允许、不允许、审核(audit)等权限

10.GDI

图形设备接口是负责画线、字体绘制、处理调色板等。在Windows NT 3.x系列操作系统,GDI属于用户态。从Windows NT 4.0开始,GDI移入了核心态,以提高图形性能。

11.kernel(内核)

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

12.核心态驱动

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

13.硬件抽象层(HAL)

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

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

SKU

包括Workstation与Advanced Server(开发之初称为LAN Manager for Windows NT)两个SKU。

版本列表

  • 未泄露
  • 已泄露/发布

Alpha

Beta 1

Beta 2

Final Beta

Release to Manufacturing

International Beta

Release to Manufacturing

Service Pack 1

Service Pack 2

Service Pack 3

Release to Manufacturing (Japanese)

Service Pack 1 (Japanese)