第五章 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数据结构笔记