OS第3章 —— 程序排程和死鎖
前言
又看了一遍第三章畫的導圖,思路更加清晰。真的是書讀百遍,其義自見。
正文
主要知識點:
- 程序排程的功能:按照某種策略和演算法,從就緒態程序中,為當前,空閒,的CPU選擇,在其上執行的新程序。
- 程序排程的時機:當一個程序,執行結束,程序阻塞,中斷返回,在支援搶佔式排程的系統中有比當前執行程序優先順序更高的程序到來,當前執行程序的時間片用完,系統,會通過執行程序排程程式,重新進行程序排程。
- 死鎖的預防:摒棄請求和保持條件,摒棄不剝奪條件,摒棄環路等待條件。
- 死鎖的避免:把系統的資源分配狀態分為安全狀態和不安全狀態。只要資源分配使系統資源分配狀態處於安全狀態,死鎖就不會發生。
思維導圖:
相關推薦
OS第3章 —— 程序排程和死鎖
前言 又看了一遍第三章畫的導圖,思路更加清晰。真的是書讀百遍,其義自見。 正文 主要知識點: 程序排程的功能:按照某種策略和演算法,從就緒態程序中,為當前,空閒,的CPU選擇,在其上執行的新程
第3章 處理機排程與死鎖(1)
例題1: 設採用搶佔式的高響應比優先演算法,注意以下時間點: (1)作業完成時 (2)作業阻塞時(本題作業沒有因IO阻塞的情況,該時間可忽略) (3)新作業來時 時刻0:A進入開始執行 時刻1:B進入,此時A響應比為5/5=1、B的響應比為8/8=1,A和B響應比相同,B進入就緒佇列;
第3章 處理機排程與死鎖
1,死鎖 指多個程序在執行過程中,因爭奪資源而造成的一種僵局。當程序處於這種狀態時,若無外力作用,它們都將無法再向前推進。 2,死鎖與飢餓的區別 死鎖(Deadlock): 指程序之間無休止地互相等待(堵塞狀態) 飢餓(Starvation):指一個程序無休止地等待(執行狀態)
第3章 處理機排程與死鎖(二)
什麼時候計算各程序的響應比優先權? 需要進行排程選擇的時候比較各自優先權 作業完成時 新作業產生時(搶佔、非搶佔) 時間片完成時 程序阻塞時 影響時間片長度的主要因素 系統的處理能力和系統的負載狀態。(依據系統的
os第三章處理機排程與死鎖
1.死鎖的概念 死鎖是指兩個或兩個以上的程序在執行過程中,由於競爭資源或者由於彼此通訊而造成的一種阻塞的現象,若無外力作用,它們都將無法推進下去。此時稱系統處於死鎖狀態或系統產生了死鎖,這些永遠在互相等待的程序稱為死鎖程序。 2.死鎖產生的4個必要條件 1、互斥:某種資源一次只允許一個程序訪
第3章 處理機排程與死鎖 ---- 2、常用排程演算法
2、常用排程演算法 排程的實質就是一種資源分配。不同的系統和系統目標,通常採用不同的排程演算法——適合自己的才是最好的。 如批處理系統為照顧為數眾多的短作業,應採用短作業優先的排程演算法;
第3章 處理機排程與死鎖(3)
LLF演算法例題: 一個實時系統中兩個週期型實時任務A、B 週期 執行時間長 任務A:20ms, 10ms; 任務B:50ms, 25ms; t=0時 :A1的鬆弛度為20-10=10ms,B1的鬆弛度為50-25=25ms,所以執行A1任務; t=10時
第三章 程序排程與死鎖
程序排程的功能 程序排程的功能由作業系統的程序程式來完成 按照某種策略和演算法從就緒態程序中為當前空閒的CPU選擇在其上執行的新程序 程序排程的功能是什麼? 按照某種策略和演算法從就緒態程序中選擇新程序執行。 需要程序排程的時機 1.程序正常或異常結束 程序阻塞 有更高優先順序程序到來,時間片用完
計算機作業系統第三章 處理機排程和死鎖
處理機排程的層次 2.低階排程:程序排程或短程排程,決定就緒佇列中哪個程序獲得處理機。最基本的排程,多批道處理,分時和實時OS都有 3.中級排程:記憶體排程,提高記憶體利用率和系統吞吐量。儲存器管理中的對換功能。 1.高階排程 決定後備佇列中調入主存的作業多少
第三章處理機排程與死鎖--處理機排程
一、處理機排程的基本概念 作業進入系統駐留在外存的後備佇列上,再至調入記憶體執行完畢,可能要經歷下述三級排程。 高階排程(High Scheduling) 又稱作業排程或長程排程(Long-Term Scheduling),接納排程(Admission Scheduling) 主要在
作業系統--第三章處理機排程與死鎖_2
死鎖 定義: 如果一組程序中的每個程序都在等待僅由該組程序中的其他程序才能引發的事件,那麼該組程序是死鎖的. 產生死鎖的必要條件: 互斥條件:程序對分配到的資源進行排他性的使用. 請求和保持條件:程序已經保持了至少一個資源,因為對另一個資源申請時被阻塞同時保持當前
作業系統--第三章處理機排程與死鎖_1
處理機排程定義: 在多道程式環境下,動態的將處理機分配給處於就緒狀態的一個程序使之執行. 對於大型系統執行時的效能,很大程度上取決於處理機排程效能的好壞. 處理機排程的層次: 高階排程: 又稱為長程排程或作業排程,他的排程物件是外村上處於後備佇列中的作業.高階排程主要用於
第三章 處理機排程與死鎖
處理機的三級排程 1.高階排程(外存):週期較長,花費較多的時間 2.中級排程(記憶體):執行頻率介於另外兩種排程之間 3.低階排程(程序):執行頻率最高,演算法不能太複雜 面向使用者的準則 1.響應時間快 2.均衡性 3.截止時間的保證
【作業系統】第三章 處理機排程與死鎖
1.處理機排程相關基本概念 處理機排程:多道程式環境下,動態的把處理機分配給就緒佇列中的一個程序使之執行。 (1)作業進入系統駐留在外存的後備佇列上,再至調入記憶體執行完畢,可能要經歷下述三級排程。 高階排程(High Scheduling)(又稱作業排程或長程排程(Long-Term Sc
第三章 處理機排程與死鎖(2)
四、產生死鎖的原因和必要條件 死鎖(Deadlock):指程序之間無休止地互相等待 飢餓(Starvation):指一個程序無休止地等待 產生死鎖的原因: 1.競爭資源。 系統中供多個程序共享的資源如印表機、公用佇列等的數目不滿足需要時,會引起資源競爭而產生死鎖。 可把系統中的資源分為兩
第三章 處理機排程與死鎖(1)
一、處理機排程相關基本概念 作業進入系統駐留在外存的後備佇列上,再至調入記憶體執行完畢,可能要經歷下述三級排程。 1.高階排程(High Scheduling) 又稱作業排程或長程排程(Long-Term Scheduling),接納排程(Admission Scheduling)。主要
第三章 處理機排程與死鎖(二)
3.6 預防死鎖 1. 破壞“請求和保持”條件 所有程序在開始執行之前,必須一次性地申請其在整個執行過程中所需的全部資源。 優點:簡單、易行且安全 缺點:①資源被嚴重浪費 ②使程序經常會發生飢餓現象 2. 破壞“不可搶佔”條件 允許程序先執行,提出新的
第三章 處理機排程與死鎖(一)
3.1 處理機排程的層次和排程演算法的目標 1.系統執行並不一定存在高階排程 批處理系統有作業排程,分時系統和實時系統不需要作業排程。 2.引入中級排程的主要目的是,提高記憶體利用率和系統吞吐量,根據條件將一些程序調出或再調入記憶體。 3.排程程式也是程式。 4.排程原則
學習筆記之湯小丹《計算機作業系統第四版》----第三章 處理機排程與死鎖
處理機排程的層次: 高階排程(作業排程、長程排程):排程物件為作業(還不是程序),為它們建立程序,分配必要的資源,並將它們放入就緒佇列(從外存 --->記憶體) 低階排程(程序排程、短程排程):決定就緒佇列中的哪個程序應獲得處理機 中級排程(記憶體排程):提高記
作業系統第三章處理機排程與死鎖知識點及題目練習(上)
1.處理機排程層次及排程演算法的目標排程層次包括三級排程。(1)高階排程。也叫作業排程或長程排程。排程的物件是作業,主要用於多道批處理系統中。(為什麼實時系統和分時系統不需要嘞,因為對響應時間要求較高呀。【就是因為多道批處理系統沒什麼互動能力,所以才出現了之後的分時系統呀】)