认识操作系统

操作系统

1 OS 简史

1.1 批处理操作系统

  • 1946-02-04 世界上第一台公认的通用计算机ENIAC在 宾夕法尼亚大学 诞生。
  • 1956 年实现 GM-NAA I/O 系统具备批处理特性。

1.2 从专用走向通用

  • 1964 年,美国IBM公司发布 IBM System/360 的大型机。将计算机架构和实现分开,奠定IBM PC兼容机的基础,操作系统进入通用操作系统时代。

1.3 分时与多任务

  • 1964 年通用电气和麻省理工学院发起 Multics 项目,目标是设计与实现一多用户、多任务、多层次的操作系统。Multics是最早使用高级语言编写的操作系统之一。
  • Unix起源于Multics,C语言之父 Dennis Ritchie1973 年使用C重写UNIX第四版。但因为商业版权不能自由使用。
  • Linux起源于Unix,芬兰程序员 Linus1991 年发布Linux。Linux是最流行的开源通用操作系统。

1.4 以人为本的人机交互

  • 1973 年,第一台个人计算机问世,也是最早引入GUI(图形用户界面)的操作系统 Xerox PARC
  • 1979 年,苹果创始人Jobs访问Xerox PARC,并在 1983年发布了 Apple Lisa 个人桌面计算机。
  • 随后微软创始人Bill Gates开发基于GUI的操作系统 Windows 1.0 ,于 1985 年发布。

2 OS 结构

构建一个复杂的系统,需要合理的架构和设计其内部结构,在不同的需求之间进行权衡。例如,用户目标是易用/易学/可靠/安全/流程等,系统目标是简单的实现/维护/灵活/可靠/高效等,一个合理的操作系统的设计需要在这些目标之间进行权衡。

2.1 复杂度管理

  • 机制与策略: 让系统通过多种不同的策略来适应不同的应用需求,而不需要重新来实现对应的具体机制,
  • M.A.L.H 方法: 模块化、抽象、分层、层级

2.2 内核架构

完整的操作系统由系统内核和系统框架组成,常见的内核架构有
认识操作系统_第1张图片

  • 简要结构: 功能简单的操作系统,将应用程序和操作系统放置在同一地址空间中,无需底层硬件提供复杂的内存管理、特权级隔离等功能。例如 FreeRTOS, uCOS, RT-thread 等
  • 宏内核: 通用的操作系统,将操作系统内核的所有模块放置在内核态运行,具备直接操作硬件的能力。例如 UNIX/Linux, FreeBSD 等
  • 微内核: 简单的操作系统,将单个功能或模块从宏内核中解耦放置到用户态运行,内核态保留核心的 IPC 功能。例如 Harmony/Mach/QNX/MINIX/L4/seL4/Zircon 等
  • 外核: 特定领域的操作系统,由应用层来控制硬件资源的抽象,此时内核态核心机制是多路复用。例如 LibOS
  • 其他内核架构: 例如 多内核,混合内核

2.3 框架结构

操作系统框架是 OS 的组成之一,例如 Android 系统框架: 硬件抽象层 - Android库 - Android运行时环境 - Android应用框架

References

  • 《现代操作系统:原理与实现》

你可能感兴趣的:(计算机基础:操作系统和体系结构,OS)