操作系统——磁盘寻道练习题及答案
问题描述
假定磁盘转速为20ms/圈,磁盘格式化时每个磁道被划分成10个扇区,今有10个逻辑记录(每个记录的大小刚好与扇区大小相等)存放在同一个磁道上,处理程序每次从磁盘读出一个计录后要花4ms进行处理,现要求顺序处理这10个记录,若磁头现在正处于首个逻辑记录的始点位置。请问:
(1)按逆时针方向安排10个逻辑记录(磁盘顺时针方向转),处理程序处理完这10个记录所花费的时间是多少?
(2)按最优化分布重新安排这10个逻辑记录,写出记录的安排,并计算出所需要处理的时间。
[提示]数据处理时间=磁盘访问时间+数据实际处理时间,而磁盘访问时间=寻道时间+旋转延迟时间+数据传输时间。本题通过对旋转延迟时间的优化来提高访问磁盘数据的速度。
问题分析
(1)读一个逻辑记录需2ms时间,读出记录后还需要4ms时间进行处理,故当磁头处于某记录的始点时,处理它共需6ms时间。
逻辑记录是按逆时针方向安排的,因此系统处理完一个逻辑记录后将磁头转到下一个逻辑记录的始点需要16ms时间。
从而可以计算出处理程序处理完这10个逻辑记录所需的时间为:6+9*(16+6)=204ms
(2)按最优化分布重新按排这10个逻辑记录,可使处理程序处理完一个记录后,磁头刚好转到下一个记录的始点,
此时,安顺时针方向安排的逻辑记录顺序分别为:记录1、记录8、记录5、记录2、记录9、记录6、记录3、记录10、记录7、记录4,
而需要的处理时间为6*10=60ms。
解决方案
(1)优化前处理的总时间=(2+4+16)*9+2+4=204(ms)
(2)优化分布的顺序:记录1、记录8、记录5、记录2、记录9、记录6、记录3、记录10、记录7、记录4
(3)优化后处理完这10个记录所花的时间为:(2+4) *10 = 60 (ms)
参考文章
操作系统磁盘寻道练习题及答案
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
