1 磁盘的结构
1.1 磁盘、磁道、扇区
磁盘的表面由一些磁性物质组成,可以用这些磁性物质来记录二进制数据
磁盘介绍:
1.2 磁盘如何读取数据
需要把“磁头”移动到想要读/写的扇区所在的磁道。磁盘会转起来,让目标扇区从磁头下面划过,才能完成对扇区的读/写操作。
1.4 盘面、柱面、磁盘的物理地址
可用(柱面号,盘面号,扇区号)来定位任意一个“磁盘块”。在“文件的物理结构”小节中,我们经常提到文件数据存放在外存中的几号块,这个块号就可以转换成(柱面号,盘面号,扇区号)的地址形式。
可根据该地址读取一个“块”
- 根据“柱面号”移动磁臂,让磁头指向指定柱面;
- 激活指定盘面对应的磁头;
- 磁盘旋转的过程中,指定的扇区会从磁头下面划过,这样就完成了对指定扇区的读/写。
1.5 磁盘的分类
1.6 磁盘的结构小结
2 磁盘调度算法
2.1 一次磁盘读/写操作需要的时间
- 寻找时间(寻道时间)Ts:在读/写数据前,将磁头移动到指定磁道所花的时间。
①启动磁头臂是需要时间的。假设耗时为s
;
②移动磁头也是需要时间的。假设磁头匀速移动,每跨越一个磁道耗时为m
,总共需要跨越n
条磁道。则:
寻道时间Ts=s+m*n
现在的硬盘移动一个磁道大约需要0.2ms,磁臂启动时间约为2ms
- 延迟时间TR:通过旋转磁盘,使磁头定位到目标扇区所需要的时间。设磁盘转速为
r
(单位:转/秒,或转/分),则平均所需的延迟时间TR=(1/2)*(1/r)=1/2r
1/r
就是转一圈需要的时间。找到目标扇区平均需要转半圈,因此再乘以1/2
硬盘的典型转速为5400转/分,或7200转/分,磁盘转速越高,延迟时间越小,读写速度越快
- 传输时间
T
:从磁盘读出或向磁盘写入数据所经历的时间,假设磁盘转速为r
,此次读/写的字节数为b
,每个磁道上的字节数为N
。则:
传输时间Tt=(1/r)*(b/N)=b/(rN)
每个磁道要可存
N
字节的数据,因此b
字节的数据需要b/N
个磁道才能存储。而读/写一个磁道所需的时间刚好又是转一圈所需要的时间1/r
-
总的平均存取时间Tt=Ts+1