磁盘的盘面由很多的磁介质,即磁筹组成。
磁筹有南北极,先假设南极为0,北极为1
当读磁盘时,当磁头划过磁筹时,可以感知到磁筹的南北极,进而编码0和1
当写磁盘时,磁头通电,可以改变磁筹的磁性,从而实现写0和1的效果。
当磁头电流方向改变时,磁场方向也改变,进而磁筹通过磁头的磁场,也改变了自身的磁属性,
磁盘的最小读取单位为1个扇区,512B,因为步进电机的一个脉冲,能转的一个固定的角度。
转一个角度就是读取 一个扇区。
问题1: 不同磁道的扇区数是否相同
看磁盘型号,分区类型
1.旧式 —— 非分区记录方式(不同磁道扇区数相同)
2.新 式—— 分区记录方式(不同磁道扇区数不同)
旧的记录方式,每个磁道所拥有的扇区数量都是一样的
越往外面,扇区的面积越大
越往外面,转动的速度越快
因为每个扇区所能容纳的数据量是相同的,都是512字节,而数据量需要平均分配在扇区面积的每个角落,所以外面扇区的数据密度低,里面扇区的速度密度高.
新式分区,外围的扇区数更多。
如果有一块空硬盘,写入一个文件,是不是先写满同一个磁道的所有扇区,然后再换一个磁道写入?
是的,而且写入的方式是从外到内,先写满最外的磁道,接着再写里面的磁道
为什么硬盘用久了读写速度会变慢?因为外面的磁道使用完了,开始用里面的磁道,越是里面的磁道读写速度越慢,同样的时间,读写头在外面磁道可以扫过10个扇区的面积,读写10个扇区的数据,但在里面的磁道只能扫过1个扇区的面积,读写1个扇区的数据,所以这时该做磁盘整理或者格式化,这会使外面的磁道得到使用.
读写优化问题:
硬盘性能调优,说道:Outer tracks contain more linear storage area.
如果每个磁道的扇区数都是相等的啊,因为硬盘要控制角速度相等,单位时间里面磁臂掠过的扇区数应该是相等的。
以前课本都是这么讲的啊,说是外圈的存储密度要低于内圈的,但是外圈磁道包含的磁介质要明显多于内圈的,难道废弃不用?书上是这么解释的,说是空闲的空间填充了控制信号,不用的空间填写了gap,算空白区域。这就更纳闷了,第一点调优的书上说外圈的存储密度要高于内圈的,另一点是:For a given rotational speed, read more data per second on outer tracks.转速相同,外圈怎么可能多读东西呢?扇区数一样,每扇区512字节,数据大小也是一样。支持这个的有效证明是fdisk -l,一看,明明有一个“每磁道扇区数”的数值在概要说明的部分摆着呢。
包括百度百科和网上搜到的信息来看,都跟老板教科书观点相同,每磁道扇区数相同。那调优的书上教导我们“外圈的读取速度快,要将频繁访问的分区部署在磁盘的外侧柱面上”,这不见鬼了么?再翻IBM的调优的书,明明白白写着“当今大多数硬盘驱动器的盘片在外侧磁道上封装的扇区数要多于内侧磁道”,又找了找,原来磁盘的寻址技术改变了,为了减少浪费,真的是外侧磁道的扇区数多而内测磁道的扇区数少,现在每磁道扇区数自是一个换算平均值。这也是为什么机械硬盘在测试处理大量数据的吞吐率不断下降的原因,因为处理到内圈的数据时要多次移动移动机械臂,产生更多的延时。
其实想想也是,磁盘的存储密度不断增加,外圈的长度要大大长于内圈的长度,如果每磁道扇区数相等,那么整个磁盘上有大量面积的存储单元会被浪费。就像一个扇子的表面,我们只用了以内周长为边的一个矩形面积,剩下的都浪费,这是不可能的,工业界也是绝对不会允许这种事情存在的。
那道理就明白了,我们看到的fdisk里面的柱面的显示结果也是经过换算的结果,不是真正写道分区表里面的结果
diskgenius :
通过磁盘工具可以看到 (老电脑),因为bios的限制,每个磁道最多 63 个扇区。
外圈的扇区数是要多一些的,
大概外圈读两个扇区,内圈能读一个扇区