作業系統期末複習之 常用排程演算法整理

2021-08-14 14:46:46 字數 1732 閱讀 7007

按照課本的順序

一、作業管理 常見的批處理作業排程演算法

1.先來先服務排程演算法(fcfs):就是按照各個作業進入系統的自然次序來排程作業。這種排程演算法的優點是實現簡單,公平。其缺點是沒有考慮到系統中各種資源的綜合使用情況,往往使短作業的使用者不滿意,因為短作業等待處理的時間可能比實際執行時間長得多。

4. 基於優先數排程演算法(hpf):每乙個作業規定乙個表示該作業優先順序別的整數,當需要將新的作業由輸入井調入記憶體處理時,優先選擇優先數最高的作業。

5.均衡排程演算法,即多級佇列排程演算法

基本概念:

作業周轉時間(ti)=完成時間(tei)-提交時間(tsi)

響應比=(等待時間+執行時間)/執行時間

二、程序管理 程序排程演算法

1.先進先出演算法(fifo):按照程序進入就緒佇列的先後次序來選擇。即每當進入程序排程,總是把就緒佇列的隊首程序投入執行。

2. 時間片輪轉演算法(rr):分時系統的一種排程演算法。 輪轉的基本思想是,將cpu的處理時間劃分成乙個個的時間片,就緒佇列中的程序輪流執行乙個時間片。當時間片結束時,就強迫程序讓出cpu,該程序進入就 緒佇列,等待下一次排程,同時,程序排程又去選擇就緒佇列中的乙個程序,分配給它乙個時間片,以投入執行。

3. 最高優先順序演算法(hpf):程序排程每次將處理機分配給具有最高優先順序的就緒程序。最高優先順序演算法可與不同的cpu方式結合形成可搶占式最高優先順序演算法和不可搶占式最高優先順序演算法。

4. 多級佇列反饋法:幾種排程演算法的結合形式多級佇列方式。

三、空閒分割槽分配演算法

1. 首先適應演算法:當接到記憶體申請時,查詢分割槽說明表,找到第乙個滿足申請長度的空閒區,將其分割並分配。此演算法簡單,可以快速做出分配決定。

2. 最佳適應演算法:當接到記憶體申請時,查詢分割槽說明表,找到第乙個能滿足申請長度的最小空閒區,將其進行分割並分配。此演算法最節約空間,因為它盡量不分割到大的空閒區,其缺點是可能會形成很多很小的空閒分割槽,稱為「碎片」。

3. 最壞適應演算法:當接到記憶體申請時,查詢分割槽說明表,找到能滿足申請要求的最大的空閒區。該演算法的優點是避免形成碎片,而缺點是分割了大的空閒區後,在遇到較大的程式申請記憶體時,無法滿足的可能性較大。

四、虛擬頁式儲存管理中的頁面置換演算法

1.最佳演算法(opt):這是一種理想的演算法,在實際中不可能實現。該演算法的思想是:發生缺頁時,選擇以後永不使用或在最長時間內不再被訪問的記憶體頁面予以淘汰。

2.先進先出頁面淘汰演算法(fifo):選擇最先進入記憶體的頁面予以淘汰。

3. 最近最久未使用演算法(lru):選擇在最近一段時間內最久沒有使用過的頁,把它淘汰。

4.最少使用演算法(lfu):選擇到當前時間為止被訪問次數最少的頁轉換。

五、磁碟排程

1.先來先服務(fcfs):是按請求訪問者的先後次序啟動磁碟驅動器,而不考慮它們要訪問的物理位置

2.最短尋道時間優先(sstf):讓離當前磁軌最近的請求訪問者啟動磁碟驅動器,即是讓查詢時間最短的那個作業先執行,而不考慮請求訪問者到來的先後次序,這樣就克服了先來先服務排程演算法中磁臂移動過大的問題

3.掃瞄演算法(scan)或電梯排程演算法:總是從磁臂當前位置開始,沿磁臂的移動方向去選擇離當前磁臂最近的那個柱面的訪問者。如果沿磁臂的方向無請求訪問時,就改變磁臂的移動方向。在這種排程方法下磁臂的移動類似於電梯的排程,所以它也稱為電梯排程演算法。

4.迴圈掃瞄演算法(cscan):迴圈掃瞄排程演算法是在掃瞄演算法的基礎上改進的。磁臂改為單項移動,由外向裡。當前位置開始沿磁臂的移動方向去選擇離當前磁臂最近的哪個柱面的訪問者。如果沿磁臂的方向無請求訪問時,再回到最外,訪問柱面號最小的作業請求。

作業系統 期末複習

訊號量機制主要有整形訊號量 記錄性訊號量 訊號量集機制。訊號量是乙個整形變數,根據控制物件的不同賦不同的值。訊號量可分為公用訊號量和私用訊號量兩類。公用訊號量 實現程序間的互斥,初值 1或資源的數目 私用訊號量 實現程序間的同步,初值 0或某個整數 訊號量s的物理意義 s 0時表示某資源的可用數,s...

作業系統期末複習

1 作業系統是一種 系統軟體 是 使用者和計算機 的介面。2 程序的同步是指併發程序之間存在一種制約關係,乙個程序的執行依賴另乙個程序,的訊息,當乙個程序沒有得到另乙個程序的訊息時應等待,直到訊息到達才被喚醒。所以兩個程序合作完成乙個任務,在併發執行中,乙個程序要等待其合作夥伴發來資訊,或者建立某個...

作業系統常用排程演算法

在作業系統中存在多種排程演算法,其中有的排程演算法適用於作業排程,有的排程演算法適用於程序排程,有的排程演算法兩者都適用。下面介紹幾種常用的排程演算法。fcfs排程演算法是一種最簡單的排程演算法,該排程演算法既可以用於作業排程也可以用於程序排程。在作業排程中,演算法每次從後備作業佇列中選擇最先進入該...