第七章 设备管理
目录
1.I/O设备分类
2.设备控制器:I/O设备与主机之间的接口
主要功能:
接收和识别命令
标识和报告设备的状态
数据交换
地址识别
数据缓冲
差错控制
3.I/O通道:特殊的处理机,只执行I/O操作指令
主机与I/O设备的通路:通道——控制器——I/O设备
4.I/O控制方式:程序I/O、中断驱动、DMA、通道控制
5.缓冲管理
5.1引入缓冲管理的三个主要原因
- 缓和CPU与I/O设备间速度不匹配的矛盾
- 减少对CPU的中断频率,放宽对中断响应时间的限制(p209)
- 提高CPU与I/O设备之间的并行性
5.2缓冲管理方法主要有四种
C(处理时间),T(传送时间),M(输入时间)
-
单缓冲:Max(C,T) + M
-
双缓冲:Max((C + M), T)
-
循环缓冲:三种缓冲池、三种指针、两个过程
-
缓冲池:两个循环缓冲的合并,支持输入输出双方向
收容输入工作缓冲区hin、提取输入工作缓冲区sin、收容输出工作缓冲区hout、提取输出工作缓冲区sout
I/O软件:保证设备独立性、四个层次
设备的分配:寻找空闲的设备、控制器、通道
6磁盘管理:盘面+磁道+扇区
6.1磁盘数据的组织
每个磁盘由多个盘片组成
每个盘片分两面
每个盘面分为若干个磁道
每个磁道分为若干个扇区
内磁道数据密度大于外磁道数据密度
6.2磁盘访问时间
-
寻道时间Ts:将磁头位移至指定磁道经历的时间(约10-40ms)
Ts = m x n + s
s: 磁盘启动时间(约2ms)
m: 递进一个磁道时间(约0.2ms,高速<0.1ms)
n: 当前磁道与指定磁道距离 -
旋转延迟时间Tr:将磁头位移至指定扇区经历的时间
Tr = 1/(2r)
r: 磁盘旋转速度
对于硬盘,典型转速为90/s,Tr=5.55ms
对于软盘,典型转速为10/s,Tr=50ms -
传输时间Tt:将数据读出/写入磁盘经历的时间
Tt = b/(rN)
r: 磁盘旋转速度
N: 单位磁道上的字节数
b: 读出/写入的字节数rN也称磁盘传输速率,目前,硬盘的磁盘的传输速率可达80MB/s,如传送8KB数据,只需要0.1ms
-
磁盘访问时间Ta
Ta = Ts + Tr + Tt
磁盘访问时间Ta,主要由寻道时间Ts和旋转时间Tr决定,一般为20ms
在大容量磁盘中,由于磁道数较多,Ts是影响磁盘性能的主要因素
将同一文件的数据块集中存放,可降低Ta
7.磁盘调度算法
7.1先来先服务FCFS
依据进程请求访问磁盘的先后次序进行调度
初始位置100
优点:简单,每个请求都能依次得到处理
缺点:平均寻道距离较大
7.2最短寻道时间优先SSTF
依据访问磁道与当前磁道最近原则
初始位置100
优点:平均寻道时间较短
缺点:会导致某些进程发生“饥饿”现象,磁头有可能长期停留在同一磁道上(磁臂粘着)(如100号磁道一直请求)
7.3扫描算法SCAN
依据磁头移动方向及访问磁道与当前磁道距离最短两个原则
磁头移动方向为…,向外,然后向内,再向外,…一直循环往复
例如:当前磁头停在80号磁道上服务,并且刚刚完成了89号磁道的请求,说明磁头移动方向向内
优点:不会出现进程“饥饿”现象,平均访问寻道时间较短
缺点:与磁头近但在磁头运动反方向的磁道等待时间长,磁头有可能长期停留在同一磁道上(磁臂粘着)(如100号磁道一直请求)
7.4循环扫描算法CSCAN
到达最外磁道后,返回最小磁道开始SCAN算法
优点:不会出现进程“饥饿”现象,平均访问寻道时间较短,最长等待时间较SCAN短(一半)
缺点:磁头有可能长期停留在同一磁道上(磁臂粘着)(如100号磁道一直请求)
8. SPOOLing系统组成
8.1输入井和输出井
在磁盘上开辟的两个大的存储空间。
输入井是模拟脱机输入时的磁盘,用于收容I/O设备输入的数据
输出井是模拟脱机输出时的磁盘,用于收容用户进程的输出数据
8.2输入缓冲区和输出缓冲区
在内存中开辟的两个缓冲区。
输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井
输出缓冲区用于暂存由输出井送来的数据,以后再传送到输出设备
8.3输入进程SPi和输出进程SPo
输入进程SPi模拟脱机输入时的外围控制机,实现将用户要求输入的数据从输入设备,通过输入缓冲区再送到输入井的控制功能
输出进程SPo模拟脱机输出时的外围控制机,实现将用户要求输出的数据从输出井,通过输出缓冲区送到输出设备的控制功能
8.4系统特点(p207 共享打印机例子)
提高I/O速度
将独占设备改造为共享设备
实现了虚拟设备功能