磁盘的工作原理

磁盘的结构与参数

这里讲的主要是网上所谓的老式磁盘,它是由一个个盘片组成的,我们先从个盘片结构讲起。如图1所示,图中的一圈圈灰色同心圆为一条条磁道,从圆心向外画直线,可以将磁道划分为若干个弧段,每个磁道上一个弧段被称之为一个扇区(图践绿色部分)。扇区是磁盘的最小组成单元,通常是512字节。

 图1 老式磁盘一个盘片的结构 

b58fc96abcfb71896cf7339353dae14ab7a.jpg

 图2 老式磁盘的整体结构 

dbdac5a64f7fe5caba8c924548b8e2837bf.jpg

图2展示了由一个个盘片组成的磁盘立体结构,一个盘片上下两面都是可读写的,图中蓝色部分叫柱面(cylinder)。

 

磁盘的常见参数如下:

磁头(head)、磁道(track)、柱面(cylinder)、扇区(sector)、圆盘(platter)

 存储容量 = 磁头数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数  

图2中磁盘容量 = 6*7*12*512KB = 258 048KB = 252M

下面讲一下现代磁盘,在老式磁盘中,尽管磁道周长不同,但每个磁道上的扇区数是相等的,越往圆心扇区弧段越短,但其存储密度越高。不过这种方式显然比较浪费空间,因此现代磁盘则改为等密度结构,这意味着外围磁道上的扇区数量要大于内圈的磁道,寻址方式也改为以扇区为单位的线性寻址。为了兼容老式的3D寻址方式,现代磁盘控制器中都有一个地址翻译器将 3D 寻址参数翻译为线性参数。

 图3 一张Linux的分区表 

7205fab36b1ff27ea795a35c19656d125d9.jpg

如图3所示,在Linux中是以柱面为单位来分区的。这里分区大小除以Blocks数的值约1024说明,在磁盘上读写时的最小单位是1024字节----这是我猜的。

 

 存取时间 = 寻道时间 + 等待时间 (平均定位时间+转动延迟)

寻道时间是指磁头移动到轨道所需的时间,等待时间为等待读写的扇区转到磁头下方所用的时间

 栗子1 

46a92e36b4c81e09c46ba6fbd26becff69e.jpg

解析:为了助于理解,画图如下

      795bf4592e7e28214c9e8afc11cd2474cf7.jpg

 

该磁盘分为11个扇区,因旋转周期33ms,即经过每一个扇区耗时3ms,从R0开始,到R0结束,需要3秒,读取完毕后,放入单缓存区处理这些数据,经过3秒处理完毕,此时磁头已经处在R1结束位置,此时耗时(3ms+3ms);判断是否读取完毕,没有读取完继续,经过10个扇区,到R1开始位置,耗时30秒,开始读取至读取完毕,耗时6秒,判断是否读取完毕,没有读取完继续,一直到R11处理完毕。结束!!

 总耗时为 :

(3ms+3ms)+(30ms+3ms+3ms)*10 =366ms

优化后,作图如下:

772612594f7cf255087f790a619c5388666.jpg

优化后,R0从开始到处理完毕,耗时6ms, 此时已到R1位置,继续读取处理R1,耗时6ms,一直到R10,

优化后耗时:

(3ms + 3ms)*11 = 66ms

 

参考博客 http://www.cnblogs.com/joydinghappy/articles/2511948.html

 

转载于:https://my.oschina.net/u/3374461/blog/1930852

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值