OS - 磁盘数据存取与驱动调度
主要参考
- 《操作系统概论》(机械工业出版社)
磁盘机的数据存取方式
-
基本数据读写方式:
- 一个盘组由若干盘面组成,盘面正反可写,沿一个方向高速旋转;
- 每个盘面上有一个读写磁头,固定在唯一移动臂上,同时前后移动
-
磁盘存储空间的位置参数:
- 柱面号:各个盘面上的相同磁道组成一个柱面,对应磁道的编号即为柱面号;
- 磁头号:将磁头从上到下编号,以确定读写第几个盘面;
- 扇区号:将盘面划分成若干相等的扇区,沿与磁盘转动方向相反顺序编号,扇区与各磁道相交区域可存放相等字节数的一个块。
先控制移动臂带动磁头到指定柱面,再按磁头号确定信息所在盘面,然后等待要访问的扇区旋转到磁头下时读写数据(同一时间只允许一个磁头进行读写)
-
磁盘存放数据时,是按柱面存放,同一柱面上的磁道都存满后,再存放到下一个柱面上
移动臂磁盘的时间消耗
- 寻找时间:磁头在移动臂带动下移动到指定柱面的所需时间,机械动作,时间花费较长;
- 延迟时间:指定扇区转动磁头位置的所需时间;
- 传送时间:由指定磁头对指定磁道进行数据读取/写入的所需时间(各磁道信息容量相同,此过程所需时间固定)
磁盘驱动调度
磁盘通过“驱动调度”来决定各等待任务的执行次序,以尽可能地减少总时间消耗
-
移臂调度(减少寻找时间)
-
“先来先服务”算法
只考虑请求访问者的先后次序;
-
“最短寻找时间优先”算法
总是让寻找时间最短的先执行;
-
“电梯调度”算法
总是从移动臂当前位置开始沿着臂的移动方向去选择最近的柱面访问,如没有请求访问者则改变方向
-
-
旋转调度(减少延迟时间)
显然应优先选择延迟时间最短的访问者去执行,对于不同磁头下的相同编号的扇区。延迟时间相同,可任意选择一个磁头进行读/写操作