OS 目标和功能

作为 用户-计算机 的接口

OS 提供的服务

  1. 程序开发
  2. 程序运行
  3. I/O 设备访问
  4. 文件访问控制
  5. 系统访问
  6. 错误检测和响应
  7. 记账

OS 提供三种重要接口

  1. 指令系统体系结构 ISA:定义计算机遵循的机器语言指令系统;
  2. 应用程序二进制接口 ABI:定义程序间二进制可移植性的标准;
  3. 应用程序编程接口 API

作为资源管理器

  • 内存管理
  • 进程管理
  • 设备管理
  • 文件管理
  • 系统安全
  • 系统性能控制
  • 作业记账
  • 错误检测辅助
  • 协调用户与使用其它软件

扩展与兼容

OS 演化历史

串行处理

批处理系统

单道批处理

多道批处理

分时系统

实时系统

主要研究内容

进程

内存管理

信息保护和安全

调度和资源安全

现代 OS 特征

分层式

  • 典例:VAX/VMS

宏内核

  • 典例:Linux Windows iOS Android

微内核体系结构

  • 典例:Fuchsic Harmony

多线程

对称多处理

分布式操作系统

面向对象设计

容错性

系统可靠性

  • :从时刻 t=0 开始运行,直到 t 时刻系统仍然正确运行的概率。
  • 平均失效时间 MTTF(Mean Time to Failure):
  • 平均修复时间 MTTR (Mean Time to Repair)

  • 系统可用性

错误

  • 永久性错误:故障部分替换或修复前一直存在;

  • 临时错误:

    • 瞬时错误:如冲击噪声
    • 间歇性错误:注意不是周期性

如何提高容错性?

  • 增加冗余度:
    • 空间冗余:多个组件同时执行相同功能;
    • 时间冗余:检测到错误时重复某一功能或操作;
    • 信息冗余:通过复制或编码数据,进行检测和修复位数据;

OS 提供的机制

  • 进程隔离
  • 并发控制
  • 虚拟机
  • 检测点和回滚机制

多处理器与多核操作系统设计考虑因素

对称多处理器操作系统设计考虑因素

  • 并发进程或线程
  • 调度
  • 同步
  • 内存管理
  • 可靠性和容错性

多核处理器上操作系统设计考虑因素

  • 核内部硬件的并行,是指令级并行
  • 单个处理器层次上,多道程序或多线程程序的并行能力
  • 多核上,应用程序以并发多进程或多线程形式执行的潜在并能力