操作系统第 5 章:输入/输出管理总览
这一页只负责导航,不装内容。每个节号点进去就是那一节的完整讲义。
第 5 章讲操作系统与外部世界打交道的那一部分。它比前四章更容易显得零碎,是因为这里的名词大多来自硬件——控制器、通道、端口、寄存器——而不是进程、页面那样的软件抽象。
读这一章先立两条路径,所有名词都挂在它们上面:
硬件路径:CPU →(通道)→ 设备控制器 → 设备
软件路径:用户层 I/O 软件 → 设备独立性软件 → 设备驱动程序 → 中断处理程序 → 硬件
5.1 立这两条路径,5.2 把软件路径的中间一层逐项展开,5.3 单独处理最重要的一类设备。
章节导航
5.1 I/O 管理概述 ✅
| 节 | 页面 | 一句话 |
|---|---|---|
| 5.1.1 | I/O 设备 | 字符设备不可寻址,因为数据是”流过去的”;通道是硬件 |
| 5.1.2 | I/O 控制方式 | 演进主线:解放等待 → 解放搬运 → 解放组织;轮询不阻塞进程 |
| 5.1.3 | I/O 软件层次结构 | 判据:换一台设备还成不成立 |
| 5.1.4 | 应用程序 I/O 接口 | 块设备接口有 seek,字符设备接口没有 |
5.2 设备独立性软件 ✅
| 节 | 页面 | 一句话 |
|---|---|---|
| 5.2.1 | 设备独立性软件 | 独立的是”哪一台”,不是”哪一类”;LUT 第三项是驱动入口地址 |
| 5.2.2 | 高速缓存与缓冲区 | 判据:里面的数据在源头还有没有;两个缓冲公式看 |
| 5.2.3 | 设备分配与回收 | 四张表是一条指针链;DCT 只回答四个问题 |
| 5.2.4 | SPOOLing 技术 | 用户拿到的是外存区;SPOOLing 不消灭独占设备 |
| 5.2.5 | 设备驱动程序接口 | 驱动必须可重入;接口面向操作系统,设备独立性面向用户程序 |
| 5.2.6 | I/O 操作举例 | 调用自上而下、中断自下而上;八步归属表 |
5.3 磁盘和固态硬盘 ✅
| 节 | 页面 | 一句话 |
|---|---|---|
| 5.3.1 | 磁盘 | 地址是”柱面号|盘面号|扇区号”,因为换柱面最慢、换盘面最快 |
| 5.3.2 | 磁盘的管理 | 三道工序:扇区 → 分区表 → 文件系统;引导扇区产生于逻辑格式化 |
| 5.3.3 | 磁盘调度算法 | 构词法:带 C = 单向,带 LOOK = 到最远请求就掉头;只有 FCFS 不黏着 |
| 5.3.4 | 固态硬盘 | 物理层结论全变,文件系统层结论全不变——这就是 FTL 的价值 |
本章高频边界
| 边界 | 判据 | 在哪 |
|---|---|---|
| 块设备 vs 字符设备 | 数据是”存放着的”还是”流过去的” | 5.1.1 |
| 控制线信号 vs 数据线控制信息 | 总线动作的性质 vs 命令的内容 | 5.1.1 |
| 通道 vs DMA 控制器 vs 设备控制器 | 一批 / 一块 / 一次 | 5.1.1 |
| 哪种 I/O 方式使进程阻塞 | 进程有没有主动交出 CPU | 5.1.2 |
| 中断中硬件 vs 软件 | 中断响应归硬件,中断处理归软件 | 5.1.2 |
| 设备独立性软件 vs 驱动程序 | 换一台设备还成不成立 | 5.1.3 |
| 阻塞 I/O vs 程序直接控制 | 进程挂不挂起 vs CPU 怎么获知就绪 | 5.1.4 |
| 缓冲区 vs 高速缓存 | 源头还有没有副本 | 5.2.2 |
| 安全分配 vs 静态分配 | 提出请求后能不能跑 vs 什么时候分 | 5.2.3 |
| 独占设备 vs 共享设备的分配 | 能不能中途易主 | 5.2.3 |
| SPOOLing 分到的是什么 | 外存区,不是真设备 | 5.2.4 |
| 寻道 vs 旋转延迟 | 调度算法只优化寻道 | 5.3.1 |
| 低级格式化 vs 逻辑格式化 | 扇区 vs 文件系统 | 5.3.2 |
| 谁会磁臂黏着 | 看不看磁头当前位置 | 5.3.3 |
| 机械硬盘 vs 固态硬盘 | 物理层变、文件系统层不变 | 5.3.4 |
计算模板
| 题型 | 步骤 | 在哪 |
|---|---|---|
| 单缓冲 / 双缓冲 | 单: | 5.2.2 |
| 磁盘访问时间 | 5.3.1 | |
| 随机寻道平均时间 | 磁道数 | 5.3.1 |
| 连续存放下一块 | 扇区号进位 → 进到盘面号,不是柱面号 | 5.3.1 |
| 磁头移动距离 | 按算法列服务顺序 → 逐段求差取绝对值累加;SCAN 要到端点,LOOK 不必 | 5.3.3 |
复习顺序
- 5.1.1:先把硬件路径立起来,后面所有名词都挂在它上面。重点是字符设备为什么不可寻址。
- 5.1.2:按演进主线读(解放等待 → 解放搬运 → 解放组织),四种方式的优缺点全是推论。 “轮询不使进程阻塞”要单独记,它反直觉。
- 5.1.3:全章最高频的一节。只需拿住一条判据——换一台设备还成不成立——所有归属题当场可判。
- 5.1.4:篇幅小。注意阻塞 I/O 与程序直接控制方式的结论恰好相反。
- 5.2.1 → 5.2.2:5.2.2 是计算题主战场。两个公式不要背, 理解”单缓冲搬运时设备必须干等”这一句,公式自然就出来了。
- 5.2.3:四张表不要按字段背。先立”一次 I/O 需三样同时空闲”这个前提, 四张表的存在理由、字段和分配步骤全是推论。DCT 只回答四个问题。
- 5.2.4:SPOOLing 的考点集中在几个”不”上——不消灭独占设备、不是硬件、不是提高整机利用率的关键。
- 5.2.5 → 5.2.6:5.2.6 是全章的串联,跑通那条八步链,本章任何”归谁管”的题都能当场查。
- 5.3.1:立住**“寻道最慢”**这一条,5.3.3 的一切都是它的推论。
- 5.3.2:三道工序的边界是统考真题的固定出处,按”扇区 / 分区表 / 文件系统”记。
- 5.3.3:构词法比死记六种算法有效。磁臂黏着只有 FCFS 不会,要理解原因而非硬记。
- 5.3.4:按”哪些结论作废、哪些不变、哪些是新增的”三栏读,顺便把 5.3 前三节复习一遍。
链接
- 📖 名词库:第 5 章名词库
- 📜 原始提问档案:第 5 章 原始提问档案(本地资料)(33 条,按节号归位)
- ⬅️ 上一章:第 4 章:文件管理
- 🏗️ 重构施工文档:OS + 计组 笔记体系重构计划(本地资料)