操作系统定义
操作系统:管理整个计算机系统的硬件和软件资源,是硬件软件的中间层
- 是系统资源的管理者
- 是最接近硬件的一层软件
- 向上层提供方便易用的服务

加载位置:RAM
操作系统特征
| 特征 | 含义 |
|---|---|
| 并发 | 同时存在多个运行程序 · 宏观上有多道程序同时执行;微观上每时刻单处理机实际仅有一道程序执行 · 并发性通过分时实现 |
| 共享 | 系统资源可供多个并发进程共同使用 · 互斥共享方式:同一时段只允许一个进程访问 · 同时访问方式:允许多个进程宏观上同时访问 |
| 虚拟 | 虚拟技术:将物理实体变为逻辑对应物 · 时分复用处理器分时共享 · 空分复用虚拟存储器 |
| 异步 | 并发程序以不可预知速度推进 |
最基本特征:并发、共享
操作系统目标 & 功能
管理计算机系统资源
处理机管理:对进程管理
存储器管理:给并发运行提供环境
文件管理:负责文件管理
设备管理:I/O请求
用户和硬件系统接口
命令接口:进行作业控制
- 联机命令接口:(交互式命令接口)输入命令,做出反馈
- 脱机命令接口:(批处理命令接口)一组作业控制命令
操作系统与用户通信接口
广义指令:即系统调用命令
命令解释器
shell:命令解析器
程序接口:一组系统调用
- 系统调用:提供给应用程序接口,只能通过用户程序间接使用
- 用户调用程序接口请求系统服务
库函数 & 系统调用
库函数是语言或应用程序一部分
系统调用是操作系统一部分
库函数运行用户空间中
系统调用运行内核空间中
许多库函数会使用系统调用实现
库函数未使用系统调用执行效率比系统调用高系统调用状态切换
用作扩充机器
将裸机改造功能更强
操作系统运行环境
计算机系统中 CPU 中执行两种程序,其一为内核程序操作系统自身程序,另一种为应用程序。
运行机制
特权指令:不允许用户直接使用的指令,必须在核心态执行
- 清理内存
- 置时钟
- 分配系统资源
- 修改虚存表
- 修改用户权限
访管指令:在用户态下要求操作系统提供服务的指令,引起访管中断,进入内核
具体实现:将CPU划分为用户态和内核态
区分两态的目的:保护系统程序
内核
- 与硬件关联紧密的模块
- 运行频率较高的程序
时间管理
- 向用户提供标准系统时间
- 实现进程切换
中断机制
- 提高CPU利用率
原语
- 最接近硬件
- 原子性
- 运行时间较短、调用频繁
系统控制的数据结构及处理
- 进程管理
- 存储器管理
- 设备管理
中断 & 异常
用户态$\rightarrow$内核
$$
\text{中断}\left{ \begin{array}{l}
\text{内中断}\left{ \begin{array}{l}
\text{自愿中断}——\text{指令中断}\
\text{强迫中断}\left{ \begin{array}{l}
\text{硬件故障}\
\text{软件中断}\
\end{array} \right.\
\end{array} \right.\
\text{外中断}\left( \text{强迫中断} \right) \left{ \begin{array}{l}
\text{外设请求}\
\text{人为干预}\
\end{array} \right.\
\end{array} \right.
$$
中断(外中断):来自CPU执行指令以外事情发生
异常(内中断/陷入):CPU执行内部事件引起
中断处理
- 关中断
- 保存断点PC & PSW
- 中断服务程序寻址
- 保存现场和屏蔽字
- 开中断
- 执行中断服务程序
- 关中断
- 恢复现场和屏蔽字
- 开中断、中断返回
系统调用
用户调用操作系统提供子功能
- 设备管理
- 文件管理
- 进程控制
- 进程通信
- 内存管理

用户态到核心态转换由硬件完成
体系结构
大内核:操作系统主要功能整体置于核心态
微内核:内核仅保留最基础功能
- 优点
- 添加系统服务,不必修改内核
- 系统更可靠
- 缺点
- 性能降低