作業系統原理第五章(資源分配與排程)

2021-08-20 17:12:12 字數 1935 閱讀 8112

一、資源管理  

1.資源的動態分配:程序所需的資源是在程序執行中根據運**況動態的分配、使用和釋放的。

靜態分配:批處理作業系統中,對作業一級採用資源靜態分配方法。作業所需要的資源是在排程到這個作業的時候,根據使用者給出的資訊進行分配,並在做作業執行完畢後釋放所獲得的的全部資源。

2.資源管理任務:

對資源資料結構的描述;確定資源的分配原則和排程原則;執行資源分配;訪問控制和安全保護

3.資源的分類:

物理資源和程式資源;

單一訪問入口資源(一次只能為乙個程序所用)/多訪問入口資源(可同時為多個程序所共享)

等同資源:在某些條件下,申請者申請資源時,無論給它分配哪乙個具體裝置,對它而言都是等效的。

虛擬資源

二、資源分配機制

1.資源描述器:描述各類資源的最小分配單位的資料結構(rd),如主儲存器的主存塊,磁碟的扇區 

2.資源資訊塊(rib):說明資源、請求者及實施分配所需的必要資訊的資料結構

三、資源分配策略

1.實施分配的時機:

當請求者發出乙個明確地資源請求命令;                            當處理機空閒的時候;

當儲存區被釋放變為空閒的時候;                     當乙個外部裝置發生完成中斷時;

分配程式選擇乙個請求的的策略:

按照請求來到的先後次序進行檢視;                將程序請求者的優先順序結合到每乙個請求中;

滿足能更合理應用這個資源的請求

先請求先服務(fifo)           優先排程

針對裝置特性的排程:

移臂排程:在滿足乙個磁碟的請求時,總是選取與當前移動臂前進方向上最近的那個情求,使移臂距離最短

旋轉排程:在滿足乙個磁碟請求時,總是選取與當前讀寫頭旋轉方向最近的那個情求,使旋轉圈數最少

四、死鎖

1.死鎖:在兩個或多個併發程序中,如果每種程序持有某種資源而又都等待著別的程序釋放它或它們現在保持的資源,在未改變這種狀態之前都不能向前推進,稱這一組程序產生了死鎖。

同類資源的死鎖     ;    非同類資源的死鎖

2.產生死鎖的原因及必要條件  

根本原因:系統能夠提供的資源個數少於要求該資源的程序數

原因:系統資源不足;程序推進順序非法

必要條件:互斥條件;不剝奪條件;占有並等待;環路條件 

3.解決死鎖問題的策略

預防死鎖:通過設定某些限制條件,破壞死鎖四個必要條件之一(多),來防止死鎖

破壞互斥條件(難)         破壞不剝奪條件(代價大)

破壞部分分配條件(預先靜態分配)

破壞環路條件(有序資源分配)

較容易實現,但由於限制太嚴格,導致資源利用率和吞吐率降低

避免死鎖:在資源的動態分配過程中,用某種方法防止程序進入不安全狀態,從而避免死鎖的進入。

較難實現,只需較弱的限制,就可獲得較高的資源利用率和吞吐率

檢測和恢復死鎖:允許死鎖發生,但可通過檢測機制及時檢測出死鎖狀態,並精確確定與死鎖有關的程序和資源,然後採用使用措施,將系統中的死鎖清除,將程序從死鎖狀態中解脫出來。

檢測方法:難

恢復方法:   常用的方法是撤銷或掛起一些程序,以**一些資源,再將它們分配給處於阻塞狀態的程序,使之轉化為就緒狀態

實現難度大,但可獲得較高的資源利用率和系統吞吐量

4.預防死鎖:

靜態預防:預先分配所有共享資源

改進:將資源的分配單位由程序改為程式步

動態預防:採用資源的動態分配

避免死鎖:

有序資源分配法:系統中所有資源都給定乙個唯一的編號,所有分配請求必須以上公升的次序進行。要求程式:

對它所必須使用的屬於某一類的所有資源必須一次申請完成;

在申請不同類的資源時,必須安各類編號一次申請

銀行家演算法

作業系統 第五章 資源分配與排程

第五章 資源分配與排程 5.1 資源管理概述 5.1.1 5.1.2 資源管理目的 為使用者提供一種簡單而有效地使用資源的方法 任務 1 資源資料結構的描述 2 確定資源的分配原則和排程原則 3 執行資源分配 4 訪問控制和安全保護 作業系統對資源區分兩種不同的概念 物理資源 系統中那些物理 可實際...

作業系統第五章

虛擬儲存器的基本概念 引入 實現 特徵 請求分頁儲存管理方式 硬體支援 位址變換 分配演算法 頁面置換演算法 效能分析 請求分段儲存管理方式 主要相同點是都要在記憶體與外存之間交換資訊 主要區別在於交換技術換出換進一般是整個程序 proc結構和共享正文段除外 因此乙個程序的大小受物理儲存器的限制 而...

作業系統 第五章 死鎖(一)

死鎖 deadlock 定義 在多道程式中,由於多個併發程序共享系統的資源,如果使用不當可能會造成一種僵局,即當某個程序提出資源的使用請求後,使得系統中一些程序處於無休止的阻塞狀態,在無外力的作用下,這些程序將無法繼續進行下去,這就是死鎖。產生死鎖的環境 1 多道程式設計技術 2 多個併發程序 3 ...