設備分配技術
在作業系統中,設備的分配和回收是設備管理的重要功能,旨在優化資源使用,避免衝突,提高系統效率。以下是主要的分配和回收策略:
獨佔裝置的分配
- 靜態分配:
- 在作業開始執行前,系統一次指派該作業所需的全部設備、控制器和通道。
- 優點:不會有死鎖問題。
- 缺點:設備利用率較低,因為資源在整個作業期間被獨佔,即使作業不再需要時也無法釋放。
- 動態分配:
- 在進程執行過程中按需分配設備。當進程需要使用裝置時,透過系統呼叫請求分配,使用完畢後立即釋放。
- 優點:提高設備利用率。
- 缺點:如果分配策略不當,可能會導致進程死鎖。
設備分配的資料結構
為了管理設備分配,系統使用以下幾種控製表:
- 設備控製表(DCT, Device Control Table):
- 記錄設備的基本訊息,包括設備類型、狀態(如已指派、未指派等)以及設備佇列等。
- 控制器控製表(COCT, Controller Control Table):
- 記錄控制器的使用狀態和連接情況。
- 通道控製表(CHCT, Channel Control Table):
- 管理頻道的使用狀態。
- 系統設備表(SDT, System Device Table):
- 記錄系統中所有設備的基本信息,如設備類型、數量、驅動程式位址等。
- 邏輯設備表(LUT, Logical Unit Table):
- 映射邏輯設備名到實體設備名,實現設備的獨立性,允許用戶透過邏輯名稱請求設備。
設備的回收
- 當裝置使用完畢後,系統會根據裝置的狀態表修改裝置為「未指派」狀態,並從等待佇列中選擇下一個需要使用該裝置的行程進行指派。
- 對於共享設備,系統在每次I/O操作完成後釋放設備,讓其他等待進程能夠及時使用設備。
- 採用公用緩衝池結構來最佳化資源利用,避免設備長時間閒置,提升系統整體效率。
設備獨立性
- 設備獨立性使得應用程式與特定實體設備分離,使用者只需使用邏輯設備名,不關心實際分配的實體設備。
- 設備驅動程式和設備獨立性軟體透過統一介面管理所有設備,執行設備分配和回收,提升系統的可擴充性和適應性。