操作系统与分布式计算 课程总结
- 教师:宋红(计算机学院)
- 周期:16 周(实际 11 次有效课)
- 评分:考试 70% + 实验 20% + 作业 10% + 课堂互动奖励 10%
- 平台:乐学(选课密码 OS2026)、i 北理(通知)
课程模块导航
- 操作系统概述 — L1~L3:OS 定义、发展史、结构、中断、系统调用
- 进程管理 — L4~L9:进程概念、控制、调度、同步互斥、IPC、死锁
- 存储管理 — L10~L12:连续/页式/段式/段页式、虚拟内存、页面置换
- 文件管理 — L13~L14:文件与目录、文件系统实现、保护与安全
- 设备管理 — L15~L16:I/O 控制、SPOOLing、缓冲、磁盘调度、RAID
- 分布式系统 — L17:RPC 远程过程调用
- Linux内存管理 — L18:Buddy System、Slab、写时拷贝
复习优先
考试/复习重点
- 期末结构:选择 30 分 + 填空 20 分 + 简答 15 分 + 计算分析 35 分 = 100 分
- 习题串讲:操作系统概论、进程管理、PV 操作
- 多级页表计算(考研常见题)
- 强调理解而非死记硬背
作业
| 作业 | 截止 | 备注 |
|---|---|---|
| Linux 调度策略调研 | 课堂检查(第 4 周) | 课外调研 |
| 哲学家就餐死锁避免方案 | 待分享(第 5 周布置) | 修改避免死锁 |
| 读者 - 写者第二类实现 | 自行完成(第 5 周布置) | 写者优先 |
| 死锁检测实例 | 布置(第 7 周) | |
| 第一次作业 | 3 月 16 日 | 迟交不影响判分 |
| 银行叫号 PV 操作 | 思考题(第 13 周) | 下节课讲 |
考勤/签到/小测
- 第 1 周:~1/6 缺勤,老师点名提醒
- 第 2 周:点名董世凯、赵海宁等,留学生 Qingyu Bai 互动
- 第 3 周:提问陈一磊、王佳
- 第 4 周:点名 8 人(曹凯琪、黄康、李毅佳、梅智轩、周丁男、杜春雨、杨寿辉、曾建成),缺勤率高
- 第 5 周:点名胡茂希、恒强玉、张博、成毅人
- 第 7 周:点名 7 人(秦太稳、许佳琪、杨海天、刘家果、瞿秋实、张浩、崔思瑞)
其他
- 五一调课换掉一节课(第 11 周提)
- 第 4 周原定上机改期(机房占用)
- 第 9 周:后续 3 次上机调整到最后 3 次课与答疑结合
- 第 13 周开始去机房(实验 + 答疑 + 习题课,地点 i 北理通知)
- 教室招实习生:AI 医疗/智能制造/AI for Science/无人机方向(第 7 周提)
课程索引
| 课次 | 笔记 | 视频 | 点名 | 作业 | 考试 | 概述 |
|---|---|---|---|---|---|---|
| 第 1 周 星期二 第 2 大节 | notes/第1周...md | screen_操作系统与分布式计算_第1周...mp4 | 有 | 有 | 课程导论 +OS 概述,评分规则,发展史,核心态/用户态 | |
| 第 2 周 星期二 第 2 大节 | notes/第2周...md | screen_操作系统与分布式计算_第2周...mp4 | 有 | OS 架构(单内核/微内核),系统调用,进程概念引入 | ||
| 第 3 周 星期二 第 2 大节 | notes/第3周...md | screen_操作系统与分布式计算_第3周...mp4 | 有 | PCB、三/五/七状态模型、进程控制原语、FCFS/SJF 调度 | ||
| 第 4 周 星期二 第 2 大节 | notes/第4周...md | screen_操作系统与分布式计算_第4周...mp4 | 有 | 有 | 线程概念、同步互斥、Dekker/Peterson、P/V 操作 | |
| 第 5 周 星期二 第 2 大节 | notes/第5周...md | screen_操作系统与分布式计算_第5周...mp4 | 有 | 有 | PV 三大经典问题、管程、IPC、死锁预防、银行家算法 | |
| 第 7 周 星期二 第 2 大节 | notes/第7周...md | screen_操作系统与分布式计算_第7周...mp4 | 有 | 有 | 死锁收尾(扩展银行家 + 资源分配图)+ 存储管理开篇 | |
| 第 8 周 星期二 第 2 大节 | notes/第8周...md | screen_操作系统与分布式计算_第8周...mp4 | 页式/段式/段页式存储、TLB、覆盖/交换、虚拟存储 | |||
| 第 9 周 星期二 第 2 大节 | notes/第9周...md | screen_操作系统与分布式计算_第9周...mp4 | 有 | 五种页面置换、全局置换 WS/SWS、多级页表、文件系统开篇 | ||
| 第 11 周 星期二 第 2 大节 | notes/第11周...md | screen_操作系统与分布式计算_第11周...mp4 | 文件管理:混合索引、目录结构、成组链接法、系统调用 | |||
| 第 12 周 星期二 第 2 大节 | notes/第12周...md | screen_操作系统与分布式计算_第12周...mp4 | 设备管理:I/O 控制方式、四层架构、SPOOLing、缓冲、磁盘 | |||
| 第 13 周 星期二 第 2 大节 | notes/第13周...md | screen_操作系统与分布式计算_第13周...mp4 | 有 | 有 | 磁盘调度 +RAID+RPC+Buddy/Slab+ 写时拷贝 + 考试结构说明 | |
| 第 6 周 星期二 第 2 大节 | 无 | ...第6周...mp4 | 空课(仅噪声) | |||
| 第 10 周 星期二 第 2 大节 | 无 | ...第10周...mp4 | 空课(仅噪声) | |||
| 第 14 周 星期二 第 2 大节 | 无 | ...第14周...mp4 | 空课(非教学内容) | |||
| 第 15 周 星期二 第 2 大节 | 无 | ...第15周...mp4 | 空课(非教学内容) |
课程内容
第 1 周 星期二 第 2 大节
- 时间点:
[01:10]自我介绍宋红;[03:46]评分规则;[17:58]乐学 OS2026;[26:07]OS 定义;[54:01]OS 发展史;[01:05:53]核心态/用户态;[01:35:57]分时/实时 OS
课程导论:OS 是资源管理者 + 应用运行平台,发展史(单道→多道→分时→实时),核心态/用户态与 trap 指令,并发 vs 并行概念。
第 2 周 星期二 第 2 大节
- 时间点:
[04:31]中断 vs 异常;[29:38]结构演进;[38:56]单内核 vs 微内核;[56:42]系统调用;[01:04:54]trap 指令;[01:31:04]顺序执行特征;[01:43:20]并发执行新问题
OS 架构设计:中断/异常分类、内核定义与任务、单内核/微内核/分层/模块结构,系统调用机制(trap 指令),引入进程概念解决程序串行与并发矛盾。
第 3 周 星期二 第 2 大节
- 时间点:
[06:21]三状态模型;[10:14]七状态;[27:47]原语;[38:33]fork();[01:11:43]调度分类;[01:30:29]FCFS;[01:43:03]SJF
进程管理核心:PCB、三/五/七状态模型、进程控制原语(fork/create/block/wakeup)、模式切换 vs 进程切换、三类调度、FCFS 与 SJF 算法实例计算。
第 4 周 星期二 第 2 大节
- 时间点:
[03:10]Linux 调度检查;[14:23]线程概念;[56:01]同步 vs 互斥;[01:14:37]CR/CS;[01:20:22]Dekker→Peterson;[01:54:35]信号量 P/V
线程概念入门,并发同步互斥问题,软件互斥(Dekker/Peterson)、硬件互斥(关中断/TestAndSet/Swap)、信号量机制 P/V 操作。
第 5 周 星期二 第 2 大节
- 时间点:
[13:00]生产者 - 消费者;[23:38]P 顺序颠倒→死锁;[31:00]读者 - 写者;[42:36]哲学家就餐;[54:39]管程;[01:11:45]IPC;[01:41:00]死锁四条件;[02:06:00]银行家算法
PV 操作三大经典问题,管程封装,IPC(共享内存/消息传递/管道),死锁四条件与预防/避免,银行家算法。
第 7 周 星期二 第 2 大节
- 时间点:
[08:00]扩展银行家算法;[24:00]T0 实例安全序列;[44:00]资源分配图;[55:00]死锁解除;[01:02:00]地址重定位;[01:14:00]分区管理
死锁收尾(扩展银行家 + 资源分配图 + 死锁解除)、存储管理开篇(地址重定位、MMU、固定/可变分区、内外碎片)。
第 8 周 星期二 第 2 大节
- 时间点:
[08:00]页式管理;[22:00]TLB 快表;[31:00]Bitmap;[52:00]段式;[01:03:00]段页式;[01:14:00]覆盖/交换;[01:22:00]虚拟存储
页式/段式/段页式存储管理,TLB 快表命中率,Bitmap 位图,覆盖与交换技术,虚拟存储三大要素(局部性原理 + 缺页中断 +swap 交换区)。
第 9 周 星期二 第 2 大节
- 时间点:
[08:00]FIFO+Belady;[14:00]OPT;[19:00]LRU;[25:00]Clock;[31:00]NRU;[35:00]工作集 WS;[01:00:00]多级页表;[01:32:00]文件系统开篇
五种页面置换算法(FIFO/OPT/LRU/Clock/NRU),Belady 异常,全局置换与工作集,多级页表计算,文件系统开篇(FCB/文件类型)。
第 11 周 星期二 第 2 大节
- 时间点:
[15:37]混合索引~40GB;[31:24]目录结构演变;[58:28]硬/软链接;[01:08:47]成组链接法;[01:50:32]文件系统调用
文件系统底层:混合索引(UNIX inode)、目录结构(一级→二级→树形→无环图)、硬链接 vs 软链接、成组链接法分配/回收、文件系统调用。
第 12 周 星期二 第 2 大节
- 时间点:
[41:12]程序直接控制→[43:40]中断→[53:29]DMA→[58:44]通道;[01:15:50]SPOOLing;[01:23:02]I/O 四层架构;[01:49:02]缓冲技术
设备管理:四种 I/O 控制方式、设备分类、SPOOLing、I/O 软件四层架构、缓冲技术(单/双/循环)、磁盘物理结构与访问时间。
第 13 周 星期二 第 2 大节
- 时间点:
[06:59]FCFS→[11:01]SSTF→[15:01]SCAN→[18:29]C-SCAN→[22:04]N-step SCAN;[29:01]RAID;[32:41]RPC;[01:01:53]Buddy+Slab;[01:42:23]写时拷贝;[01:54:27]考试说明
磁盘调度算法、RAID、RPC 远程过程调用、Linux 存储实例(Buddy System/Slab/两级页表/写时拷贝)、期末考试结构说明。