OS 目标和功能
作为 用户-计算机
的接口
OS 提供的服务
- 程序开发
- 程序运行
- I/O 设备访问
- 文件访问控制
- 系统访问
- 错误检测和响应
- 记账
OS 提供三种重要接口
- 指令系统体系结构 ISA:定义计算机遵循的机器语言指令系统;
- 应用程序二进制接口 ABI:定义程序间二进制可移植性的标准;
- 应用程序编程接口 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 提供的机制
- 进程隔离
- 并发控制
- 虚拟机
- 检测点和回滚机制
多处理器与多核操作系统设计考虑因素
对称多处理器操作系统设计考虑因素
- 并发进程或线程
- 调度
- 同步
- 内存管理
- 可靠性和容错性
多核处理器上操作系统设计考虑因素
- 核内部硬件的并行,是指令级并行
- 单个处理器层次上,多道程序或多线程程序的并行能力
- 多核上,应用程序以并发多进程或多线程形式执行的潜在并能力