作業系統 第三章筆記(一)

2021-08-29 12:32:24 字數 2946 閱讀 6862

處理及排程與死鎖

1.處理機排程:多道程式環境下,動態的把處理機分配給就緒佇列中的乙個程序使之執行。

2.提高處理機的利用率、改善系統效能,很大程度上取決於處理機排程的效能。

3.處理機排程便成為os設計的中心問題之一。分配的任務由處理機排程程式完成。

一.處理機排程的基本概念

作業進入系統駐留在外存的後備佇列上,再至調入記憶體執行完畢,可能要經歷下述**排程。

1.高階排程(high scheduling)(管理的方面比較多)

又稱作業排程或長程排程(long-term scheduling),接納排程(admission scheduling)

主要在早期批處理階段,處理在外存上的作業。

1)決定外存後備佇列中的哪些作業調入記憶體;

2)為它們建立程序、分配必要的資源;

3)將新建立的程序排在就緒佇列上,準備執行。

ps:外存的作業形成佇列,排程在佇列中進行選擇,選擇後建立程序。

2.中級排程(intermediate-level scheduling)

又稱交換排程或中程排程(medium-term scheduling)

引入目的:提高記憶體利用率和系統吞吐量。根據條件將一些程序調出或再調入記憶體。

3.低階排程(low level scheduling)

也稱為程序排程、微觀排程或短程排程(short-term scheduling)

決定記憶體就緒佇列中的哪個程序獲得處理機,進行分配工作。是最基本的一種排程,在三種基本os中都有。

程序排程的方式:非搶占方式、搶占方式

|程序排程方式 |程序排程時機 |特點

|非搶占方式 |程式完成;發生某事件阻塞;|實現簡單、系統開銷小;功能也簡單,適用於大多數批處理os,但在要求較嚴格的實時系統,不宜採用該方式

|搶占方式 | 程式完成;發生某事件阻塞;新程序就緒; |搶占的原則有很多種:優先權高的可以搶占優先順序低的程序的處理機。短作業(程序)可以搶占長作業(程序)的處理機。各程序按時間片執行,乙個時間片用完時重新進行排程。

排程程式的任務職能:排程和分派。

(1) 記錄系統中所有程序的有關情況

(2) 確定分配處理機的原則

(3) 分配處理機給程序

(4) 從程序收回處理機

ps:1.三種排程的頻率和複雜度

程序排程:執行頻率最高,演算法不能太複雜,以免占用太多的cpu時間。分時系統通常10~100ms便進行一次。

作業排程:乙個作業執行完畢退出系統時即觸發重新排程乙個新作業入記憶體,週期較長,大約幾分鐘一次。因而也允許作業排程演算法花費較多的時間。

中級排程:執行頻率基本上介於上述兩種排程之間。

2.三種排程程式的比較

排程型別 執行頻率 執行時間 演算法複雜性

程序排程 高 短 低

中程排程 中等 較短 中等

作業排程 低 長 高

二.排程佇列模型

不論高階、中級或者低階排程,都涉及到程序佇列,由此形成了三類排程佇列模型。從這三種方式中體驗排程的過程。

① 僅有程序排程的排程佇列模型

② 具有高階和低階排程的排程佇列模型

③ 同時具有**排程的排程佇列模型

1)僅有程序排程的排程佇列模型

常見情況:分時系統。(時間片排程:先來先入隊)

通常僅設定程序排程,使用者鍵入的命令和資料,都直接送入記憶體。

排程物件:處於就緒狀態的程序。

組織形式:棧、樹或乙個無序鍊錶

用何種形式取決於os型別和採用的排程演算法。如:分時系統中把就緒程序組織成fifo佇列形式:按時間片輪轉方式執行。

程序排程過程中每個程序在執行時按規定的時間片演算法,在給定時間片內任務有三種執**況:

① 完成工作,釋放處理機進入完成狀態

② 未完成,將該任務再放入就緒佇列末尾

③ 因某事件而被阻塞,被os放入阻塞佇列

2)具有高階和低階排程的排程佇列模型

批處理系統中,還需要作業排程

3)同時具有**排程的排程佇列模型

 引入中級排程後,程序的狀態變化:

就緒狀態:分為記憶體就緒和外存就緒。

阻塞狀態:分為記憶體阻塞和外存阻塞。

中級排程使程序在上述狀態間變化,並使資料在內外存間互換。

三、選擇排程方式和排程演算法的若干準則

不同的情況和物件需求不同,適用的方式和演算法也不同,所以沒有哪種演算法是最好的。

1)面向使用者的準則

 周轉時間短:

針對批處理系統的效能指標。作業從提交到完成所經歷的時間。

 響應時間快:針對分時系統。使用者輸入乙個請求(如擊鍵)到系統給出首次響應(如螢幕顯示)的時間

 均衡性:系統響應時間的快慢與使用者所請求的複雜性相適應。

 截止時間的保證:針對實時系統的效能指標。開始截止時間和完成截止時間。任務必須按規定的時間開始或完成,排程方式和演算法必須能保證該要求。

 優先權準則:三大基本os在排程演算法的選擇時都可遵循。可以使關鍵任務達到更好的指標。

2)面向系統的準則

 系統吞吐量高:批處理系統的重要指標。

單位時間內所完成的作業數,跟作業本身(與作業平均長度密切相關)和排程演算法都有關係;

 處理機利用率好(主要針對大中型主機)

 各類資源的平衡利用(主要針對大中型主機)

不同系統需求各有側重,所以在選擇演算法上也有不同。

各系統的需求情況:

 批處理系統(作業量小的先做):平均周轉時間短、系統吞吐量高、處理機利用率好。

 分時系統:響應時間快、均衡。

 實時系統:截至時間的保證、可**性。

ps:1.時長的表示:

1)cpu執行用時ts

2)總的等待時間tw = 在後備佇列中等待 + 就緒佇列上等待+ 阻塞佇列中等待(等待i/o操作用時)

3)周轉時間t=ts+tw

4)帶權周轉時間w= t/ts

5)平均周轉時間、平均帶權周轉時間(n個作業求平均)

2.處理機的利用率就是cpu的真正工作時間。

作業系統第三章概要

處理機排程 多道程式環境下,動態的把處理機分配給就緒佇列中的乙個程序使之執行。提高處理機的利用率 改善系統效能,很大程度上取決於處理機排程的效能。作業進入系統駐留在外存的後備佇列上,再至調入記憶體執行完畢,可能要經歷下述 排程 高階排程又稱作業排程或長程排程 接納排程 中級排程又稱交換排程或中程排程...

作業系統習題(第三章)

第三章互斥與同步 1.設有n個程序,共享乙個資源r,但每個時刻只允許乙個程序使用r。演算法如下 設定乙個整型陣列flag n 其每個元素對應表示乙個程序對r的使用狀態,若為0表示該程序不在使用r,為1表示該程序要求或正在使用r,所有元素的初值均為0。process pi 2.有三個程序r,m,p,r...

作業系統 第三章 1 排程

1 處理機排程 多道程式環境下,動態的把處理機分配給就緒佇列中的乙個程序使之執行。2 高階排程 外存進記憶體 又稱作業排程或長程排程 接納排程 批處理系統 作業進入系統後先駐留外存,故需要有作業排程。分時系統 為及時響應,作業由終端直接送入記憶體,故不需作業排程。實時系統中,通常也不需作業排程。3 ...