1. 處理機的排程層次
(1) 高階排程,又稱為作業排程或者長程排程,將作業調入記憶體
作業:除了程式和資料,還有乙份作業說明書。批處理系統以作業為基本單位從外存調入記憶體的。
(2) 低階排程,又稱為程序排程或者短程排程,排程物件是程序(或核心級執行緒)
程序排程的方式:非搶占式和搶占方式
非搶占式特點:實現簡單,系統開銷小,適用於大多數批處理系統
搶占式:防止長程序長時間占用,提供更公平的服務。開銷較大
搶占式應滿足的原則:優先權原則,短作業優先,時間片原則
(3) 中級排程又稱為中程排程
把那些暫時不能執行的程序放到外存。當記憶體空閒,程序具備執行條件時,調入記憶體。
2. 排程方式和排程演算法的若干準則
(1) 面向使用者的準則
a. 周轉時間短作業被提交到作業完成的時間包括:作業在外存等待排程的時間,程序在就緒佇列等待排程的時間,在cpu上執行的時間,等待i/o時間
b. 響應時間快 使用者提交乙個請求開始,到系統首次響應的時間
c. 截止時間的保證必須完成的最遲時間
d. 優先權原則
(2) 面向系統的準則
a. 系統的吞吐量高單位時間內系統完成的作業數
b. 處理機利用率高
c. 各類資源的平衡利用
3. 排程演算法
(1) 先來先服務(fcfs)適用於作業排程和程序排程,比較有利於長作業,不利於短作業
(2) 多作業優先(sjf)降低了平均等待時間,提高了系統吞吐量
對長演算法不利,未考慮作業的緊迫程度,
(3) 非搶占式優先權演算法主要用於批處理系統
(4) 搶占式優先權演算法適用於嚴格的實時系統,以及對效能要求較高的批處理和分時系統
a. 優先權的型別靜態優先權和動態優先權
b. 靜態優先權是建立程序時確定的,而且在程序整個執行期間保持不變
確定優先權的依據:程序型別,程序對資源的需求,使用者要求
特點:簡單易行,系統開銷小,但不夠精確
c. 動態優先權優先權隨著程序推進而改變
(5) 高響應比優先排程演算法
該演算法既照顧了短作業,又考慮了作業到達的先後次序,不會使長作業長時間得不到服務。計算響應比,會增加系統開銷。
(6) 基於時間片的輪轉排程演算法
時間片的確定:選擇小的時間片有利於段作業,但會頻繁的發生中斷,程序上下文切換,增加系統的開銷。時間片很長,便成了先來先服務。所以時間片略大於一次典型的互動所需的時間合適。
a. 多級反饋佇列排程演算法
設定多個就緒佇列,每個佇列有不同的優先順序。第乙個佇列優先順序最高,其餘佇列優先權逐漸降低。優先權越高,執行的時間片越短,
當程序進入記憶體後,先放入第一佇列末尾,時間片結束為完成,轉到第二佇列的末尾。
僅當第一佇列空閒時,排程程式才排程第二佇列中的程序執行。
4. 實時排程
最早截止時間優先(edf)
最低鬆弛度優先(llf) 根據任務的緊急(或鬆弛)程度,來確定任務的優先順序。
5. 產生死鎖的原因和必要條件
(1) 死鎖:多個程序執行過程中因爭奪資源而造成一種僵局
(2) 產生死鎖的原因:競爭資源(多個程序共享資源,其數目不滿足程序需要)
程序間推進順序非法(請求和釋放資源順序不當)
(3) 產生死鎖的必要條件
a. 互斥條件一段時間內某個資源只由乙個程序占用
b. 請求和保持條件已經保持了至少乙個資源,請求新的資源,而資源又被其他程序占用
c. 不可剝奪條件程序獲得資源,在未使用完之前,不能被剝奪
d. 環路等待條件 發生死鎖,必然存在乙個程序---資源環形鏈
6. 處理死鎖的基本方法
(1) 預防死鎖破壞死鎖產生必要條件的乙個或幾個
(2) 避免死鎖資源動態分配過程中,用某種方法防止系統進入不安全狀態 銀行家演算法
(3) 檢測死鎖
(4) 解除死鎖撤銷或者掛起一些程序
7. 預防死鎖
(1) 一次性申請整個執行過程中所需的全部資源
特點:簡單,易於實現很安全,資源被浪費嚴重,程序等待資源延時
(2) 當乙個已經保持了某些資源的程序,再提出新的資源請求不能立即滿足時,必須它已經保持的所有資源
特點:導致反覆的申請和釋放資源,程序被無限推遲增加了系統的開銷,降低系統的吞吐量
(3) 所有資源按型別進行線性排隊,並賦予不同的序號。
特點:資源利用率和系統吞吐量有明顯的改善,分配序號限制了新裝置的增加
8. 系統安全狀態
安全狀態:允許程序動態的申請資源,但系統在進行資源分配之前,應先計算資源分配的安全性,若此次分配不會導致系統進入不安全狀態,則將資源分配給程序
9. 死鎖的檢測與解除
死鎖的檢測使用資源分配圖
死鎖的解除:剝奪資源,撤銷程序
作業系統筆記 處理機排程與死鎖
處理機排程與死鎖 在多道程式環境下,記憶體中存在著多個程序,起數目往往多餘處理機數目。這就要求系統能按照某種演算法,動態地將處理機分配給處於就緒狀態的乙個程序,使之執行。分配處理機的任務是由處理機排程程式完成的。對於大型系統執行時的效能,如系統吞吐量,資源利用率,作業周轉時間或響應的及時性等,在很大...
作業系統總結 處理機排程與死鎖
處理機排程 1 高階排程 2 低階排程 低階排程也稱為程序排程 短程排程,它所排程的物件為程序 低階排程用於決定就緒佇列中的哪個程序應獲得處理機,然後再由分派程式執行把處理機分配給該程序的具體操作。功能 三個基本機制 程序排程方式 中級排程 中級排程又稱中程排程。引入中級排程的主要目的是為了提高記憶...
面試知識儲備 作業系統 處理機排程與死鎖
乙個作業從進入系統並駐留在外存的後備佇列開始,直至獲得處理器執行完成時一共要經過 排程 作業排程 高階排程 中級排程 為了提高記憶體利用率 記憶體排程 低階排程 高階排程 作業排程 根據某種演算法,將外存上處於後備佇列中那些作業調入記憶體 即排程的物件是作業。作業 可理解成程式,但是比程式的概念更廣...