五、输入输出管理
本章导览
共 5 个小节:I/O 管理概述、I/O 管理概述、设备独立性软件、磁盘 & 固态硬盘、磁盘 & 固态硬盘

本章重点
- I/O 软件四层(自上而下):用户层 → 设备独立性软件 → 设备驱动 → 中断处理
- 控制方式(由低效到高效):程序查询 → 中断驱动 → DMA → 通道
- 关键技术:SPOOLing(假脱机)、缓冲区(单 / 双 / 循环)、磁盘调度(FCFS/SSTF/SCAN)
I/O 管理概述

关键点
- I/O 设备分类:按使用特性(人机 / 存储 / 网络)、按速率、按共享性(独占 / 共享 / 虚拟)
- I/O 控制器是 CPU 与设备的接口,含状态 / 控制 / 数据寄存器
- 控制方式:程序查询、中断驱动、DMA、通道(占用 CPU 递减)
I/O 管理概述

关键点
- I/O 软件四层(自上而下):用户层 → 设备独立性软件 → 设备驱动 → 中断处理
- 分层目的:屏蔽硬件差异、提高效率与可扩展性
- 应用程序接口:字符设备 / 块设备 / 网络设备接口;系统调用是 I/O 入口
I/O 设备的概念和分类

I/O 控制器

I/O 控制方式

I/O 软件层次结构

输入输出应用程序接口

关键点
操作系统规定好设备驱动程序的接口标准,各厂商必须按要求开发设备驱动程序。 不同的操作系统,对设备驱动程序接口的标准各不相同。 设备厂商必须根据操作系统的接口要求,开发相应的设备驱动程序,设备才能被使用。
设备独立性软件

关键点
- 设备独立性软件:为上层提供与设备无关的统一接口
- SPOOLing(假脱机):用磁盘缓冲把独占设备(如打印机)虚拟成共享设备
- 还含设备分配与回收、缓冲区管理(单 / 双 / 循环缓冲,缓和速度差)
I/O 核心子系统

假脱机技术(SPOOLing技术)

设备分配与回收

缓冲区管理

磁盘 & 固态硬盘

关键点
- 磁盘结构:盘片 / 磁道(Track)/ 扇区(Sector)/ 柱面(Cylinder);寻址 = 柱面 + 盘面 + 扇区
- 访问时间 = 寻道时间 + 旋转延迟 + 传输时间,寻道是大头
- 磁盘调度:FCFS、SSTF(最短寻道)、SCAN(电梯)、C-SCAN、LOOK
磁盘 & 固态硬盘

关键点
- 磁盘管理:低级格式化(划扇区)、逻辑格式化(建文件系统)、引导块、坏块处理
- 固态硬盘 SSD:基于 NAND 闪存、无机械结构、随机访问快;但有擦写寿命,靠 FTL + 磨损均衡延长寿命
- HDD(便宜、大容量、随机慢)vs SSD(快、抗震、贵、有寿命)
磁盘的结构

磁盘调度算法

关键点
现在的硬盘移动一个磁道大约需要 0.2ms,磁臂启动时间约为 2ms。 1/r 就是转一圈需要的时间。找到目标扇区平均需要转半圈,因此再乘以 1/2。 硬盘的典型转速为 5400 转/分,或 7200 转/分。 延迟时间和传输时间都与磁盘转速相关,且为线性相关。而转速是硬件的固有属性,因此操作系统也无法优化延迟时
减少磁盘延迟时间的方法

磁盘的管理

固态硬盘 SSD
