目录
FCFS算法(First Come and First Served,先来先服务)
SSTF算法(Shortest Seek Time First,最短寻道时间优先)
一、磁盘基本结构:
一般情况下:平均存取时间=寻道时间+等待时间;除了特别说明,才要加上数据传输时间
磁盘一直保持同向匀速旋转。
二、磁盘调度算法
访问磁盘的时间由三部分构成:
其中寻道时间是决定因素。用于寻道的算法有以下几种
-
FCFS算法(First Come and First Served,先来先服务)
- 也有的称为FIFO算法,是一种最简单的磁盘调度算法,按先来先服务的次序,未做优化;即谁先请求则先处理谁
- 优点:公平、简单、每个进程的请求都能得到处理
- 缺点:平均寻道时间可能较长
-
SSTF算法(Shortest Seek Time First,最短寻道时间优先)
- 要求访问的磁道距当前的磁头所在的磁道距离最近,以使每次寻道的时间最短;即谁离得近先访问谁
- 缺点:高度局部化的倾向,会推迟一些请求的服务,甚至无限拖延(这种现象称为“饥饿”)
-
SCAN(电梯)算法
- 在磁头前进方向上的最短查找时间优先算法
- 当磁头方向访问完后,则会调转另一个方向开始访问
- 当磁头方向访问完后,则会调转另一个方向开始访问
-
N-SCAN算法
- 对SCAN算法的改良,区别在于N-SCAN在扫描期间只对那些在扫描开始前已等待服务的请求提供服务。
在服务期间,新到达的请求即使在磁头的前进方向也得不到服务,只能等待下一个扫描周期开始 -
-
C-SCAN循环算法
- 也是SCAN算法的一种改良,是单向服务的N步SCAN算法,规定磁头单向移动,
- 优点:消除了对两端磁道请求的不公平
- 先选择沿着磁头方向距离磁头最短的,然后访问完,再顺着一个方向从头开始访问,想象成一个圆的访问方式
三、磁盘优化分布存储
出现原因:使用单缓冲区顺序处理这些记录;根本原因:单缓冲区同一时刻只能让同一个进程来用
如何对信息存储进行优化分布?
答:上一个扇区读完之后,磁头正好位于下一个物理块的起始位置,因此调整对应的存放位置,从而优化逻辑记录在物理上的分布,叫做优化分布