磁盘逻辑记录的存储

来源:互联网 发布:owncloud config.php 编辑:程序博客网 时间:2024/06/05 06:19

通常会问一个问题:存储一个文件时,当一个磁道存储不下时,剩下部分是存在同一个盘面的不同磁道好,还是存在同一个柱面的不同盘面好?

答案是:存在同一个柱面的不同盘面好。

为什么?
前面我们讨论过主要需要优化的时间是寻道时间,那么在进行策略的选择时,任何有利于减少寻道时间的策略将是首选。

http://blog.csdn.net/u011240016/article/details/52882840

比如这里,存储一个文件时,在某个磁道上存满了,将换下一个磁道,此时的磁头在哪里?脑海中可以构想一幅图:盘片堆叠在一起。每个盘面至少一个磁头是共同进退的,我们从上往下看去,磁头都在“同一个磁道”上。这样,不需要换道,直接就能写下一个磁道,所以我们优先选择的是存储到同一个柱面的不同磁道上。读时也是一样的方便,不用移动磁头到别的磁道了。

带着这个思路看一个习题的求解。

假定一个磁盘组共有100个柱面,每个柱面有8个磁道,每个磁道划分为8个扇区。现有一个5000个逻辑记录的文件,逻辑记录的大小与扇区相等。该文件以顺序结构被存储大磁盘组上。柱面,磁道,扇区均从0开始存放。试问,该文件的3468个逻辑记录应该存放到哪个柱面的第几个磁道的第几个扇区?

分析:按照上面的存储思路是,先存满0号柱面0号磁道0后,存储位置是1号柱面,0号磁道;然后是2号柱面,0号磁道…

当0号柱面存满,进入1号柱面,进入2号柱面,3号柱面,…

因此以一个柱面为大的单位存储,一个柱面有64个扇区。这样3468 / 64 = 54,即用54个扇区可以存储3456个逻辑记录。这样第3468个逻辑记录将存在第55个扇区,因为从0编号,即存在54号扇区,且存12个逻辑记录。8个存在0号磁道,还剩4个存到1号磁道,3号扇区。

2 0