Chapter3 操作系统结构
3.1 操作体统结构
15.系统结构概述
像现代操作系统这样庞大而复杂的系统,如果要正常运行并易于修改,就必须仔细设计。
一种常见的方法是将任务划分为小的组件,而不是只有一个整体系统。
这些组件中的每一个都应该是系统中定义良好的部分,并具有仔细定义的输入、输出和功能。
系统设计人员如何组织这些组件?
· 简单结构(或无结构)
· 分层结构
· 微内核
· 虚拟机
16.简单结构
许多系统没有定义良好的结构。它们起初是一个小的、简单的、有限的系统,后来演变成一个复杂的系统。
例子:ms - dos和Unix
17.分层结构
操作系统被分解成多个层,每个层都构建在较低层的上面。
例子:The THE operating system by Dijkstra.
The IBM OS/2 operating system
分层机构的主要困难:1.仔细定义层次; 2. 效率较低
18 微内核
随着Unix操作系统的扩展,内核变得庞大且难于管理。
微内核方法通过从内核中删除所有非必需的组件并将它们实现为系统级和用户级程序/来构建操作系统。
哪些组件应该保留在微内核中?
· CPU管理 · 内存管理 · 通信设施。
示例1
来自卡内基梅隆大学的开源Mach.----作为苹果Mac OS X和DEC Tru64 Unix的内核。
示例2 QNX实时操作系统
示例3 Micorsoft Windows NT / XP
19 虚拟机
如果我们从微内核更进一步,底层的实际硬件被“克隆”到几个相同的虚拟机中。
也就是说,虚拟机提供了与底层裸硬件相同的接口。然后,操作系统功能建立在虚拟机之上。
虚拟机的优缺点
· 虚拟机概念提供了系统资源的完整保护,因为每个虚拟机都与所有其他虚拟机隔离。但是,这种隔离不允许直接共享资源
· 虚拟机系统是操作系统研究和开发的完美工具。
· 由于需要向底层机器提供完全相同的副本,因此很难实现虚拟机概念。
虚拟机的结构:
实际用例:
`· IBM VM/370 · VMware · Microsoft virtualPC · sunMicrosoft java virtual machine (JVM)
3.2 操作系统设计
设计目标
用户目标:操作系统应该使用方便、易于学习、可靠、安全、快速。
系统目标:操作系统应该易于设计、实现和维护,以及灵活、可靠、无错误和高效
20.策略与机制(方法)
策略——该怎么做
例如,用户不应该能够读取其他用户的文件。
机制——如何做
例如,在打开的系统调用中检查文件权限。
策略与机制的分离是一个非常重要的原则,如果以后要更改策略决策,它允许最大限度的灵活性。
两个极端:
微内核——所有的机制,几乎没有策略
The Apple Macintosh的策略和机制是结合在一起的
21 操作系统的实现
传统上用汇编语言编写的操作系统现在可以用高级语言编写。
用高级语言编写的代码的优点:
·可以写得更快。更紧凑。
·更容易理解和调试。
·更容易移植到其他硬件上。