操作系统——磁盘寻道练习题及答案

Posted Starzkg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统——磁盘寻道练习题及答案相关的知识,希望对你有一定的参考价值。

问题描述

假定磁盘转速为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)

参考文章

操作系统磁盘寻道练习题及答案

以上是关于操作系统——磁盘寻道练习题及答案的主要内容,如果未能解决你的问题,请参考以下文章

Linux 磁盘IO

磁盘及磁盘管理相关知识

操作系统实验3:文件管理(磁盘调度)

消息处理过程与集群维护

如何在磁盘调度算法中找到平均寻道时间?

目前常用的磁盘调度算法有哪几种?每种算法优先考虑的问题是啥?