本次笔记内容:
1.4 如何学习操作系统
1.5 操作系统的实例
1.6 操作系统的历史
1.7 操作系统结构
1.8 小结
UNIX家族: UNIX BSD是由伯克利在UNIX之上开发的开源操作系统。UNIX和C语言由一个团队开发,UNIX由C开发。
Linux家族: 类UNIX的操作系统。安卓的内核也为Linux Kernel。
Windows家族: 最初为DOS系统。桌面占统治地位,移动端与服务器较为弱势。Windows操作系统让不懂计算机的开始使用计算机。
还有很多面向不同的对象的操作系统。
简单的操作系统:MS-DOS(1981~1994)
不分模块的单体内核,用汇编语言设计。
Unix操作系统是1972由贝尔实验室设计,用C语言设计(有可移植性)。
为了将内核尽量小巧,提出微内核的设计,尽可能把内核功能移植到用户空间。功能作为进程,其之间通过内核的消息传递机制进行协调。微内核为松耦合结构。
微内核设计代价:程序间交互要通过内核,进行多次拷贝,开销较大。因此微内核在产业界应用较少。
速度快,主要在学术界有进一步研究。
ExoKernel(读作XO Kernel),与硬件打交道,完成硬件的
LibOS与软件打交道,程序可以面向自己的LibOS,再统一面向ExoKernel。
LibOS与应用紧耦合。ExoKernel完成硬件的隔离。
在传统OS之下,虚拟出多个计算机系统。在计算机系统上虚拟出一台完整的计算机,包含全部物理环境。多操作系统共享硬件资源。