文章目录
磁盘的结构
磁盘的表面由一些磁性物质组成,可以用这些磁性物质来记录二进制数据
一个磁道又被划分成一个个扇区,每个扇区就是一个“磁盘块”。各个扇区存放的数据量相同(如1KB)
磁盘的盘面被划分成一个个磁道。这样的一个“圈”就是一个磁道
需要把“磁头”移动到想要读/写的扇区所在的磁道。磁盘会转起来,让目标扇区从磁头下面划过,才能完成对扇区的读/写操作。
磁盘的物理地址
可用(柱面号,盘面号,扇区号)来定位任意一个“磁盘块”。
在“文件的物理结构”小节中,我们经常提到文件数存放在外存中的几号块,这个块号就可以转换成(柱面号,盘面号, 扇区号)的地址形式。
可根据该地址读取一个“块”
①根据“柱面号”移动磁臂,让磁头指向指定柱面;
②激活指定盘面对应的磁头;
③磁盘旋转的过程中,指定的扇区会从
磁头下面划过,这样就完成了对指定扇区的读/写。
磁盘调度算法
一次磁盘读/写操作需要的时间
寻找时间(寻道时间)Ts:在读/写数据前,将磁头移动到指定磁道所花的时间。
①启动磁头臂是需要时间的。假设耗时为s;
②移动磁头也是需要时间的。假设磁头匀速移动,每跨越个磁道耗时为m,总共需要跨越n条磁道。则:
寻道时间Ts = s+ m*n
延迟时间TR:通过旋转磁盘,使磁头定位到目标扇区所需要的时间。设磁盘转速为r(单位:转/秒,或转/分),则平均所需的延迟时间TR=(1/2)*(1/r) = 1/(2r)
传输时间Tt:从磁盘读出或向磁盘写入数据所经历的时间,假设磁盘转速为r,此次读/写的字节数为b,每个磁道上的字节数为N。
则:
总的平均存取时间T=Ts + 1/2r + b/(rN)
延迟时间和传输时间都与磁盘转速相关ÿ