分类: WINDOWS
2008-01-10 13:58:57
现在我们已经了解了必须熟悉的术语、概念和工具,所以,我们准备开始挖掘Microsoft Windows操作系统的内部设计目标和数据结构。这一章讲述系统的总体结构——关键的部件、它们相互之间如何交互,以及它们分别运行在什么样的环境下。为了提供一个有助于理解Windows内部机理的框架,首先回顾一下最初的需求和设计目标,这些需求和目标基本上勾画出了Windows系统最初的设计和规范。
回到1989年,下面的需求导致了Windows NT的以下规范:
*提供一个真正32位的、抢先式的(preemptive)、可重入的(reentrant)虚拟内存操作系统;
*在多种硬件体系结构和平台上运行;
*可在对称多处理器系统(symmetric
multiprocessing systems)上运行,并且能很好地适应处理器的数量;
*成为一个主要的分布式计算平台,无论是作为网络客户还是服务器;
*能够运行大多数已有的16位MS-DOS和Microsoft Windows 3.1应用程序;
*符合政府对于POSIX 1003.1兼容性的要求;
*符合政府和工业界对于操作系统安全性方面的要求;
*支持Unicode,以便很容易地适应全球市场。
要创建一个满足这些需求的系统,必须做出数千个决定;为了便于做出这些决定,Windows NT设计小组在项目开始之初选择了下面的设计目标:
*扩展性(Extensibility) 编写的系统代码必须能够随着市场需求的变化而自如地增长和改变;
*可移植性(Portability) 系统必须能运行在多种硬件体系结构上,必须能根据市场的需要,相对容易地移到新的体系结构上;
*可靠性和健壮性(Reliability and
Robustness) 系统应该能够保护自己,不会因内部的错误和外部的篡改而不能工作。应用程序应该无法伤害操作系统或者其他的应用程序;
*兼容性(Compatibility) 虽然Windows NT应该扩展已有的技术,但是它的用户界面和API应该与老版本的Windows和MS-DOS兼容。而且它也应该能与其他的系统,比如UNIX、OS/2和NetWare,很好地互操作;
*性能(Performance) 在其他设计目标的约束下,系统在每一种硬件平台上应尽可能运行得更快,对外部的响应尽可能地及时。
随着我们挖掘Windows内部结构和内部操作的各种细节,你将会看到,这些原始的设计目标和市场要求是如何成功地融入到系统的构造过程中的。但是,在我们开始挖掘内部细节之前,先来看一下Windows的总体设计模型,并且将它与其他的现代操作系统作一比较。