缓冲技术
引入缓冲技术的原因
- 缓和CPU和I/O设备速度不匹配的矛盾,提高CPU和I/O设备之间的并行性
- 减少CPU的中断频率,放宽对中断响应时间的限制
- 解决数据粒度不匹配的问题
缓冲区:供I/O设备与处理机交换数据时使用(可以是硬件级的,也可以是软件级的)
根据系统设置的缓冲区个数不同,可以分为单缓冲、双缓冲、环形缓冲/循环缓冲/多缓冲、缓冲池。
磁盘调度算法
先来先服务算法(FCFS)
基本思想:按照进程请求访问磁盘的时间先后次序进行调度
优点:简单公平,每个请求都能得到处理
缺点:未对寻道进行优化,平均寻道时间较长
最短寻道时间优先(SSTF)
基本思想:要访问的磁道与当前磁头所在的磁道距离最近(每次寻道时间最短,但平均寻道时间可能不是最短)
扫描算法/电梯调度算法(SCAN)
基本思想:不仅考虑要访问的磁道与当前磁道间的距离,更优先考虑的是磁头当前的移动方向
循环扫描算法(C-SCAN)
基本思想:在SCAN的基础上,规定磁头单向移动
例1: 从100号磁道开始;SCAN算法和C-SCAN算法向磁道号增加方向
FCFS:从100号开始,55号先来,因此磁头移动到55号,移动数位45;58号再来,因此磁头移动到58号,移动数位3;以此类推...
SSTF:从100号开始,90号距离100号最近,因此磁头移动到90号,移动数位10;58号离90最近,因此磁头移动到58号,移动数位32;以此类推...
SCAN:从100号开始,向磁道号增加方向,150号距离100号最近,因此磁头移动到150号,移动数位50;以此类推...到184号时,增加方向已经没有了,所以掉头返回,此时90号距离184号最近,因此磁头移动到90号,移动数位94;以此类推...
C-SCAN:从100号开始,向磁道号增加方向,150号距离100号最近,因此磁头移动到150号,移动数位50;以此类推...到184号时,增加方向已经没有了,所以掉头返回,但是与SCAN不同,C-SCAN规定磁头单向移动,(简单来看就是,磁道数要同递增或同递减)此时应从18号开始移动,因此磁头移动到18号,移动数位166;以此类推...
参考:《计算机操作系统》电子工业出版社