从磁盘加载程序
问题描述:
从平均寻道时间为10毫秒,磁盘的循环时间为20毫秒,磁道的磁道容量为32 KB的磁盘加载64 KB程序需要多长时间2-KB页面大小? 页面随机分布在磁盘周围,并且柱面数量非常大,因此两个页面在同一个柱面上的机会可以忽略不计。从磁盘加载程序
我的解决方案.. 64 KB的程序将被组织成2个轨道,因为每个轨道的容量是32KB。
要加载整个轨道,我们需要20毫秒。要加载2KB,我们需要1.25毫秒。
I/O时间=寻道时间+ avg.rotation延时+传输时间
10msec+10msec+1.25msec=21.25msec
Since 64KB program is organized into 2 tracks then I/O time will be 2(21.25)=42.5 msec.
它是正确的吗?如果是这样,为什么寻求时间= avg rotetion延迟?
答
正如其中提到的那样:圆柱的数量非常大,以至于两个页面在同一个圆柱上的机会可以忽略不计。,它只是意味着加载每个页面,我们总是需要移动到不同的cylinder
。因此,我们必须为每个页面添加seek time
,因为seek time
是将手臂移过适当的cylinder
所花费的时间。
Number of pages = 64KB/2KB = 32
rotation time
顾名思义就是花费的时间去合适sector
,一旦我们达到适当cylinder
。
所以时间采取将是= 32 * 10 * 20 = 6400毫秒
答
我发现了另一个解决方案。 搜索加旋转等待时间是20毫秒。 对于2-KB页面,传输 时间为1.25毫秒,总共为21.25毫秒。 加载32页这些页面将 需要680毫秒。对于4-KB页面,传输时间加倍为2.5毫秒,因此每页总时间为22.50毫秒。加载这些页面中的16个需要360毫秒的时间。 现在我很困惑。
我想你错过了“页面随机分布在磁盘上......”的部分,因为您似乎认为这些页面都是连续分配的...... – twalberg
我应该更改哪些内容? – Kleona
那么,如果这些页面是随机分布的,那么一个由2-KB页面组成的64-KB程序将需要32个单独的页面加载,其中每个页面加载都会产生寻道延迟和旋转延迟。这应该是相当直接的... – twalberg