操作系統--課堂問答筆記24--習題答案

課堂筆記學習視頻來自 操作系統
說明:其他”課堂問答筆記“也在”操作系統“專欄

【5-5、5-6、5-7】

1、邏輯設備名到物理設備名映射的實現

答:在邏輯設備表LUT的每個表目中包含了三項:邏輯設備名、物理設備名和設備驅動程序的入口地址。如下圖。當進程用邏輯設備表請求分配I/O設備時,系統根據當時的具體情況,爲它分配一個相應的物理設備。同時,在邏輯設備表中建立一個表目(即在邏輯設備表中增加一行),填上應用程序中使用的邏輯設備名和系統分配的物理設備名,以及該設備驅動程序入口地址。當以後進程再利用該邏輯設備名請求I/O操作時,系統通過查找LUT,便可以找到該邏輯設備所對應的物理設備和該設備的驅動程序。

 

在系統中可採取兩種方式設置邏輯設備表: 1)是在整個系統中只設置一張LUT;2)是爲每個用戶設置一張LUT。

 

2、簡述假脫機系統(SPOOLing技術)

答:SPOOLing系統的組成:

輸入井和輸出井:輸入井和輸出井的存儲區域是在磁盤上開闢出來的。輸入/輸出井中的數據一般以文件的形式組織管理,這些文件稱之爲井文件。一個文件僅存放某一個進程的輸入或輸出數據,所有進程的數據輸入或輸出文件鏈接成一個輸入輸出隊列。

輸入緩衝區和輸出緩衝區:輸入緩衝區和輸出緩衝區的存儲區域是在內存中開闢出來的。主要用於緩和CPU和磁盤(不是設備)之間速度不匹配的矛盾。輸入緩衝區用於暫存有輸入設備傳送的數據,之後再傳送到輸入井;輸出緩衝區同理。

輸入進程SPi和輸出進程SPo:輸入進程也稱爲預輸入進程,用於將用戶進程要求的數據從輸入設備傳送到輸入緩衝區,再放到輸入井。當CPU需要這些數據的時候,直接從輸入井將數據讀入內存。反之,輸出同理。

井管理進程:控製作業與輸入/輸出井之間信息的交換

 

該技術是利用專門的外圍控制機,先將低速I/O設備上的數據傳送到高速磁盤(磁盤相對於外部設備而言:高速,相對於處理機而言:低速)上,或者相反(即輸出:數據由磁盤到設備)。這樣當處理機需要輸入數據時,便可以直接從磁盤中讀取數據(而不是直接讀取設備),極大地提高了輸入速度。反之,在處理機需要輸出數據時,也可以很快的速度把數據先輸出到磁盤上(而不是直接寫到設備),處理機便可去做自己的事情。

下面是利用SPOOLing技術實現打印輸出的例子:

SPOOLing系統接收到用戶進程的打印輸出請求後:

由輸出進程在輸出井中爲之申請一個空閒磁盤塊區,並將要打印的數據送入其中;

輸出進程再爲用戶進程申請一張空白的用戶請求打印表,並將用戶的打印要求填入其中,再將該表掛到請求打印隊列上。

當打印機空閒時,輸出進程將從請求打印隊列的隊首取出一張請求打印表,再從輸出井把數據送到內存緩衝區,啓動打印機打印輸出。打印完後,輸出進程繼續檢查請求打印隊列……

 

3、簡述設備處理程序的功能。

答:設備處理程序通常又稱爲設備驅動程序,它是I/O系統的高層與設備控制器之間的通信程序,其主要任務是接收上層軟件(即設備獨立性軟件)發來的抽象I/O要求,如read或write命令,再把它轉換爲具體要求後,發送給設備控制器,啓動設備去執行;反之,它也將由設備控制器發來的信號傳送給上層軟件。由於驅動程序與硬件直接密切相關,故通常應爲每一類設備配置一種驅動程序。例如:打印機和顯示器需要不同的驅動程序。

    下面是I/O系統的層次結構:

 

設備處理程序的主要功能:

1) 接收由與設備無關的軟件發來的命令和參數,並將命令中的抽象要求轉換爲與設備相關的低層操作序列。

2) 檢查用戶I/O請求的合法性,瞭解I/O設備的工作狀態,傳遞與I/O設備操作有關的參數,設置設備的工作方式。

3) 發出I/O命令,如果設備空閒,便立即啓動I/O設備,完成指定的I/O操作;如果設備忙碌,則將請求者的請求塊掛在設備隊列上等待。

4) 及時響應由設備控制器發來的中斷請求,並根據其中斷類型,調用相應的中斷處理程序進行處理。

5)對於有通道的計算機,驅動程序還應該根據用戶 I/O 請求自動構成通道程序。

 

4、描述磁盤存儲器管理的主要任務。

答:爲文件分配必要的存儲空間,使得每個文件“各得其所”;合理組織文件的存儲方式以提高文件的訪問速度;提高磁盤存儲空間的利用率;提高I/O速度以改善文件系統的性能、採取必要的冗餘措施(增加多餘的重複文件)保證文件存儲的可靠性。

 

5、理解磁盤訪問時間的構成

答:首先參考磁盤結構圖:

 

要讀取的數據在磁盤的某個磁道上的某個扇區中,寫入也是一樣

磁盤訪問時間=尋道時間Ts+旋轉延遲時間Tr+傳輸時間Tt

 ①尋道時間:該時間是啓動磁臂的時間s與讀寫磁頭移動 n條磁道所花費的時間之和。 即:Ts = m*n + s,其中,m是一常數,與磁盤驅動器的速度有關;

②旋轉延遲時間:是指定扇區移動到磁頭下面所經歷的時間。不同的磁盤類型中,旋轉速度至少相差一個數量級,如轉速15000r/min的硬盤Tr爲2ms; 轉速300或600r/min的軟盤Tr爲50~100ms;

③傳輸時間:是指數據從磁盤讀出或向磁盤寫入經歷的時間。若每次讀/寫的權字節數爲b,磁盤每秒鐘的轉速爲r,一條磁道上的字節數爲N,則Tt=b/(r*N)

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