课程总结
操作系统是计算机系统中负责资源管理的核心系统软件。回顾整个课程,可以清晰地看到一条主线:操作系统以进程为管理单元,以 CPU、内存、文件和 I/O 设备为管理对象,通过调度、同步、分配与保护等机制,在”高效、公平、可靠”之间取得平衡。
一、课程知识体系
| 模块 | 核心内容 | 关键机制与算法 |
|---|---|---|
| 操作系统概述 | 概念、特征、功能、发展历程 | 内核态/用户态、中断与异常、系统调用、体系结构 |
| 进程管理 | 进程与线程、调度、同步互斥、死锁 | 状态转换、调度算法、信号量、管程、银行家算法 |
| 内存管理 | 连续与非连续分配、虚拟内存 | 动态分区、分页/分段、页面置换算法、工作集 |
| 文件系统 | 文件组织、目录、物理分配、磁盘管理 | 目录结构、索引节点、磁盘调度算法、空闲空间管理 |
| I/O 系统 | 设备分类、控制方式、缓冲 | 中断、DMA、SPOOLing、I/O 层次结构 |
二、五大模块要点
1. 操作系统概述
操作系统为用户与硬件之间提供接口,具有并发、共享、虚拟、异步四大特征,核心功能包括处理机管理、存储器管理、设备管理与文件管理。运行环境的关键是内核态与用户态的切换,由中断、异常与系统调用触发。体系结构上,单内核性能高但耦合紧密,微内核可靠性高但性能有开销,层次结构与模块化结构在二者之间折中。
2. 进程管理
- 进程与线程:进程是资源分配的基本单位,线程是 CPU 调度的基本单位;进程三态(就绪、运行、阻塞)转换是理解调度的基础。
- 处理机调度:先来先服务(FCFS)公平但平均等待时间长;短作业优先(SJF)周转最短但需要预知执行时间;时间片轮转(RR)响应快;多级反馈队列结合多种算法优点,是实际系统的主流方案。
- 同步与互斥:临界区问题可用软件方法(Peterson 算法)或硬件方法(中断屏蔽、Test-and-Set、Compare-and-Swap)解决;信号量与管程是高级同步工具;经典问题包括生产者-消费者、读者-写者与哲学家进餐。
- 死锁:四个必要条件(互斥、请求并保持、不可剥夺、循环等待)缺一不可;对策包括预防、避免(银行家算法)、检测与恢复。
3. 内存管理
- 连续分配:动态分区分配可采用首次适应、最佳适应、最坏适应等策略,会产生碎片,可用紧凑技术解决。
- 非连续分配:分页(页号 + 页内偏移)消除外部碎片,分段(段号 + 段内偏移)符合逻辑结构,段页式结合二者优点。
- 虚拟内存:基于局部性原理,请求分页只调入所需页面,页面置换算法(FIFO、LRU、OPT)与工作集模型共同决定系统性能。
4. 文件系统
- 文件与目录:文件按内容与用途分类,目录结构从单级、两级发展到树形结构;硬链接共享 inode,符号链接保存路径字符串。
- 物理分配:连续分配简单但产生外部碎片,链接分配解决碎片但随机访问慢,索引分配支持直接访问。
- 磁盘管理:磁盘调度算法(FCFS、SSTF、SCAN、C-SCAN)的目标是减少寻道时间;空闲空间可用位图或空闲链表管理。
5. I/O 系统
I/O 控制方式从程序查询、中断、DMA 发展到通道,逐步减少 CPU 参与。缓冲技术(单缓冲、双缓冲、循环缓冲)平滑速度差异,SPOOLing 技术将独占设备虚拟为共享设备。I/O 子系统按”用户层接口 → 设备无关层 → 设备驱动层 → 硬件控制层”分层设计。
三、核心算法速查
| 算法 | 适用场景 | 关键思想 |
|---|---|---|
| FCFS / SJF / RR | 进程调度 | 按到达顺序 / 按执行时间 / 按时间片轮转 |
| 银行家算法 | 死锁避免 | 安全性检查,仅在安全状态下分配资源 |
| 首次/最佳/最坏适应 | 动态分区分配 | 按首个 / 最小 / 最大空闲分区分配 |
| FIFO / LRU / OPT | 页面置换 | 先进先出 / 最近最久未用 / 未来最远使用 |
| SSTF / SCAN / C-SCAN | 磁盘调度 | 最短寻道 / 电梯式扫描 / 循环扫描 |
四、复习建议
- 抓主线:以”资源管理”为主线,把五大模块串联——进程管理管 CPU,内存管理管内存,文件系统管外存,I/O 系统管设备。
- 记算法:调度、置换、死锁、磁盘四类算法是考试与工程的核心,重点比较各算法的优点、缺点与适用场景。
- 重理解:信号量同步、银行家算法、页面置换等经典问题建议动手推导一遍过程,理解比记忆更重要。
- 做综合:操作系统题目常跨模块(如虚拟内存与页面置换、文件系统与磁盘调度),注意知识之间的关联。
