2017-03-07 70 views
1

从平均寻道时间为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延迟?

+0

我想你错过了“页面随机分布在磁盘上......”的部分,因为您似乎认为这些页面都是连续分配的...... – twalberg

+0

我应该更改哪些内容? – Kleona

+0

那么,如果这些页面是随机分布的,那么一个由2-KB页面组成的64-KB程序将需要32个单独的页面加载,其中每个页面加载都会产生寻道延迟和旋转延迟。这应该是相当直接的... – twalberg

回答

0

正如其中提到的那样:圆柱的数量非常大,以至于两个页面在同一个圆柱上的机会可以忽略不计。,它只是意味着加载每个页面,我们总是需要移动到不同的cylinder。因此,我们必须为每个页面添加seek time,因为seek time是将手臂移过适当的cylinder所花费的时间。

Number of pages = 64KB/2KB = 32 

rotation time顾名思义就是花费的时间去合适sector,一旦我们达到适当cylinder

所以时间采取将是= 32 * 10 * 20 = 6400毫秒

+0

32 * 10 * 20是错误的。应该是32 *(10 + 20/2 + 1.25),就像Kleona的回答一样。 – twalberg

+0

@twalberg你究竟在考虑轮换时间在这里?请解释一下。 –

+0

该问题陈述“其旋转时间为20毫秒”。这是全盘旋转的时间。统计数据告诉我们,如果我们可以假设访问请求的随机分布是均匀的,那么平均旋转延迟大约是其的一半(大概是因为如果每个柱面有奇数个扇区而不是偶数个扇区) 。这是我之前评论中的20/2,平均旋转延迟为10毫秒。对于每次读取,重复10毫秒寻道时间和1.25毫秒实际传输时间。 – twalberg

0

我发现了另一个解决方案。 搜索加旋转等待时间是20毫秒。 对于2-KB页面,传输 时间为1.25毫秒,总共为21.25毫秒。 加载32页这些页面将 需要680毫秒。对于4-KB页面,传输时间加倍为2.5毫秒,因此每页总时间为22.50毫秒。加载这些页面中的16个需要360毫秒的时间。 现在我很困惑。