9.8实例研究,Windows2000的系统结构? Windows2000系统结构的设计需求包括:
提供一个真正 32位抢占式可重入的虚拟内存操作系统 。
能够在多种硬件体系结构上运行 。
能够支持 SMP结构和 CLUSTER结构 。
优秀的分布式计算平台,既可以作为网络客户,又可以作为网络服务器 。
支持 FAT,FAT32,NTFS和 CDFS等多种文件系统 。
可以运行多数 16位的 DOS程序和 Windows 3.1程序 。
符合政府对支持 POSIX 1003.1的要求 。
支持政府和企业对操作系统安全性的要求 。
支持 Unicode,适应对全球市场的需要 。
Windows2000系统结构的应达到如下的设计目标:
可扩充性:当市场需求变化时,代码必须易于扩充和改动 。
可移植性:能够在多种体系结构中运行,
并相对简单地移入新体系结构 。
可靠性与坚固性:能够防止内部故障和外部侵扰造成的损害 。
兼容性:与 DOS,Windows的旧版本兼容,并和一些其他的操作系统如 Unix,OS2
和 Netware相互操作 。
性能:能够达到较高的效率 。
Windows2000的设计者们认为:
采用整体式或层次式的操作系统体系结构是不恰当的,它们在可扩充性和可移植性方面效果不好 。
采用类似于 Mach的微内核结构也是不恰当的,
纯的微内核设计只涉及最小内核,其他服务都运行在用户态,它的运算费用太高,在商业上不适用。
因此,Windows2000的系统结构在纯微内核结构的基础上做了一些扩展,它融合了层次式结构和纯微内核结构的特点 。 对操作系统性能影响很大的组件在内核下运行,而其他一些功能则在内核外实现 。 如图 9-12简单说明 Windows2000的系统结构
Windows2000的关键系统组件
1) 硬件抽象层 HAL
2) 设备驱动程序
3) 内核
4) 执行体
5) NTDLL.DLL
6) 系统进程
7) 服务
8) 环境子系统
9) 用户应用程序和子系统动态连接库