但是有关OS/2的故事还没有结束。1988年,在和IBM的协议依然有效的时候,微软从Digital Equipment公司请了Dave Cutler开发“可移植的OS/2”,这个版本的操作系统应该可以在多种硬件平台上运行。当时的打算是希望同一个软件能像在英特尔处理器的平台上那样运行在RISC(Reduced Instruction Set Computer,精简指令集计算机)平台上,不过当时尚不明了到底哪个系统架构可以在未来成为主流。
但是Cutler决定开发一种全新的操作系统替代OS/2,这种系统是源自scratch的,可以被叫做Windows New Technology或Windows NT。这应该是一个32位操作系统,其内核运行在一个“硬件抽象层”上,这样就可以隔离来自系统平台的代码。
在开发Windows NT的同时微软还在继续改进16位的Windows,当时的意图是希望这两种操作系统可以共用通用的用户界面以及API(Application Programming Interface,应用程序接口)。1992年发布的第一个版本的Windows NT被编号为3.1,以符合Windows系统的版本编号。尽管包含了可缩放的TrueType字体、多媒体扩展以及更广泛的硬件支持,但随后发布的Windows 3.1更像是一个修复补丁后重新发布的系统。

Windows 95用户界面显示了一些与Internet有关的元素,而且通过设置,该系统可以使用单击操作代替“传统”的双击操作。
类似的,Windows for Workgroups 3.11也仅包含了一些小的升级,例如增加了点对点网络的支持。虽然默认没有包含,不过它是第一个以安装补丁的形式提供TCP/IP协议的系统。
Windows 3.1和Windows for Workgroups 3.11继承了Windows 3.0的成功,但是NT的市场却遇到了麻烦。硬件抽象模式使得为该系统编写特定外设或组件的驱动变得异常困难,而且NT的体积、严格的安全和内存管理技术意味着该系统不仅需要更昂贵的硬件来运行,而且在这些硬件上运行的性能会相当好。要将现有的Windows应用程序移植到NT平台很困难,而且很不值得这样做,因此该系统的市场份额就要比Windows小很多。NT注定是为以后的网络服务器编写的。
微软计划在未来通过将Windows和NT合并到一起的方法解决这些问题。名为“芝加哥”的下一代Windows可以使用新一代NT中的Win32 API,但同时还包含了一个叫做Win32s的Win32子集,这样开发人员就能开发可以同时运行在Windows 3.1和NT上的程序,而且“芝加哥”通过兼容模式依然可以运行老的16位Win16应用程序。通过上述方法产生了一个开发代号为“开罗”的操作系统,其中包含了通用API,不过事实证明通往开罗的路并不平坦。
启航
“芝加哥”最后成了Windows 95,该系统第一次对硬件PnP(Plug and Play,即插即用)技术提供了支持。这也是第一个可以运行在32位80386增强模式下的Windows操作系统,具有平坦(Flat)32位内存空间,虚拟内存寻址最高达到了4GB,而且这些地址空间可以被操作系统和应用程序一起使用。从Windows 3.1开始,用户界面就没有太大的变化,不过在“开罗”项目快要结束时,随着发布日期的临近,用户界面也经过了适当的改进。

随着Windows 98的发布,互联网功能被完全集成在这一操作系统中,这直接导致了针对微软的反垄断诉讼。这是当时一本从互联网角度介绍Windows的书。
Windows 95主要是面向新的消费领域,当时的家庭和办公室中,PC的普及速度越来越快,但是微软依然没有充分认识到互联网的重要性,只不过是在日后的OEM版Windows中包含了Internet Explorer。同时该系统增加了对USB设备的支持,而很多包含了内置硬件的老计算机上捆绑的操作系统都无法使用这类设备。
在接下来的几年里,Windows和NT的开发持续了相对独立的趋势。NT 4.0中增添了Windows 95所用的用户界面,但同时通过将显卡驱动设计为内核模式以图增强性能。Windows 98增加了对大硬盘的支持,并将Internet Explorer更深入地集成进用户界面和文件管理器中,这一行动直接导致了美国和欧盟持续很久的反垄断诉讼。Windows 98第二版原本被计划为16位Windows产品线上最后一代产品。
但事实并非如此。NT 5.0(也就是Windows 2000)依然不适合大部分用户,虽然该系统采用了统一的驱动模块,但是受限于NT的硬件抽象模型,性能问题依然很严峻。一些Windows应用程序和某些游戏都习惯于直接访问硬件以便获得更高性能的,虽然微软自己试图通过类似DirectX和OpenGL之类的驱动解决这个问题,不过对于家庭用户,Windows 2000在这方面做得并不好。
正因为如此,为了填补Windows 2000和下一代开发代号为Whistler的操作系统之间的空白,一个匆忙推出的,叫做Windows Millennium Edition(或Windows ME)的16位Windows发布了。
该系统对Internet的支持有所提高,而且首次出现了可以撤销对计算机的有害操作的系统还原功能,不过该系统并未获得目标用户的支持。这些用户大部分依然停留在Windows 98 SE系统下,并继续等待Whistler的发布。Whistler最后的发布名称是Windows XP,Windows XP是Windows历史上存活时间最长的系统,从2001年10月一直持续到2006年11月Windows Vista发布,而且该系统一共销售出了超过4亿套。
该系统实际上是基于Windows 2000的,因为有了一些广泛采用的技术,例如DirectX和OpenGL可以访问显卡并进行加速,该系统更容易被家庭用户和游戏玩家接受。
为了让界面更友好,Windows XP的用户界面经过了一些彻底的改进。虽然很多有经验的用户不喜欢那种界面,宁愿切换回“经典”外观。而在用户界面内部,所有为Windows开发的技术都已经在过去21年里的操作系统进化过程中经过了自然选择的过程。
我敢说,在Windows XP或Vista中完全没有留下Windows 1.0的一点影子,我们甚至都已经看不到任何一点Windows的前辈,MS-DOS操作系统的影子。如果喜欢,一些怀旧的人依然可以打开一个全屏的命令提示行窗口,去体会一下Windows发布之前的漫长岁月里,个人电脑的样子。
