【讨论】求助:一道操作系统 磁盘算法的题目

假定磁盘转速为20ms/圈,磁盘格式化时每个磁盘被划分成10个扇区,今有10个逻辑记录(每个记录的大小刚好与扇区大小相等)存放在同一磁道上,处理程序每次从磁盘读出一个后要花4ms进行处理,现要求顺序处理这10个记录,若磁头现在正处于首个逻辑记录的试点位置。请问:(1) 按逆时针方向安排10个逻辑记录(磁盘顺时针方向转),处理程序处理完这10个记录所花的时间是多少?(2) 按最优化分布重新安排这10个逻辑记录,写出记录的安排,并计算出所需要处理的时间。最好能图文解释下。在这先谢谢了![]

谢谢了,我查到答案,就是看不明白。答:(1)由题意可知,读一个逻辑记录需2ms时间,读出记录后还需要4ms时间进行处理,故当磁头处于某记录的始点时,处理它共需6ms时间。而逻辑记录是按逆时针方向安排的,因此系统处理完一个逻辑记录后将磁头转到下一个逻辑记录的始点需要12ms时间。从而可以计算出处理程序处理完这10个逻辑记录所需的时间为:6+9*(12+6)=168ms (2)按最优化分布重新按排这10个逻辑记录,可使处理程序处理完一个记录后,磁头刚好转到下一个记录的始点,此时,安顺时针方向安排的逻辑记录顺序分别为:记录1、记录8、记录5、记录2、记录9、记录6、记录3、记录10、记录7、记录4,而需要的处理时间为6*10=60ms。[]
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-06
4ms/20ms=0.2 ,每道10个扇区。所以读完一个扇区处理素具的过程中又转过了2个扇区。处理完1区,磁盘已近转到了4区,要求顺序读取。所以只能等磁盘转完一周再转到2区的位置。以后各道情况类似。所以总时间为:读10个扇区的时间+转过9周的时间=20ms+9*20MS=200ms如果处理完上一个扇区后,正好转到下一个扇区。就会节约很多时间。4ms转过2个扇区,所以,每隔2个扇区分布。。如图:[]
第2个回答  推荐于2018-03-01
答案中6+9*(12+6)=168ms是错的:首先分析一下它是怎么算的:处理第一个记录4+2=6处理后九个记录每个记录时间=转到特定位置的时间+读记录时间+处理时间 =8个扇区*2 ms/扇区+2+4 =(8*2+6)所以总时间=6+9*(16+6)=204 我想书上的答案应该是错的。哈O(∩_∩)O哈哈~本回答被网友采纳
第3个回答  2013-07-06
二楼最后还应加上最后一个处理时间4ms,结果为204ms吧?
第4个回答  2013-07-06
大概就是这么个意思,计算的不知道对不对。。时间长了。。
相似回答