第五章 IO管理
一、IO设备
1.1 基本概念与分类

1.2 IO控制器
电子部件

IO控制器组成

值得注意的小细节:①一个I/O控制器可能会对应多个设备;
②数据寄存器、控制寄存器、状态寄存器可能有多个(如:每个控制/状态寄存器对应一个具体的设备),且这些寄存器都要有相应的地址,才能方便CPU操作。有的计算机会让这些寄存器占用内存地址的一部分,称为内存映像I/O;另一些计算机则采用I/O专用地址,即寄存器独立编址。

1.3 控制方式
- 程序直接控制方式
- 中断驱动方式
- DMA方式
- 通道控制方式

1.4 IO软件层次结构
用户层软件

设备独立性软件

操作系统系统可以采用两种方式管理逻辑设备表(LUT):
- 第一种方式,整个系统只设置一张LUT,这就意味着所有用户不能使用相同的逻辑设备名,因此这种方式只适用于单用户操作系统。
- 第二种方式,为每个用户设置一张LUT,各个用户使用的逻辑设备名可以重复,适用于多用户操作系统。系统会在用户登录时为其建立一个用户管理进程,而LUT就存放在用户管理进程的PCB中。
设备驱动程序

中断处理程序

1.5 接口




二、IO核心子系统
2.1 基本概念

2.2 假脱机技术

2.3 设备的分配与回收

2.4 缓冲区管理

三、磁盘和固态硬盘
3.1 磁盘的结构

物理地址:

总结:

3.2 磁盘调度算法

先来先服务

最短寻找时间优先

扫描算法

LOOK调度算法

循环扫描算法

C-LOOK调度算法

总结

3.3 减少延迟时间的方法
问题来源:

交替编号:
若采用交替编号的策略,即让逻辑上相邻的扇区在物理上有一定的间隔,可以使读取连续的逻辑扇区所需要的延迟时间更小。
错位命名:

总结:

3.4 磁盘管理
初始化:

引导块:

坏块的管理:

总结:

3.5 固态硬盘SSD

主要参考:王道考研课程
后续会持续更新考研408部分的学习笔记,欢迎关注。
github仓库(含所有相关源码):408数据结构笔记



















