I/O系统的基本功能
1. 隐藏物理设备的细节2. 与设备的无关性
3. 提高处理机和I/O设备的利用率
4. 对I/O设备进行控制
5. 确保对设备的正确共享
6. 错误处理
I/O系统的分层
(1) 中断处理程序。(2) 设备驱动程序。
(3) 设备独立性软件。
假脱机技术
缓和CPU的高速性与I/O设备低速性间的矛盾,而引入了脱机输入、脱机输出技术。利用专门的外围控制机,先将低速I/O设备上的数据传送到高速磁盘上,或者相反。
磁盘存储器的性能和调度
数据的组织和格式
磁盘设备可包括一个或多个物理盘片,每个磁盘片分一个或两个存储面,每个盘面上有若干个磁道,磁道之间留有必要的间隙。磁盘访问时间
磁盘设备在工作时以恒定速率旋转。为了读或写,磁头必须能移动到所指定的磁道上,并等待所指定的扇区的开始位置旋转到磁头下,然后再开始读或写数据。
早期的磁盘调度算法
先来先服务(FCFS)
根据进程请求访问磁盘的先后次序进行调度。最短寻道时间优先(SSTF)
要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短,但这种算法不能保证平均寻道时间最短。会产生饥饿现象。
基于扫描的磁盘调度算法
扫描(SCAN)算法
从头至尾,从尾至头。单向到头的SSTF算法(电梯算法),避免饥饿。
循环扫描(CSCAN)算法(磁头单向运动)
从头至尾,跳回到头,继续从头至尾NStepSCAN算法
在SSTF、SCAN及CSCAN几种调度算法中,都可能出现磁臂停留在某处不动的情况一个或几个进程对某一磁道有较高的访问频率,即这个(些)进程反复请求对某一磁道的I/O操作,从而垄断了整个磁盘设备。
将请求分为若干个长度为N的队列,每个队列中用scan算法,一个队列处理完之后再去处理下一个队列。