2017-03-07 94 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毫秒的時間。 現在我很困惑。