作業系統(第四單元)

2021-10-23 01:11:21 字數 2297 閱讀 3128

排程型別:高階排程、低階排程、中級排程

高階排程:

又稱作業排程、巨集觀排程。外存上後備佇列中的作業調入記憶體。適用於批處理系統。

低階排程:

又稱進度排程、微觀排程。決定就緒佇列中哪些程序獲得處理機。適用於分時、實時、批處理系統。

排程方式:非剝奪式、剝奪式

搶占原則:時間片、優先權、程序長短

中級排程:

又稱對換程式。記憶體外存對換,解決記憶體緊張問題。

程序排程方式:

不可剝奪方式(非搶占方式)、可剝奪方式(搶占方式)

程序排程時機:

程序退出、程序阻塞、新程序建立、中斷發生、時鐘中斷

排程效能準則:

面向使用者的準則(響應時間快、周轉時間短、優先權準則、截止時間保證)

面向系統的準則(系統吞吐量、處理機利用率、各類資源平衡利用、公平)

周轉時間=作業完成時刻-作業到達時刻

先來先服務排程演算法fcfs:有利於長作業

短作業優先排程演算法sjf:(短程序優先排程演算法spn):極端情況下,長作業得不到排程

時間片輪轉排程演算法

響應時間t=使用者數目n時間片q*

最短剩餘時間優先srt

多級反饋佇列mfq

優先權排程演算法:

靜態優先權:確定因素:靜態型別、程序對資源的需求、使用者需求

動態優先權:確定因素:等待時間、執行時間

一組競爭系統資源或相互通訊的程序相互的「永久」阻塞。若無外力作用,這組程序將永遠不能繼續執行。

產生死鎖的原因

資源數《要求該種資源的程序數

程序的推進順序非法

可重複資源:

往往一次只能分配給乙個程序安全使用,並且不會因為使用而耗盡。程序得到這類資源,使用完畢就釋放,其他程序再次使用。如i/o通道、處理機、裝置等。

可消耗資源:

是指可以建立和撤消的資源,乙個程序使用後,就不在存在。如中斷、訊號量、訊息和快取區等。

產生死鎖的條件:

產生死鎖的必要條件

互斥條件

請求保持條件

不可剝奪條件

產生死鎖的充分條件

環路條件

死鎖的處理方法:

死鎖的預防

死鎖的避免

死鎖的檢測與恢復

死鎖的預防:

互斥條件不可禁止

去掉「請求保持條件」

採用預先靜態分配方法:系統要求所有程序一次性地申請其所需的全部資源。

去掉「不可剝奪條件」

去掉「環路條件」

採用資源的有序分配:令所有資源排隊,並賦予序號。當程序請求資源,必須嚴格按照遞增次序提出,從而消除環路。

死鎖的預防效率低。

死鎖的避免:

銀行家演算法

進行資源預分配

實施安全檢測

(安全:真正資源分配;不安全:回到預分配前狀態)

死鎖的檢測:資源分配圖

死鎖的解除

剝奪資源(從其他程序剝奪足夠數量的資源給死鎖程序)

撤銷程序(為接觸死鎖狀態所需撤消的程序數目最小 撤消程序所付出的代價最小)

不會出現死鎖的條件:總資源大於(程序需求-1)程序個數

安全狀態不會出現死鎖,出現死鎖一定是在不安全狀態,不安全狀態不一定是因為死鎖。

總結:

(1)排程型別與準則:高階排程(從記憶體)、中級排程、低階排程(從就緒佇列) 不可剝奪、可剝奪

(2)排程演算法:先來先服務、短作業優先(最短剩餘時間,高響應比優先)、時間片輪詢、優先權排程、多級反饋佇列

(3)死鎖的預防與避免:四個死鎖必要條件、死鎖預防(按順序分配資源)、死鎖避免(銀行家演算法)、死鎖的檢測(資源分配圖)、死鎖的解除(剝奪資源、撤消程序)

(真實系統解決死鎖:鴕鳥演算法)

作業系統第四章

2 分割槽分配演算法 動態分割槽方式,分割槽多 大小差異各不相同,此時把乙個新作業裝入記憶體,更需選擇乙個合適的分配演算法,從空閒分割槽表 鏈中選出一合適分割槽 首次適應演算法ff 迴圈首次適應演算法 最佳適應演算法 最差適應演算法 快速適應演算法 4 動態重定位分割槽分配 有緊湊功能的動態分割槽分...

作業系統第四章

常用排程演算法 先來先服務演算法 fcfs 短程序優先演算法 spf 短剩餘時間優先演算法 srt 最高響應比優先演算法 hrrn 時間片輪轉演算法 rr 和多級反饋演算法 mfq 先來先服務演算法 fcfs 基本思想是按照程序進入就緒佇列的先後次序來分配處理機.採用不可剝奪方式 fcfs演算法很少...

作業系統第四次作業

4.2 解 發生模式切換可以不改變正處於執行態的程序狀態,在這種情況下,儲存上下文環境和以後恢復上下文環境只需要很少的開銷,執行緒包含的狀態資訊更少 4.3解 資源所有權和排程執行 4.4.解 例如位址空間,檔案資源,執行特權等。problems 4.2解 因為對於使用者級執行緒來說,乙個程序的執行...