一,操作系统软件的规模
-
在计算机软件发展史上,OS 是第一个大规模的软件系统
-
1960年代,由 OS 开发所衍生的体系结构、模块化开发、测试与验证、演化与维护等研究,直接催生了
软件工程
这一新兴研究领域- 另一个催生来源是 DB 应用引发的需求与规格
-
OS 作为大型软件,
结构设计是关键
-
结构设计直接决定了操作系统的
效率
-
决定了操作系统的
开发
-
决定了操作系统的
可靠性
-
决定了操作系统以后版本的
演化
和维护
-
二,操作系统软件的结构设计
-
OS 构件
- 内核、进程、线程、管程等
-
设计概念
- 模块化、层次式、虚拟化
-
内核设计是 OS 设计中
最为复杂、最为关键
的部分-
操作系统必须提供一个内核
-
只有在这个内核的支持下,计算机上运行的各种各样的应用以及系统软件才能被抽象成进程、线程、管程等实体
-
三,操作系统内核
-
单内核:内核中各部件杂然混居的形态,始于 1960 年代,广泛使用;
- 如 Unix/Linux,及 Windows(自称采用混合内核的 CS 结构)
-
微内核:1980年代始,强调结构性部件与功能性部件的分离,大部分 OS 研究都集中在此
-
把功能性部件抽离成进程在外层运行
-
由于效率问题,产品化的例子不多,学术研究较多
-
-
混合内核:微内核和单内核的折中,较多组件在核心态中运行。
- Windows 尝试过
-
外内核:尽可能减少内核的软件抽象化和传统微内核的消息传递机制,使得开发者专注于硬件的抽象化;
- 部分嵌入式系统使用
四,操作系统的层次结构
4.1 理想化的层次结构
实际上,此结构运用不多。当前主流是:文件系统同样属于内核