【操作系统/OS笔记02】操作系统的历史、操作系统结构

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

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

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

  • 纸带+人工操作系统
  • 多道操作系统
  • 分时操作系统(1/1000 s一次分时)
  • 单用户操作系统
  • 分布式操作系统

计算机的快速发展与各个底层硬件的快速发展是分不开的(CPU的计算能力,IO的读写能力和网络带宽)

  • 早期计算机使用纸带传输程序和数据,操作系统只起到加载作用。

  • CPU等硬件快速发展,计算机速度得到提升(批处理阶段/离线处理)。操作系统初步形成,初步体现操作系统并发特征。

  • 内存容量越来越大、CPU执行多个程序(多道程序设计)。在程序1等待I/O操作时,操作系统去执行程序2,而不是等待程序1。

  • 但是多道程序设计交互性不够好。为了更好地利用计算机资源,并且更好地和用户交互,出现了分时交互系统。两个程序轮流占用资源,比如程序A占用千分之一秒,程序B接上,运行千分之一秒后,又交给A。外设(时钟)定期产生中断,帮助操作系统完成相应的分时调度。

  • 个人电脑操作系统,Windows的GUI更加用户友善。

  • 多核多处理普遍存在。

  • 网络快速发展,出现了分布式操作系统。松耦合、紧耦合系统由分布式操作性管理。

  • 未来,生活中存在大量嵌入设备。

操作系统结构

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

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

微内核

为了将内核尽量小巧,提出微内核的设计,尽可能把内核功能移植到用户空间。功能作为进程,其之间通过内核的消息传递机制进行协调。微内核为松耦合结构。

【操作系统/OS笔记02】操作系统的历史、操作系统结构

微内核设计代价:程序间交互要通过内核,进行多次拷贝,开销较大。因此微内核在产业界应用较少。

外内核

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

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

LibOS与软件打交道,程序可以面向自己的LibOS,再统一面向ExoKernel。

【操作系统/OS笔记02】操作系统的历史、操作系统结构

LibOS与应用紧耦合。ExoKernel完成硬件的隔离。

虚拟机 VMs

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