I/O系统功能
隐藏I/O设备的细节;保证设备无关性;提高处理机和I/O设备的利用率;对I/O设备进行控制;确保对设备的正确共享;处理错误。
中断、通道、DMA概念
中断:CPU对I/O设备发来的中断信号的一种响应
DMA:进一步减少CPU对I/O设备的干预
数据传输的基本单位是数据块
所传送的数据是从I/O设备直接送入内存,或者相反
仅在传送一个或多个数据块的开始和结束时,才须CPU干预
I/O通道
使一些原来由CPU处理的I/O任务转由通道来承担。
通道是特殊处理机,通道指令类型单一,与CPU共享内存。
类型:
字节多路
数组选择
数组多路
通道价格昂贵,通道不足,造成“瓶颈”现象
解决:增加设备到CPU间的通路,多通路方式不仅解决了“瓶颈”问题,提高了系统的可靠性。
设备驱动概念
I/O设备控制方式
轮询
①由CPU定时发出询问
②不忙即进行I/O,否则转①
实现容易,CPU会长期处于忙等待
中断(广泛采用)
进程需要启动某个I/O设备工作时,由CPU向相应的设备控制器发出一条I/O命令,立即返回继续执行原来的任务。CPU与I/O设备并行操作。
直接存储器(DMA)
数据传输的基本单位是数据块
所传送的数据是从I/O设备直接送入内存,或者相反
仅在传送一个或多个数据块的开始和结束时,才须CPU干预。
I/O通道方式
是DMA方式的发展,进一步减少CPU的干预。
①是对一组数据块以读/写及有关的控制和管理为单位干预。
②可实现CPU、通道和I/O设备三者的并行操作。
③通道程序不同于CPU指令,通道程序由一系列通道指令构成的。
④指令包含:操作码、内存地址、计数、通道程序结束位P、记录结束位R
缓冲
引入原因:
缓和CPU与I/O设备间速度不匹配的矛盾
减少对CPU的中断频率,放宽对CPU中断响应时间的限制
解决数据粒度不匹配的问题
提高CPU与I/O设备之间的并行性
磁盘
一、 磁道、扇区
磁盘结构:
盘面(磁头)、磁道(柱面)、扇区
每条磁道上可存储相同数目的二进制位
磁盘密度:每英寸中所存储的位数,内层磁道的密度较外层磁道的密度高度。
二、 寻道延迟、旋转延迟和传输时间
磁盘在工作时是以恒定速率旋转。
为了读写:磁头必须移动到所要求的磁道上
等待所指定的扇区的开始位置旋转到磁头下
开始读写数据
磁盘的访问时间:
寻道时间-->旋转延迟时间-->传输时间
三、 磁盘访问时间计算(计算题)
四、 磁盘调度算法(综合应用、分析)
目标:使磁盘的平均寻道时间最小。
先来先服务(FCFS)
根据进程请求访问磁盘的先后次序进行调度
优点:公平、简单,每个进程的请求都可一次得到处理。
缺点:未对寻道进行优化,使平均寻道时间较长。
仅适用于请求磁盘I/O的进程数目较少时
短寻道时间优先(SSTF)
要求访问的磁道与当前磁头所在磁道距离最近,使每次的寻道时间最短。
可能导致某个进程发生“饥饿”现象。
SCAN算法
优先考虑磁头当前的移动方向。
磁臂从磁盘的一端向另一端移动,沿途响应服务请求。到达另一端时,改变移动方向。
C-SCAN算法
磁头从磁盘一段移到另一端,随着移动不断处理请求。当磁头移到另一端时,返回到磁盘开始,返回时不处理请求。