Windows内核原理与实现
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 Windows操作系统发展历史

Microsoft在操作系统领域中的发展最早开始于MS-DOS,并于20世纪80年代后期开始按两个分支发展:一是基于MS-DOS的Windows开发平台,并发展成Windows 95/98/Me这一系列操作系统;另一个分支则是以Windows NT为代表的操作系统系列,经历了Windows NT 3.1/3.5/3.51/4.0、Windows 2000、Windows XP/Server 2003,一直到Windows Vista/Server 2008和最近刚刚发布的Windows 7。后者是按照20世纪80年代后期的硬件基础全新设计的一款操作系统,其中包含了现代操作系统的各个要素。这也奠定了Windows作为现代操作系统典范的基础。下面介绍这一系列操作系统的发展历程。

Windows NT内核是在1988年秋季开始设计的,当时的设计目标是提供一个真正32位、抢占式调度和采用虚拟内存的网络操作系统。设计的初衷是可以在多种硬件体系结构和平台上运行,但随着计算机硬件市场的逐步发展,Windows NT最终仅支持Intel兼容的体系结构。另外一个值得一提的设计目标是,兼容已有的操作系统,包括OS/2、POSIX(针对UNIX类操作系统的一个接口标准)和Windows(基于MS-DOS版本的窗口系统)。但其间由于Windows 3.0在商业上取得巨大成功,于是Windows NT的设计也作了相应调整,以支持Windows应用程序的兼容性为主,而把OS/2兼容性移到了一个子系统中。

Windows NT内核在设计之初有清晰的目标,并且Microsoft集中了当时最有内核设计经验的专家(由David Cutler领头,他之前设计了VAX/VMS、RSX-11M和VAXELN操作系统)来担当此任,所以,Windows NT内核有一个非常整齐、先进的体系结构,并且综合考虑了安全性、扩展性等要素。这一结构在接下来的20年发展历程中基本保持不变,即使近几年硬件有了飞速的发展,Windows XP/Vista/7、Windows Server 2003/2008仍然沿袭了NT内核基本结构。

基于Windows NT内核的第一个操作系统于1993年发布,即Windows NT 3.1,这一版本支持Intel i386、Intel i486、MIPS R4000以及Digital Alpha处理器。而后,1994年秋天发布了Windows NT 3.5;1995年5月发布了Windows NT 3.51,在这个版本中加入了对于IBM PowerPC处理器的支持。这些版本均实现了Windows NT的基本设计目标。然而,从NT 3.1到NT 3.51版本上的变化,主要是让系统运行得更加可靠、速度更快,并且让系统自身的规模变得更加合理、精巧。

Windows NT 3.1至3.51这些版本采用了Windows 3.1窗口系统的界面风格,并且保持了对于MS-DOS和Windows 3.1应用程序的兼容性。接下来,Windows NT 4.0于1996年7月发布,此版本完全融合了Windows 95的界面风格,并且对Windows子系统作了适当调整,尤其将GDI转移到了内核中,从而显著地改进了系统性能。Windows NT 4.0是一个相对比较成熟和稳定的网络服务器操作系统,并且内置了Microsoft IIS(Internet Information Server)作为基本的Web服务器软件。在随后的3年多时间中,Microsoft又为NT 4.0版本发布了一系列补丁,更进一步完善了NT 4.0作为企业服务器操作系统的能力。

下一个版本是Windows 2000,它综合了Windows NT 4.0及其补丁中的各种组件,像活动目录和COM+等。而且,Windows 2000终结了Windows 9x这一分支的发展,也就是说,自Windows 2000以后,Microsoft的客户端操作系统和服务器端操作系统合并为一支。Windows 2000包含4个版本,其中既有客户机版本,也有服务器版本。这些版本共享同样的内核。除了功能上的综合以外,Windows 2000在安全性方面也有显著的进步,它充分发挥了NT系统中的安全框架,为企业网络环境提供全方位的安全服务。

此后,Microsoft于2001年8月发布了客户端操作系统Windows XP,以及于2003年4月发布了服务器端操作系统Windows Server 2003。Windows XP采用了全新的用户界面风格,并且在稳定性和运行效率方面比Windows 2000有了较大改进。而且,Windows XP首次采用软件激活机制来应对软件盗版问题,实践证明这是一种有效的软件保护手段。Windows Server 2003在稳定性、安全性和易管理性方面都超过了其前身Windows 2000服务器版本,是Microsoft公司在服务器操作系统领域的一个重要里程碑,并且也是Microsoft在倡导可信计算(Trustworthy Computing)以后发布的第一个操作系统。顺便提及,从Windows XP和Windows Server 2003开始,Windows操作系统除了发行32位版本,也发行64位版本。这标志着Windows操作系统进入了64位计算的领域。

接下来的版本则是Windows Vista和Windows Server 2008,它们分别是Windows XP和Windows Server 2003的替代版本。Windows Vista于2007年1月发布,除了全面更新用户界面风格,也集成和增强了桌面搜索的能力。Windows Vista比过去任何一个操作系统都更加关注安全性,它避免了用户直接在管理员权限下运行软件,从而防止了因滥用管理员权限而导致入侵事件发生。Windows Server 2008集成了Windows Vista的内核更新,并且在内存和处理器等硬件资源的热插拔方面提供了更好的支持,以减少服务器系统需要重新引导而停机的次数和时间。另外,Windows Server 2008对于硬件失败和进程崩溃提供了更加全面的报告机制。Windows Server 2008所有的版本都支持多处理器,不再区分单处理器和多处理器版本。值得一提的是,Windows Server 2008引入了对于虚拟化的支持,此特性被称为Hyper-V。另外,Windows Vista和Windows Server 2008改进了Windows NT文件系统NTFS,允许在不重新启动的情况下就可以做到自我修复,而在此之前,必须重新启动之后才能修复数据损坏。

最新的Windows操作系统版本是Windows 7,于2009年10月发布。相应的服务器版本为Windows Server 2008 R2。Windows 7的亮点并不在于它比Windows Vista又引入了多少新特性,而是着重于性能的提高,以及与Windows Vista的完全兼容性(包括应用程序和设备驱动程序的兼容)。在Windows 7的开发过程中,各种性能分析工具被用于测量系统在各个方面的性能,从而定位出导致性能不佳的代码路径,并改进这些细节实现。因此,在Windows 7系统上,从系统引导到用户的各种常见动作,性能都有了显著的提高。当然,新特性也引入了不少,例如新的任务栏(称为Superbar)、Windows Virtual PC和XP Mode等。Windows Server 2008 R2与Windows 7使用同一内核版本,但只发行64位版本,它可以支持64个物理处理器或256个逻辑处理器。

Windows操作系统的核心——NT内核经过20年的发展,已经非常成熟,其扩展性和安全性等重要的设计目标在这段发展历程中体现得淋漓尽致。Windows操作系统的每一个重要版本都将这一内核框架推向了新的顶峰。本书第2章将介绍Windows NT的体系结构,在9.4节还将介绍一些最新的发展和变化。