Operating system 从磁盘加载程序
从一个平均寻道时间为10毫秒、旋转时间为20毫秒、磁道容量为32 KB、页面大小为2 KB的磁盘加载64 KB程序需要多长时间? 这些页面随机分布在磁盘上,而且圆柱体的数量非常大 两页在同一圆柱上的可能性可以忽略不计 我的解决办法。。 64KB的节目将被组织成2个曲目,因为每个曲目的容量为32KB 要装载整个轨道,我们需要20秒。要加载2KB,我们需要1.25毫秒 I/O时间=寻道时间+平均旋转延迟+传输时间Operating system 从磁盘加载程序,operating-system,Operating System,从一个平均寻道时间为10毫秒、旋转时间为20毫秒、磁道容量为32 KB、页面大小为2 KB的磁盘加载64 KB程序需要多长时间? 这些页面随机分布在磁盘上,而且圆柱体的数量非常大 两页在同一圆柱上的可能性可以忽略不计 我的解决办法。。 64KB的节目将被组织成2个曲目,因为每个曲目的容量为32KB 要装载整个轨道,我们需要20秒。要加载2KB,我们需要1.25毫秒 I/O时间=寻道时间+平均旋转延迟+传输时间 10msec+10msec+1.25msec=21.25ms
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.
对吗?如果是这样,为什么搜索时间=平均保护延迟?正如它所提到的:圆柱体的数量如此之大,以至于两个页面位于同一圆柱体上的可能性可以忽略不计。,这仅仅意味着加载每个页面,我们始终需要移动到不同的
圆柱体。因此,我们必须为每个页面添加寻道时间
,因为寻道时间
是将手臂移动到适当的圆柱体
上所需的时间
Number of pages = 64KB/2KB = 32
旋转时间
根据定义,是到达相应的气缸
后,到达相应的扇区
所需的时间
Number of pages = 64KB/2KB = 32
因此所花费的时间是=32*10*20=6400毫秒正如前面提到的:圆柱体的数量如此之多,以至于两个页面位于同一圆柱体上的可能性可以忽略不计。,这仅仅意味着加载每个页面,我们总是需要移动到不同的圆柱体
。因此,我们必须为每个页面添加寻道时间
,因为寻道时间
是将手臂移动到适当的圆柱体
上所需的时间
Number of pages = 64KB/2KB = 32
旋转时间
根据定义,是到达相应的气缸
后,到达相应的扇区
所需的时间
Number of pages = 64KB/2KB = 32
所以所用的时间是=32*10*20=6400毫秒我找到了另一个解决方案。
搜索加旋转延迟为20毫秒。
对于2-KB页面,传输
时间为1.25毫秒,总共为21.25毫秒。
加载其中32页将
需要680毫秒。对于4-KB页面,传输时间将加倍,达到2.5毫秒,因此
每页的总时间为22.50毫秒。加载其中16个页面需要360分钟
毫秒。
现在我很困惑。我找到了另一个解决方案。
搜索加旋转延迟为20毫秒。
对于2-KB页面,传输
时间为1.25毫秒,总共为21.25毫秒。
加载其中32页将
需要680毫秒。对于4-KB页面,传输时间将加倍,达到2.5毫秒,因此
每页的总时间为22.50毫秒。加载其中16个页面需要360分钟
毫秒。
现在我感到困惑。我认为您遗漏了“页面在磁盘上随机分布…”这一部分,因为您似乎假设页面都是连续分配的…我应该做什么更改?如果页面确实是随机分布的,那么由2 KB页面组成的64 KB程序将需要32个单独的页面加载,每个都必须产生寻道延迟和旋转延迟。从这里开始应该很简单…@Kleona你有正式的正确答案吗?@Kleona根据我的说法,正确答案是6400秒。我认为你遗漏了“页面随机分布在磁盘上…”的部分,因为你似乎假设页面都是连续分配的…我应该更改什么?嗯,如果页面确实是随机分布的,那么由2-KB页面组成的64-KB程序将需要32个单独的页面加载,每个页面加载都必须产生寻道延迟和旋转延迟。从这里开始应该很简单…@Kleona你有正式的正确答案吗?@Kleona根据我的说法正确答案是6400秒。32*10*20是错误的。它应该是32*(10+20/2+1.25),就像克莱奥纳的回答一样。@twalberg你到底在考虑什么轮换时间?请解释一下,问题是“谁的旋转时间是20毫秒”。这是一个完整的轮盘时间。统计数据告诉我们,如果我们可以假设访问请求的均匀随机分布,平均旋转延迟大约是这一数字的一半(大约是因为如果每个柱面的扇区数为奇数而不是偶数,那么实际的数学计算结果会有所不同)。这就是我之前评论中的20/2,平均旋转延迟是10ms,加上10ms的寻道时间和1.25ms的实际传输时间,每次读取都会重复。32*10*20是错误的。它应该是32*(10+20/2+1.25),就像克莱奥纳的回答一样。@twalberg你到底在考虑什么轮换时间?请解释一下,问题是“谁的旋转时间是20毫秒”。这是一个完整的轮盘时间。统计数据告诉我们,如果我们可以假设访问请求的均匀随机分布,平均旋转延迟大约是这一数字的一半(大约是因为如果每个柱面的扇区数为奇数而不是偶数,那么实际的数学计算结果会有所不同)。这就是我之前评论中的20/2,平均旋转延迟为10ms,加上10ms的寻道时间和1.25ms的实际传输时间,每次读取都会重复。