一.磁盘调度
磁盘中文件的访问时间有以下两个主要部分
寻道时间:磁臂将磁头移动到包含目标扇区的柱面的时间。
旋转延迟:磁盘需要将目标扇区转动到磁头下的时间。
寻道时间可以近似的用寻道距离来表示。
本节中学了以下几种磁盘调度的方法:
1.FCFS调度(最简单)
先来先服务,按照请求顺序访问每个扇区
2.SSTF调度
最短寻道时间优先算法(shortest-seek-time-first),其实是贪心的思想,每次都优先访问离当前磁头距离最近的请求。缺点是容易饥饿。(类似于SJF)
3.SCAN调度
对于SCAN算法,磁臂从磁盘的一端向另一端移动(移动到边界),当移过被请求的柱面时,就处理这个柱面上的服务请求(I/O),到达边界时改变移动方向。
4.C-SCAN调度
这种调度可以提供更为均匀的等待时间,与SCAN的区别在于,他在到达一端的边界时,会马上返回到磁盘开始。
相当于这是有方向的,到达终点会先返回到起点,仅在起点到终点的路上会处理服务请求。
5.LOOK调度
LOOK和SCAN的区别在于不达到边界,而是处理完最靠近边界的那个请求就改变方向,对于一个固定的请求序列,磁头的移动距离较SCAN更短。
6.C-LOOK调度
同LOOK一样,C-LOOK跟C-SCAN的区别也是不到达边界就掉头,他的起点和终点是最靠近两侧边界的两个请求。
FCFS调度的序列:86,1470,913,1774,948,1509,1022,1750,130
SSTF调度的序列:130,86,913,948,1022,1470,1509,1750,1774
SCAN:913,948,1022,1470,1509,1750,1774,4999,130,86
C-SCAN:913,948,1022,1470,1509,1750,1774,4999,0,86,130
LOOK:913,948,1022,1470,1509,1750,1774,130,86
C-LOOK:913,948,1022,1470,1509,1750,1774,86,130
二.进程调度
与磁盘调度相似,进程调度也有FCFS,SJF等思想的调度
1.FCFS
先到先服务,按顺序来,是非抢占式的
(非抢占式:一旦CPU被分配给一个进程,该进程将持有CPU直到他通过终止或请求I/O释放CPU)
2.SJF调度
贪心思想,最佳调度,可以获得最小的平均等待时间,缺点是实现困难且会导致饥饿。
3.RR轮转调度
有时间片,时间片用完强制切换进程
注意平均等待时间的计算
4.优先级调度
SJF的扩展,也会导致饥饿
注意隐藏知识点,甘特图怎么画