Concepts
Definition
操作系统是一个大型的程序系统, 它负责(处理机管理, 存储管理, 设备管理, 文件系统):
- 计算机系统软、硬件资源的分配和使用
- 控制和协调并发活动
- 提供用户接口, 使用户获得良好的工作环境
操作系统的特性
- 并发性 : 能处理多个同时性活动的能力
- 共享性 : 多个计算任务对系统资源的共同享用
- 不确定性: 操作系统能处理随机发生的多个事件 - 程序运行次序的不确定性, 程序运行时间的不确定性
操作系统的资源管理功能
处理器调度
- 确定进程调度策略
- 给出进程调度算法
- 进行处理机的分派
存储器管理
- 存储分配与存储无关性
为用户提供逻辑地址, 解决主存分配问题
- 存储保护
实现系统程序与用户程序之间的隔离, 实现不同用户程序之间的隔离
- 存储扩充
虚拟内存管理: 主存+磁盘, 为每个进程管理一个虚拟内存映射链表
设备管理
- 设备无关性
用户向系统申请和使用的设备无关实际操作的设备, 操作系统为用户提供统一的逻辑设备(名)
- 设备分配(独享分配/共享分配/虚拟分配)
- 设备的传输控制(设备启动处理, 设备中断处理, 设备结束处理)
组织设备完成 I/O 操作, 并正确处理中断
文件资源管理
为用户提供一种简便、统一的存取和管理信息的方法, 解决信息的共享/数据的存取控制/数据的保密等问题:
- 实现用户的信息组织
- 提供存取方法
- 实现文件共享
- 保证文件安全
- 保证文件完整性
- 完成磁盘空间分配
操作系统的演变
- 单用户系统(45-55) -> 批处理系统(55-65) -> 多道系统(65-80) -> 分时系统(70-) -> 分布式系统
- 手工系统 -人机矛盾-> 联机批处理系统 -CPU I/O 矛盾 -> 脱机批处理系统 -响应能力-> 执行系统(中断/通道) -并行-> 多道批处理系统(粗粒度) -> 分时系统(细粒度) -> 实时系统 -> 个人/网络/分布式系统
批处理系统
作业成批送入计算机, 然后由作业调度程序自动选择作业, 在系统内(多道)运行
- 系统吞吐率高: 脱机/多道运行
- 作业周转时间长, 用户使用不方便, 缺少交互性
分时系统
采用时间片(time slice)轮转(round robin)的方法, 使计算机同时为多个终端用户服务, 保证对每个用户都有足够快的响应时间, 并提供交互会话功能
- 并行性
- 独占性
- 交互性
单处理器系统: 处理器与设备/处理器与通道/通道与通道/设备与设备可以同时刻并行(真正意义上的同时进行)
实时系统
实时系统对外部输入的信息, 能够在规定时间内处理完毕并作出反应(实时控制/实时信息处理) e.g. 嵌入式操作系统
- 可靠性
- 安全性
- 及时响应
操作系统虚拟机
- 在裸机上配置了操作系统后便构成了操作系统虚拟机
- 裸机的指令系统: 机器指令; 操作系统虚拟机的指令系统: 系统调用
用户接口
- 操作/命令接口(操作命令): 作业控制语言/键盘命令(CLI)/图形化用户界面(GUI)
- 程序接口(系统功能调用): 在用户程序中可以直接使用系统功能调用(system call)请求操作系统提供的服务
操作系统的组织结构
- 一体化结构
- 模块化结构
- 可扩展内核(微内核)结构
- 层次化结构
并发
Concurrent
程序并发的特点
- 程序执行的间断性
- 相互通信的可能性
- 资源分配的动态性