02操作系统的历史、操作系统结构

对应视频内容:

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操作系统让不懂计算机的开始使用计算机。

还有很多面向不同的对象的操作系统。

二、操作系统的历史和演变过程

早期计算机使用纸带传输程序和数据,操作系统只起到加载作用。
CPU等硬件快速发展,计算机速度得到提升(批处理阶段/离线处理)。操作系统初步形成,初步体现操作系统并发特征。
内存容量越来越大、CPU执行多个程序(多道程序设计)。在程序1等待I/O操作时,操作系统去执行程序2,而不是等待程序1。
但是多道程序设计交互性不够好。为了更好地利用计算机资源,并且更好地和用户交互,出现了分时交互系统。两个程序轮流占用资源,比如程序A占用千分之一秒,程序B接上,运行千分之一秒后,又交给A。外设(时钟)定期产生中断,帮助操作系统完成相应的分时调度。
个人电脑操作系统,Windows的GUI更加用户友善。
多核多处理普遍存在。
网络快速发展,出现了分布式操作系统。松耦合、紧耦合系统由分布式操作性管理。
未来,生活中存在大量嵌入设备。

三、操作系统结构

简单的操作系统:MS-DOS(1981~1994)
不分模块的单体内核,用汇编语言设计。

Unix操作系统是1972由贝尔实验室设计,用C语言设计(有可移植性)。

微内核

为了将内核尽量小巧,提出微内核的设计,尽可能把内核功能移植到用户空间。功能作为进程,其之间通过内核的消息传递机制进行协调。微内核为松耦合结构。
微内核设计代价:程序间交互要通过内核,进行多次拷贝,开销较大。因此微内核在产业界应用较少。

外内核

速度快,主要在学术界有进一步研究。

ExoKernel(读作XO Kernel),与硬件打交道,完成硬件的

LibOS与软件打交道,程序可以面向自己的LibOS,再统一面向ExoKernel。
LibOS与应用紧耦合。ExoKernel完成硬件的隔离。

虚拟机 VMs

在传统OS之下,虚拟出多个计算机系统。在计算机系统上虚拟出一台完整的计算机,包含全部物理环境。多操作系统共享硬件资源。

上一篇:《Unix/Linux系统编程》第五章学习笔记


下一篇:unix/linux 终端