磁盘基本结构
针对一个磁盘,是一个立体的结构形态,里面会有多个盘面存在,每个盘面都存在一个读写的磁头,这些磁头通过硬件连接在一个主杆上,对于磁盘而言,它是固定围绕轴心来运动的,无论发生什么,只要磁盘在运行,磁盘就会匀速、同向的一直运动。
一个盘面可以划分为多个同心圆,这些同心圆这种一圈一圈的叫做磁道,磁道的一圈数据量比较大,因此根据角度进行切割,按角度切出来的这些内容叫做扇区,在实际读取过程中,是以扇区来读取数据块的。
磁道有自己的编号,一般从外到内,会由0到1,2,n号磁道,扇区也有自己的编号。
从立体的角度来看,每一个盘面都会有0号磁道,所有的同编号磁道,可以形成一个圆柱,这个圆柱是空心的,这个圆柱称之为柱面。也就是说,同一个柱面编号,它对应的是所有磁盘上这样的一个磁道。
磁盘存取过程
由于磁头都是固定在同一个主杆上,所以运行时候,它所寻道(查找磁道的过程)就是查找柱面的过程,这两个过程基本上可以理解为一个相同的过程。
在磁盘中,磁头在磁道上,经过扇区旋转的时候,它所读取到的也是一些类似于痕迹的一些信息,从而通过这些痕迹到到相应的信息,所以在磁盘上读取信息,就是磁盘在磁道上运动的过程。
针对磁盘而言,磁头的运动可以分为两个方向,首先它所做的是让磁头向圆心移动,这个过程会跨越不同的磁道,直到找到我们需要的磁道为止,我们把它叫做随着圆心的垂直方向来做垂直寻道的过程。寻道之后,真正的读取数据是通过扇区来读取的,这个扇区在计算机当中,磁盘是固定方向,匀速不停的转动的,所以找到对应磁道之后,等着磁盘匀速转动,将扇区位置转动到磁头的下方位置就可以了,那么这个等待的过程就叫做旋转延迟或者等待时间。
读取数据的事件分为寻道时间和等待时间
寻道时间:指磁头移动到磁道所需要的是时间
等待时间:指等待读写的扇区转到磁头下方所用的时间
存 取 时 间 = 寻 道 时 间 + 等 待 时 间 存取时间 = 寻道时间+等待时间 存取时间=寻道时间+等待时间
针对磁盘而言,在读取数据的时候,磁头找到对应磁道,等到旋转到相应的扇区起始位置,就开始读数据了,旋转的时候,磁头经过这个扇区就会将相应的数据读取出来。
读取磁盘数据时间
读取磁盘数据的总时间包括以下三部分
- 找磁道的时间
- 找快(扇区)的时间,即旋转延迟时间
- 传输数据时间
平均存取时间(Average Access Time),是指磁头找到指定数据的平均时间,通常它是硬盘平均寻道时间和平均潜伏时间(等待时间)之和,并不考虑读取数据的时间。平均读取时间最能代表硬盘找到某一数据所用的时间,数值越小越好。
平均访问时间=平均寻道时间+平均等待时间
例题
某磁盘磁头从一个磁道迁移至另一个磁道需要10ms。文件在磁盘上非连续存放,逻辑上相邻数据块的平均移动距离为10个磁道,每块的旋转延迟时间及传输时间分别为100ms和2ms,则读取一个100块的文件需要(20200)ms时间。
平均移动距离=10个磁道
一个磁道迁移至另一个磁道=10ms
每块的旋转延迟时间及传输时间分别为100ms和2ms
则1块的用时=(10×10)+(100+2)
100块的文件需要=((10×10)+(100+2))×100=20200ms