第五章 输入输出系统 5.8 磁盘存储器的性能和调度

05-ReFrain-19 / 2023-05-14 / 原文

一、磁盘性能简述 

  1.数据组织和格式

  • 物理地址形式:磁道号(柱面号)——磁头号——扇区
  • 信息记录在磁道上,多个盘片,正反两面都用来记录信息,每面一个磁头
  • 磁道从外缘,以“0”开始编号,往里面递增。所有盘面中处于同一磁道号上的所有磁道组成一个柱面
  • 每个扇区大小为600字节(数据512字节),内层外层磁道的磁密度不同
  • 可随机访问某块数据,但不能定位到某个字节 

    eg.一个10GB容量的磁盘,有8个双面可存储盘片,共16个盘面,每面有16383个磁道(柱面),63个扇区

  2.磁盘的访问过程

  • 寻道 :磁头移动定位到指定磁道
  • 旋转延迟:等待指定扇区从磁头下旋转经过
  • 数据传输:数据在磁盘与内存之间的实际传输

  3.磁盘访问时间:Ta=Ts+1/2r+b/rN 

  • 寻道时间:TS=m*n+s

          m:常量,与磁盘驱动器速度有关,n:磁道数,s:磁臂启动时间。

          对一般的磁盘, 其寻道时间将随寻道距离的增加而增大, 大体上是5-30 ms。

  • 旋转延迟时间:指定扇区旋转到磁头下所需时间。 设每秒r转,则Tr=1/2r(均值) 对于7200转/分,平均延迟时间为4.2ms 
  • 数据传输时间:Tt=b/rN

          b:读写字节数,r:磁盘每秒钟的转数,N:每道上的字节数

二、磁盘调度算法(先来先服务FCFS,最短寻道时间优先SSTF,扫描算法SCAN,循环扫描算法CSCAN)

  1.先来先服务FCFS 

  • 按访问请求到达的先后次序服务
  • 仅适用于请求磁盘I/O的进程数目较少的场合

  2.最短寻道时间优先SSTF

  • 优先选择距当前磁头最近的访问请求进行服务
  • 优点:改善了磁盘平均服务时间
  •  缺点:造成某些访问请求长期等待得不到服务,“饥饿”现象

 

  3.扫描算法(电梯算法)SCAN

  • 当有访问请求时,磁头按一个方向移动,在移动过程中对遇到的访问请求进行服务,然后判断该方向上是否还有访问请求,如果有则继续扫描
  • 否则改变移动方向,并为经过的访问请求服务,如此反复 

  4.循环扫描算法CSCAN

  • 总是向一个方向移动
  • 移动臂到达最后个一个柱面后,立即带动读写磁头快速返回到最里的欲访问磁道
  • 返回时不为任何的等待访问者服务
  • SSTF、SCAN及CSCAN几种调度算法中, 都可能出现磁臂停留在某处不动的情况——磁臂粘着”。例如,有一个或几个进程对某一磁道有较高的访问频率, 即这个(些)进程反复请求对某一磁道的I/O操作,从而垄断了整个磁盘设备。在高密度磁盘上容易出现此情况。