Windows NT 3.1是微软开发的第一代Windows NT操作系统,于1993年7月27日发布。

Quick Facts 开发者, 作业系统家族 ...
Windows NT 3.1
Windows NT操作系统的一个版本
Logo of Windows NT 3.1
File:Windows_NT_3.1.png
开发者微软
作业系统家族Microsoft Windows
源码模式封闭源代码
发放给生产商1993年3月,​31年前​(1993-03
正式发售日期1993年7月26日,​31年前​(1993-07-26
最终版本Service Pack 3 (3.1.528)(1994年10月29日,​29年前​(1994-10-29[1]
市场取向桌面端与服务器端
支持的语言English, Dutch, French, German, Japanese, Spanish and Swedish Danish, Finnish, Italian, Norwegian and Portuguese.(Desktop only)
支援平台IA-32AlphaMIPS
内核类别HybridNT
许可证商业软件
前一代Windows 3.1x
后一代Windows NT 3.5
支援状态
Unsupported as of December 31, 2000[2]
Close

在Windows NT发布的时候,微软已经通过之前的Windows 3.1建立起了其品牌知名度,并且占据了一定的市场份额。但是Windows 3.1依然是一个基于DOS的16位操作系统。所以,通过发布新一代的Windows NT操作系统,微软希望为用户带来全新的32位架构的操作系统。新一代的操作系统依然保留了Windows 3.1用户熟悉的桌面环境,并通过NT(New Technology,即新技术)一词来向用户宣传全新的技术革新,并且为用户保留了熟悉的操作界面、用户环境等。

Windows NT最初是基于OS/2操作系统的重写,微软在1980年代与IBM共同开发了OS/2,但由于多种原因,比如1990年Windows 3.0的市场成功等,微软决定推进Windows的开发工作,而不再继续OS/2的开发活动,NT 3.1在1991年的计算机经销商博览会上首次公开展示,最终于1993年发布了两个版本:用于工作站的Windows NT 3.1和用于服务器的Windows NT 3.1 Advanced Server。

从Windows NT首次亮相到1994年被Windows NT 3.5取代为止,尽管他们受到诸如过高的硬件需求、普遍缺乏对应的32位软件、系统运算能力过剩等诸多问题,依然销售了超过30万份。2000年12月31日,微软正式宣布Windows NT 3.1结束生命周期并停止技术支持服务。

开发历程

NT OS/2阶段

Windows NT的起源最早可以追溯到1988年[3]:144,微软当时使用MS-DOS系统作为IBM PC兼容机的操作系统,使其在个人电脑市场上占有重要地位,然而内森·梅尔沃德英语Nathan Myhrvold(在Dynamical Systems Research被收购后加入微软)发现了主要的两个对微软垄断的威胁:RISC计算机Unix操作系统。RISC架构(即精简指令集架构)计算机被证实比当时运行了MS-DOS及UNIX的英特尔处理器具有更强大的性能;而Unix是一个支持多处理器和网络的跨平台多任务操作系统[4]:34。虽然Unix因为其受到定制化程序导致其在不同版本中无法通用而在广泛推广引用上存在诸多限制,但比尔·盖茨依然认为,类Unix操作系统与精简指令集架构的处理器所结合可能会成为一个市场威胁,因此微软需要开发一种可以在多种架构上运行的“Unix杀手(UNIX Killer)”[4]:35。梅尔沃德希望开发一种能满足RISC架构、使用英特尔芯片,并能够进行多任务运算处理等要求的全新操作系统[3]。为此,比尔·盖茨还聘请了戴夫.卡特勒于1988年10月离开了DEC并带着从DEC团队中挑选的一些员工一起加入了微软,以协助其开发新系统(在PRISM架构机器配套的MICA系统被取消后)[3][4]:17-37。他于11月开始了新的系统开发[4]:38[5]

该操作系统最初计划作为OS/2的更新版本开发的,微软和IBM希望OS/2可以接替MS-DOS[6]:43-44,但是他们并没有成功,该操作系统的设计目标是时期可以用于不同的处理器平台,并能够支持多处理器系统,这在当时是十分领先的想法,几乎很少有操作系统能够做到[4]:33[6]:2[7]。为了能够面向企业市场,此系统还要能够支持网络、POSIX标准以及符合TCSEC标准的安全平台,这就要求操作系统必须是一个具有权限分配管理及安全审计功能的多用户操作系统[8]

在当时,无论是微软还是IBM都急于开发一种能够吸引企业客户的操作系统,这便意味着需要更高的安全性、可靠性、数据处理能力及网络功能,不仅如此,微软还希望在其他的计算机平台上夺取UNIX的市场份额,所以他们需要一种比OS/2更便于移植迁移的系统。

为此,微软开始开发针对于非x86处理器的全新操作系统,此系统基于英特尔i860芯片英语Inter i860开发,为了与芯片的代号“N10”相呼应,微软将他们的操作系统命名为NT OS/2[9]。然而DEC却先发制人对微软提起诉讼,声称他们窃取了MICA的代码用于此系统,所有在最终的庭外和解中,微软被迫同意使新系统能够与DEC的Alpha处理器兼容[5]

最初开发团队估计新系统将在18个月内完成开发工作,到1989年4月,NT OS/2的内核便已经可以在i860平台上进行测试运行了。但是开发团队最终确认i860芯片并不适合该项目,于是从12月开始,他们便将NT OS/2移植到MIPS的R3000处理器上,他们用了三个月完成了这项任务[9]。微软高级主管保罗·马里茨(Paul Maritz)的目标是1992年的发布日期,但开发进度尚不确定。该公司急于让那些猜测NT要到1994年才会上市的反对者闭嘴,并计划在1990年的COMDEX上展示这款新的操作系统[6]:84-85

Windows NT阶段

1990年5月,微软发布了基于MS-DOS的Windows 3.0桌面操作系统,然而这却影响到了微软与IBM的合作关系,当时IBM希望微软能够更专注于OS/2的开发工作,而对微软而言,因为Windows 3.0市场反应良好,他们更希望继续NT系列的系统开发[4]:100。由于Windows 3.0和OS/2的不确定性,使用户及软件开发人员难以在这两者之间抉择,微软也没有如此庞大的资源支持两个系统的并行开发,所以微软必须从中做出选择[6]:98-99[10]:66。最终,在1990年8月,作为对Windows 3.0市场反响成功的回应,NT OS/2团队决定重新设计操作系统从而使用Windows API接口(即Win32),Win32保留了对Win16API的支持,使开发人员能够轻松的适配,并保留了对现有软件的兼容性[11]:1。与此同时,系统的GUI界面也从OS/2的PM(Presentation Manager)变为Windows的PM(Program Manager)[4]:102-105

由于这些改变,NT并未在1990年的计算机经销商博览会面世[4]:102,所以当时公众和IBM均不知道NT OS/2已经转变成了Windows NT[4]:108,虽然在IBM于1991年1月得知了微软的Windows NT计划并全面终止与其的合作之前,IBM和微软已经变更了他们的合作关系使OS/2由双方轮流开发而并非最早的共同开发[12]:8,但是显然自此之后IBM将独立开发OS/2 2.0(修订版)以及之后的全部版本,微软不再参与[6]:108-109[11]

1991年10月,Windows NT系统在计算机经销商博览会首次公开亮相,为了确保在Windows NT正式发布时能有相关的软件可用,微软还向出席博览会的开发人员分发了32位软件的开发工具[4]:165[13]:1[14],这次展示获得了许多积极反响。1992年3月,微软还发布了Win32s,这将允许Windows 3.1与Windows NT程序部分兼容,以便开发针对该平台优化的软件[15]

在1992年6月的微软Win32专业开发者大会上,Windows NT展示了其在x86和MIPS处理器上运行的能力,同时还发布了Windows NT的测试版与更新的开发工具包[16]。同时,微软也同时宣布了SQL Server产品的新版本用于Windows NT,UNIX供应商担心该软件会影响UNIX系统的市场份额[17][18],但是人们对于NT系统的内存需求并不乐观,当时大多数电脑仅有4MB的内存,然而NT的建议内存则达到了16MB。当时内存的成本高昂使许多评论家担心Windows NT的硬件要求过高会影响其销售份额和市场占有,建议其采取措施通过诸如分页文件等方式来减少内存使用量[6]:227-249

微软于1992年10月发布了Windows NT的首个公开测试版,在一个月后的计算机经销商博览会上,举行了一场关于Windows NT第三方软件的演示[19][20][21]。NT的最终预发布版本在1993年3月发布,虽然他的稳定性和性能均有所提高,但人们依然担心该系统在发布时可能依然没有完成,或者将会推迟到1993年后发布[22][23]

发布

在1993年7月26日,微软终于发布了Windows NT 3.1的桌面版本和服务器版本(使其与windows 3.1的命名方式保持一致)[4]:300,起初只发布了x86和MIPS的版本,DEC的Alpha兼容版本于9月才推出[9][24],桌面版的NT 3.1售价为495美金,服务器版本则为1495美金,虽然服务器的价格可能只是开始半年的销售优惠价,但其实微软从未按照其宣布的2995美金来进行销售[25][26]

自从1988年11月开始,到发布时,总共有超过250名程序员[27]为其编写了近560万行代码[4]:290,整个开发成本超过1.5万亿美金[4]:307,在开发的最后一年里,开发团队修复了超过3万个漏洞[4]:300

在产品的整个生命周期中,微软发布了三个服务包:第一个服务包于1993年10月8日发布,第二个于1994年1月24日发布,而在1994年10月29日发布了最后一个服务包。Microsoft于2000年12月31日终止了对其的支持。而对于RTM(不带服务包)版本的支持已于1994年1月8日结束。其第一个服务包的支持于1994年4月24日结束,最后,而第二个的支持则于1995年1月29日结束,距离正式发布仅1年。

Windows NT 3.1已本地化为各种语言。除英语外,它还提供荷兰语、法语、德语、日语、西班牙语和瑞典语版本。此外,桌面版系统相对于服务器版本还额外支持丹麦语、芬兰语、意大利语、挪威语和葡萄牙语[28]

系统目标

卡特勒为Windows NT设置三个主要目标,第一是可移植性、第二是可靠性、而第三则是兼容性,为了满足和达成这三个主要目标,工程师花费了巨大的精力。

可移植性

与以前的操作系统相比,NT应该能够在多种架构体系上运行[4]:53,而为了实现这一目标,操作系统的大部分内容,特别是系统核心都是使用C语言编写的[29],这就导致于柒内存消耗要明显高于之前的任何一个操作系统[4]:55,除了图形界面和部分网络系统的代码是采用C++编写的外,只有操作系统的硬件驱动程序及部分关键功能使用了汇编语言。而它们都是完全独立的,因此在新架构的移植上就变得异常的简单和容易[6]:89

可靠性

系统不应再因为应用程序或硬件的崩溃而出现故障[6]:9,操作系统应对关键程序提供足够的冗余保护[4]:54。为了实现这一目标,NT的架构被设计为内核隔离的方式,使应用程序无法直接对其进行访问[4]:56,各种组件都模块化的运作于内核之上,可靠性当然也包括了安全性[6]:9,系统为每一个用户创建单独账户,为每个账户分配特定权限从而阻止用户访问未经授权的文档[6]:157-158。而虚拟内存管理则旨在阻止恶意软件或用户对于物理内存的直接访问[6]:10

兼容性

系统不应该是个全封闭的体系,应该可以运行为其他系统所开发的应用程序,如Windows、MS-DOS和OS/2等[4]:54,而为了实现这一目标,NT的API方便各类软件及程序开发人员进行接口的对接及再编译,使各类程序都方便添加新的功能、样式等,从而快速增加适配软件[6]:6,此举亦或增加市场份额。

尽管存在这些目标,但得益于结构化的代码,使其能够高效的满足上述目标,并通过各种优化手段使其流畅运行[6]:12,Windows NT被设计为一个网络操作系统,NovellNetWare一直是这个领域的领导者,微软也从未能开发出一款产品来挑战其领先地位,卡特勒希望凭借这个全新可靠的网络操作系统获得更多的用户[4]:65,而盖茨虽然凭借MS-DOS和Windows主导了桌面操作系统,但他仍然希望借助NT系统在服务器领域再创辉煌[4]:3:151

特征

构建

虽然Windows NT 3.1和Windows 3.1在外观上保持一致,但他们在内部却毫无关系,NT不是基于DOS所开发的,他是一个全新的独立的32位操作系统,在开发过程中,卡特勒采用了许多之前在VMS中的先进概念[29],例如模块化的结构[6]:20、将系统资源视为对象、通过句柄访问等,通过这些方法来保护他们免受未经授权的访问[6]:22-23

此系统在开发之初就是为了多任务所开发的,所以他能够支持利用多个线程并行多个进程[6]:92-94,使用多核处理器使整个运算量平均分摊到多个核心[6]:24,Windows NT 3.1基于网络引入了远程过程调用(即RPC)和网络动态数据交换(NetDDE,DDE的拓展功能)促进了不同计算机上的进程之间访问及数据交换的能力[30]

该系统使用了现在被称为混合内核的内核元素[6]:20[31][32],通过硬件抽象层将系统本身与硬件隔离,方便系统对其他平台的移植[6]:30,运行内核只包含了非常基本的功能,而其他所有的系统核心功能均为模块化设计开发[6]:20,它们彼此独立,使其方便互换而不影响其余部分[6]:28


位于系统核心上层的是子系统,子系统有两种类型,集成子系统和环境子系统,集成子系统例如安全子系统,用于处理登陆过程并件事系统安全性,而环境子系统通过应用程序编程接口将操作系统的功能公开给应用程序[6]:27,无论是硬件设备的接口还是POSIX兼容的应用程序,亦或是基于命令行运行的OS/2应用程序[33]

虚拟DOS机器(VDM)有时也被视为一个子系统,但严格来说,它只是一个普通的32位Windows应用程序。VDM用来管理最初为DOS所开发的应用程序,它允许16位的应用程序运行在NT系统之上,大部分上述程序能够在NT系统上运行,但是部分需要直接访问硬件或需要使用VxD文件的程序无法与NT系统一起使用[34][35],为了兼容性考虑,虽然纯DOS程序能够在其单独的内存空间中运行,当时所有16位的应用程序都必须共享一个内存空间,这就意味着16位Windows应用程序只能在协作多任务处理中运行。有故障的16位Windows应用程序以这种方式导致所有其他16位Windows应用程序崩溃[33]

系统

Windows NT 3.1提供了一个名为NTLDR启动管理器,该管理器在基于x86的计算机上启动操作系统的过程中加载。它允许Windows NT 3.1以及MS-DOS和OS/2 1.x的多个实例的多重引导设置[36],NTLDR不用于RISC版本,因为RISC计算机的固件提供了自己的引导管理器[37]

在Windows NT 3.1启动后,每个用户都必须通过按组合键Ctrl+Alt+Del并输入用户名和密码来登录计算机。所有用户都有自己的用户帐户,并且特定于用户的设置(如程序管理器组)为每个用户单独存储。可以为用户分配特定权限,例如更改系统时间的权限或关闭计算机的权限。为了便于管理用户帐户,还可以对多个用户帐户进行分组,并为用户组分配权限[33]

Windows NT 3.1开始引入了新的NTFS文件系统。这种新的文件系统对硬件故障[6]:10具有更强的抵抗力,并允许在文件系统级别为用户或组分配读写权限[33]。NTFS支持长文件名[33],并具有适应POSIX应用程序(如硬链接)的功能[6]:39。出于兼容性原因,Windows NT 3.1还支持FAT16以及OS/2的文件系统HPFS[33],但不支持FAT文件系统(VFAT)上的长文件名。这是在Windows NT 3.5中才添加的功能。

Windows NT 3.1支持多种网络协议。除了IPX/SPXNetBEUI之外,还支持TCP/IP协议,允许访问Internet。与Windows工作组版类似,可以共享文件和打印机,并且可以通过网络编辑这些资源的访问权限和配置。安装网络打印机后,所需的驱动程序将自动通过网络传输,无需为每台计算机手动安装驱动程序。远程访问服务(RAS)允许网络外部的客户端使用调制解调器、ISDN或X.25连接到网络并访问其资源。虽然工作站一次允许一个RAS连接,但服务器支持64个[33]

Windows NT 3.1支持当时新的Unicode标准,该标准允许显示多种语言的字符集。这有助于操作系统的本地化[38]。所有字符串,以及文件和文件夹名称,都在内部以Unicode处理[6]:43,但包含的程序,如文件管理器,无法识别Unicode[39],因此无法访问包含Unicode字符的文件夹[40]

Windows 3.1引入的Windows注册表,旨在允许通过网络配置计算机[4]:251并替换常用的基于文本的配置文件,如INI文件、AUTOEXEC.BAT和CONFIG.SYS[6]:327。用户可以查看和编辑Windows注册表[33]

高级服务器旨在管理工作站计算机。它可以用作域控制器,其中存储了所有用户和组以及他们的权限。这样,用户可以从网络中的任何计算机登录,并且可以在服务器上集中管理用户。可以与其他域建立信任关系,以便能够跨域交换数据。使用复制服务,像登录脚本这样的文件可以在网络上的所有计算机上同步。Advanced Server支持AppleTalk协议,以允许连接到Macintosh计算机。在Windows NT 3.1 Advanced Server中,硬盘可以合并为RAID,支持的配置包括RAID 0、RAID 1和RAID 5[33]

Windows NT 3.1 可以使用CD-ROM和提供的启动盘进行安装,也可以使用一套22张3.5英寸软盘(高级服务器为 23 张软盘)。Windows NT 3.1也可以通过网络安装。 附带一张优惠券,可以订购一套27张5.25英寸软盘(或28张高级服务器软盘)[41]。与软盘相比,CD-ROM包含额外的驱动程序和应用程序。

硬件要求

Windows NT 3.1支持多种平台:除了Intel x86架构外,还支持DEC Alpha和MIPS(R4000和R4400)处理器[42]

x86架构上的系统最低硬件要求包括25 MHz 80386处理器,12 MB的内存,75 MB的硬盘空间和VGA显卡。RISC架构(包括DEC Alpha和MIPS处理器)上的系统需要16 MB的内存,92 MB的硬盘空间和一个CD-ROM驱动器[43]

Advanced Server版需要一个80386处理器,16 MB的内存,90 MB的硬盘空间。在RISC架构上则需要110 MB的硬盘空间[44]

Windows NT 3.1支持双处理器系统,而Advanced Server版最多支持四个处理器。由于处理器检测程序中的错误,Windows NT 3.1无法安装在Pentium II或更新的处理器上。微软未解决过该问题,但有非官方补丁可用[43]

总结

Windows NT 3.1在第一年就售出了大约30万份[45]。当时认为硬件要求非常高:具有16MB内存的486处理器的推荐系统要求远高于普通计算机的配置[34], 而且操作系统使用速度太慢[46]。 可以使用Windows NT 3.1功能的32位应用程序非常稀缺[47][48][49],因此用户不得不求助于旧的16位应用程序。但是,这些运行速度却又比在Windows 3.1上慢。据估计,1993年11月只有150个Windows NT应用程序[50]。 常见类型的软件(如办公套件)不适用于Windows NT 3.1[34]。在操作系统开发过程中,API调用发生了变化,因此在1992年Windows NT 3.1的预发布版本上构建的32位应用程序无法在最终版本上运行。这影响了Microsoft Visual C++ 1.0和Microsoft Fortran PowerStation等软件[51]

使用Windows NT 3.1的RISC系统有一个更大的缺点:尽管它们比x86系统更强大[30]但几乎没有32位应用程序或驱动程序被移植到这些平台上[45]。 由于80286仿真,16位应用程序在RISC系统下的运行速度要慢得多,而x86系统可以本地运行16位应用程序[30], 但依赖于386调用的DOS和16位应用程序根本无法在RISC系统上运行。

然而,并非所有的接收都是负面的:操作系统的多任务处理能力得到了积极的评价,特别是与Windows 3.1相比[33]。与操作系统的大小相比,尽管从软盘安装是一项非常耗时的任务,但安装变得非常容易[52]。Advanced Server旨在成为不成功的LAN Manager产品的继任者,在技术上比其前身要优越得多,只是因为它与工作站附件存在相同的问题而未能获得成功,例如运行16位应用程序的性能低下[53]。高级服务器为大型网络提供了财务优势,因为它的价格不依赖于客户端的数量,这与其竞争对手Novell NetWare不同[44]

借助 Windows NT,微软进入了一个以前无法解决的市场,该市场主要由Unix、Novell NetWare和OS/2主导[54]。1993年11月,《InfoWorld》杂志进行了一项测试,测试了几种操作系统的网络功能,结果显示Windows NT 3.1严重缺乏客户端间通信:它只能通过NetBEUI连接到自己的服务器;尝试连接到Unix、NetWare和OS/2都失败了,因为没有可用的客户端软件。对于高级服务器,只有他们自己的客户端,Macintosh,以及OS/2(如果只是有限的)能够连接到服务器[55]

尽管操作系统的实际成功只是适度的,但它产生了巨大的持久影响。Unix派生的开发者首次努力标准化他们的操作系统,Novell非常担心其市场份额,以至于它收购了Unix供应商[4]:303。微处理器制造商希望利用新操作系统的可移植性来增加自己的销售额[4]:303,因此,Windows NT 的端口被宣布用于各种平台,如 Sun SPARC 架构[56]和Clipper架构[57]。人们认识到,一旦硬件变得足够强大,以可接受的速度运行操作系统,Windows NT就会在桌面市场上占据主导地位[58]。八年后,微软将面向消费者的Windows系列(一直基于MS-DOS)与NT系列与2001年10月发布的Windows XP统一起来,这是第一个使用NT架构的面向消费者的Windows版本[59]


参考资料

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.