操作系统题目 要过程和思路(1)某文件共占用8个磁盘块B0~B7,磁盘每道有8个扇面,每个扇面可存放一个磁盘块,磁盘旋转

操作系统题目 要过程和思路
(1)某文件共占用8个磁盘块B0~B7,磁盘每道有8个扇面,每个扇面可存放一个磁盘块,磁盘旋转一圈的时间是20ms,程序处理一个磁盘块的时间是4ms,B0~B7在一个磁道上优化分布,磁头目前在B0起点处。则把B0~B7全部读出的时间是( D )
A.62.5ms B.60ms
C.57.5ms D.55ms
(2)假设每条磁道被分为8个扇区,每个扇区存放一个记录,处理程序顺序处理这8个记录L1,L2,…,L8。每次请求从磁盘上读一个记录,然后对读出的记录花1ms的时间进行处理,以后再读下一个记录进行处理。磁盘旋转一周花费16ms(即每读一个扇区需2ms)。若将这8个记录在一条磁道上进行优化分布,则全部处理完这8个记录至少需要( c )
A、31ms B、32ms
C、33ms D、34ms
栀子花的夏天 1年前 已收到1个回答 举报

lv1goblin 幼苗

共回答了19个问题采纳率:84.2% 举报

(1), (2.5+4)*8 + 1*7 -4 = 55.
因为磁头读取一个扇区需要2.5ms,但是处理一个记录需要4ms,超过了一个扇区的读取时间,而在处理数据时,磁盘不会停转,会继续旋转,于是当下达读取B2的指令时,磁头已经经过第2个扇区,并在第3个扇区中间了。这时,只有等磁盘转到下一个扇区,才能进行读操作。
也就是说要满足等待处理时间的要求,必须要让磁头空闲的时间大过处理时间,因此只有连续略掉第2和第3个扇区(这样有5ms的空闲时间),然后再将L2放到第4个扇区,才能保证在有足够处理时间的前提下,又能立刻读到下一条记录。但实际上,还是浪费了1ms的时间。七个扇区就是浪费7秒,而题目问的是“把B0~B7全部读出的时间” 所以不需要处理最后一条,就再减去4秒。
(2)
(1+2)*8 + 1*7 + 2 =33
因为磁头读取一个扇区需要2ms,但是处理一个记录需要1ms, 意思就是处理完了第一条记录但是第二条记录还没有读出来,需要等待1秒时间。
最后一个处理完了以后要再转一次读出记录判断是否和第一条重复 所有要加上2MS磁盘的查找时间。所以就是33了。

1年前

9
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.050 s. - webmaster@yulucn.com