Skip to content

五、输入输出管理

本章导览

共 5 个小节:I/O 管理概述、I/O 管理概述、设备独立性软件、磁盘 & 固态硬盘、磁盘 & 固态硬盘

五、输入输出管理 · 章节总览

本章重点

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

I/O 管理概述

I/O 管理概述

关键点

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

I/O 管理概述

I/O 管理概述

关键点

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

I/O 设备的概念和分类

I/O 设备的概念和分类

I/O 控制器

I/O 控制器

I/O 控制方式

I/O 控制方式

I/O 软件层次结构

I/O 软件层次结构

输入输出应用程序接口

输入输出应用程序接口

关键点

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

设备独立性软件

设备独立性软件

关键点

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

I/O 核心子系统

I/O 核心子系统

假脱机技术(SPOOLing技术)

假脱机技术(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

固态硬盘 SSD