操作系統--磁盤調度題目

【題目來源-2010 408 真題】
假設 計 算機系統採用CSCAN(循環掃描)磁盤調度策略 。使 用2KB的內存空間記錄16384個磁盤的 空閒 狀態 。

(1)請說明在上述條件 下 如何進行磁盤 空閒 狀態的管理。
(2)設某單面磁盤的旋轉速度爲每分鐘6000轉 , 每個磁道有100個扇區,相 鄰 磁道間的平均移動的時間爲1ms 。 若在某時刻,磁頭位於100號磁道處,並沿着磁道號增大的方向移動(如下圖所示),磁道號 請求 隊列爲50,90,30,120 , 對 請求 隊列中的每個磁道需 要 讀取1個隨機分佈的扇區,則讀完這個扇區點共需要多少時間? 要求 給出計算過程。
( 3 )如果將磁盤替換爲隨機訪問的 Flash半導體存儲器(如U盤,SSD等),是否有比CSCAN更高效的磁盤調度策略?若有,給出磁盤調度策略的名稱並說明理由;若無,說明理由。

在這裏插入圖片描述
【解答】
(1)有題目可只一共有 16384 個盤塊需要管理,因爲盤塊數量大,不適合採用空閒表和空閒鏈表法進行管理,所以採用位示圖進行管理。

每一個盤塊用一位來記錄,則需要 16384 b,也就是 16384 / 8 = 2048B = 2KB,剛好可以用題目給出的 2KB 內存空間來記錄。

(2)
首先介紹三個用於磁盤調度時間的公式
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

計算整個過程的時間實際上是分開單獨計算尋道時間,旋轉延遲時間和讀取數據時間。

尋道時間
題目可知採用循環掃描算法,所以尋道順序是 100->120->30->50->90,一共跨越了 20+90+20+40 個磁道。

所以尋道時間 = 170*1ms=170ms
(此處沒有給出磁臂啓動時間則不計算)

旋轉延遲時間
直接帶入公式 = 126000/min=5ms\frac{1}{2*6000轉/min}=5ms
這是計算的定位到一個扇區的平均旋轉時間,現在我們分別要定位 4 個扇區
所以總旋轉延遲 = 4*5=20ms

讀取數據時間
這裏的計算並不是直接代公式。

我們知道一個磁道讀取一轉需要的時間是 16000/min=0.01s=10ms\frac{1}{6000轉/min}=0.01s=10ms
現在要求每個磁道只讀取隨機的一個扇區,題目已知一個磁道里有 100 個扇區,所以讀取一個磁道一個扇區的時間 = 10ms100=0.01ms\frac{10ms}{100}=0.01ms

一共有4個磁道所以是 0.4 ms

所以總共的時間加起來是:170+20+0.4=190.4

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章