第三章本章從多道程式設計出發,引入了程序的概念,程序的基本狀態和程序佇列等基本內容,同時對中斷系統進行了詳細介紹;在此基礎上,對程序排程策略進行了詳盡的敘述.本章是本節中比較重要的章節,由於程序的概念十分重要又相當抽象,讀者可以結合下面的講解深入理解本章的內容
第1節多道程式設計
一,重要知識點 (要求到達」領會」層次 )
(1) 什麼是多道程式設計
(2)多道程式設計利用了系統與外圍裝置的進行工作能力,從而提高系統的工作效率
(3)多到程式設計對算題量和算題時間的影響
二,知識點剖析(學習重點)
(1)什麼是多到程式設計
讓多個計算問題同時裝入乙個計算機系統的主儲存器並行執行,這種程式設計技術成為「多道程式設計」,這種計算機系統稱為「多道程式設計系統」或簡稱「多道系統」
(2)多道程式設計利用了系統與外圍裝置的並行工作能力,從而提高了系統的工作效率
「單道」系統一次只允許乙個作業裝入計算機的主儲存器執行,在執行時不能使輸入/輸出裝置和處理器管理同時工作,也無法充分利用cpu
現代計算機的處理器同外圍裝置之間,以及外圍裝置之間都具有並行工作的能力,採用多道程式設計技術後,能提高整個系統的效率.這表現在以下的3個方面:
*提高了處理器的利用率
*充分利用了外圍裝置資源
*發揮了處理器同外圍裝置之間,以及外圍裝置相互間的並行工作
多道程式設計的實質就是充分利用硬體的並行工作能力.所以,從總體上說,採用多道程式設計技術可有效地提高系統中的資源的利用率,增加單位時間內的算題量,從而提高系統的吞吐率
(3) 多道程式設計對算題量和算題時間的影響
*可能延長某些程式的執行時間.多道程式設計能提高系統的吞吐量,但可能會延長某些程式的執行時間.
*並行工作道數跟系統效率不成正比.從表面上看,只要增加並行工作道術就可以提高效率,但實際上並行工作的道數跟系統的效率不成正比的,一是因為主存空間的大小限制了可同時裝入的程式數量;二是因為外圍裝置的數量是乙個制約因素;三是因為多個程式同時要求使用同一資源的情況會經常發生.因此,並行工作道數的確定要根據系統配置的資源和使用者對資源的要求進行綜合考慮
第2節程序概念
一,重要知識點
1,程序(要求達到」領會」層次)
(1) 程序的定義
(2) 程序是由程式,資料集和程序控制塊三部分組成
(3)程序與程式的區別及關係
2程序狀態(要求達到」領會」層次)
(1)程序的三種基本狀態.
(2) 程序的狀態變化.
3程序控制塊(要求達到」領會」層次)
(1) 程序控制塊的基本內容。
(2)程序控制塊的作用
4 程序佇列
(1)程序佇列的鏈結
(2)程序基本佇列-就緒佇列,等待佇列
(3)程序的入隊和出隊
5可再入程式
(1)什麼是可再入程式
(2)可引導程式的性質
二,知識點剖析(學習重點)
(1)程序(領會)
乙個程式在乙個資料集上的一次執行都成為乙個「程序」
(2)程序是由程式,資料集和程序控制塊三部分組成
(3)程序和程式的區別及關係。
程式是具有特定特定功能的一組指令(或一組語句)的集合,它指出了處理器執行的操作步驟。
程式是靜止的,程序是動態的。程序包括程式和程式處理的物件(資料集)程序能得程式處理的結果。程序和程式並非一一對應,乙個程式執行在不同的資料集上就構成了不同的程序。
乙個程序可以執行乙個或幾個程式;同乙個程式可能由幾個程序同時執行。程式可以作為軟體資源長期儲存。而程序是程式的一次執行過程。
是暫時的,只存在於生命週期中。
通常把「程序」分成「系統程序」和「使用者程序」兩大類,把完成作業系統功能的程序成為系統程序,而完成使用者功能的程序則稱為使用者程序。
2程序狀態(要求達到「領會」層次)
(1)程序的三種基本狀態
通常,根據程序在執行過程中的不同時刻的狀態,可歸納為三種基本狀態
*等狀態:等待某個事件的完成.
*就緒態:等待系統分配處理器以便執行
*執行態:占有處理器正在執行
(2)程序的狀態變化。
程序在執行中狀態會不斷地改變,每個程序在任何時刻總是出於上述3種基本狀態中的某一種狀態
*執行態變成等待態,由於等待外設傳輸資訊,等待主存等資源分配或等待人工干預而引起的
*等待態變成就緒態:等待的條件已滿足,只需分配到處理器後就能執行。
*執行態變成就緒態:時間片用完,或有更高的優先順序的程序來搶占處理器等,由於中斷而退出處理器的程序可能變成就緒態(有時會變成等待態)。
*就緒態變成執行態:系統按某種策略選中就緒佇列的乙個程序占用處理器,此時,被選中的程序就變成了執行器
3.程序控制塊(要求達到「領會」層次)
(1)程序控制塊的基本內容。
通常,進城控制塊包含4類資訊
*標誌資訊,含惟一的程序名
*說明資訊,包括程序狀態,等待原因,進城程式的存放位置和程序資料的存放位置
*現場資訊,包括通用,控制和程式狀態字暫存器的內容
*管理資訊,存放程式優先數和佇列指標
(2)程序控制塊的作用
程序控制塊是程序存在的標誌,它記錄了程序從建立到消亡的動態變化情況,進城佇列實際上是程序控制塊的鏈結。作業系統利用程序控制塊對程序進行控制和管理。
4進城控制(要求達到「領會」層次)
(1)進城佇列的鏈結
程序佇列的鏈結方式有兩種:單向鏈結和雙向鏈結。注意程序入隊和出隊鏈結的變化
(2)程序基本佇列――就緒佇列,等待佇列。
*就緒佇列:由若干就緒程序按一定次序連線起來的佇列
*等待佇列:等待資源或等待某些事件的程序排成的佇列
(3)程序的入隊和和出隊
乙個程序的進入指定的佇列稱為入隊。
乙個程序從所在的佇列退出稱為出隊
系統中負責程序入隊和出隊的工作稱為佇列管理
第3節中斷系統
(1)中斷的定義
當乙個程序占用處理器執行時,由於自身或外界的原因(因出現了某種事件)使執行被打斷,此時,作業系統會處理出現的時間,然後在適當的時候繼續處理被打斷的程序,這個過程稱為「中斷」
(2)中斷的種類
從中斷事件的性質出發,中斷事件分為兩類:
1強迫性中斷事件。它包括硬體故障中斷,程式性中斷,外部中斷和輸入輸出中斷
2自願性中斷時間。它是由正在執行的程序執行一條訪管指令用於請求系統呼叫而引起的中斷,這種中斷也稱「訪管中斷」
自願性中斷的斷點是確定的,而強迫性中斷的斷電會出現在任何位置
(3)中斷的響應和處理
處理器每執行一條指令後,硬體的中斷裝置將立即檢查有無中斷事件發生。若有中斷事件發生,則暫停現行程序的執行,而讓作業系統的中斷處理程式占用處理器,這一過程稱為」中斷響應」
在中斷響應過程中,中斷裝置要做以下3項工作:
*檢查是否有中斷事件發生
*若有中斷發生,保護斷電資訊
*啟動作業系統的中斷處理程式
作業系統的中斷處理程式對中斷事件進行處理時,大致要做3方面的工作:
*保護被中斷程序的現場資訊,把中斷時的通用,控制暫存器內容及舊psw儲存到被中斷程序的程序控制塊中
*分析中斷原因。根據舊psw的中斷碼可知發生中斷的具體原因
*處理發生的中斷時間。一般製作一些簡單處理,多數情況下把具體的處理交給適當的例行程式模組去做
2 中斷優先集合中斷遮蔽(要求達到「識記」層次)
(1)中斷優先集時硬體設計時確定的。
中斷裝置按預定的順序來響應同時出現的中斷事件,這個預定的的順序稱為「中斷優先順序」。
中斷優先順序是按中斷事件的重要性和緊迫程式來確定的,是在硬體設計時固定的。
一般情況下,優先順序的高低順序依次為:硬體故障中斷,自願性中斷,程式性中斷,外部中斷和輸入輸出中斷
(2)中段的巢狀處理。
當處理器正在處理乙個中斷時,又發生了另乙個中斷,此時處理器對這一新的中斷的處理就稱為巢狀處理
(3)中段遮蔽的作用
為了防止優先順序低的中斷事件處理打斷優先順序高的中斷事件的處理,以及避免複雜的中斷引起多重巢狀處理,計算機系統採用了中斷遮蔽技術,以程式狀態字中的中斷螢幕標誌位的設定封鎖和響應時間的響應
通常:中斷處理程式只遮蔽比自己級別低的事件,並且不能遮蔽自願性中斷
第4節程序排程
一,重要知識點(要求達到「識記」層次)
(1)程序排程的職責
(2)程序排程演算法的選擇
(3)進城排程的常用演算法:先來先服務,優先數法,輪轉法,分級排程
(4)程序的切換
二,知識點剖析(學習重點)
(1)程序排程的職責
程序排程的職責就是按選定的程序排程演算法從就緒佇列中選擇乙個程序,讓它占用處理器。
(2)程序排程演算法的選擇
選擇程序排程演算法的幾個準則如下:
*提高處理器利用率
*增大吞吐量
*減少等待時間
*縮短響應時間
(3)程序排程的常用演算法:上面提及的4種
*先來先服務:該演算法按程序進入就緒佇列的先後次序選擇可以占用處理器的程序
*優先數排程演算法。對每個程序都確定乙個優先數,該演算法總是讓優先數最高的程序縣使用處理器,然後再對具有相同優先數的程序按先來先服務的次序分配處理器。系統常以任務的緊迫性和系統效率等因素確定程序的優先數。
程序的優先數是固定的,也可以隨程序的執行過程動態變化。乙個高優先數的程序占用處理器後,系統處理該程序的方法有兩種方法,一種是「非搶占式」,另一種是「可搶占式」。前者使程序占用處理器後一直執行到程序結束,除非本身主動讓出處理器。
後者則是任何時刻總是嚴格執行讓優先數高的程序在處理器上執行。
時間片輪轉排程法。 把那規定程序一次使用處理器的最長時間稱為時間片。時間片輪轉排程演算法讓就緒程序按就緒的先後次序排成佇列,每次總選擇該佇列的第乙個程序占用處理器,但規定只能使用乙個時間片,如該程序尚未完成,則排入隊尾,等待下乙個供它使用的時間片。
各個程序就這樣輪轉執行。時間片輪轉演算法經常用於分時作業系統
分級排程演算法。由系統設定多個就緒佇列,每個就緒佇列中的程序按時間片輪轉法占用處理器,這就是分級排程演算法
(4)程序的切換
程序排程將從就緒佇列中另選乙個程序占用處理器。使乙個程序讓出處理器,有另乙個程序占用處理器的過程稱為「程序切換」
若乙個程序從執行狀態變成等待狀態,或完成工作後被撤銷,則必定會發生程序切換,若乙個程序從執行狀態或等待狀態變成就緒狀態,則不一定發生程序切換。
各知識點間的相互聯絡
為了發揮計算機處理器與外圍裝置的並行工作能力,可採用多道程式設計技術.為此,需引入程序的概念,以實現併發.每個程序由其程序控制塊pcb作為唯一標示,每個程序在消亡之前有3種狀態.
等待cpu或其他事件的程序可分別放於相應的程序佇列中,程序狀態的切換由作業系統的中斷負責處理,中斷時作業系統賴以活動的基礎,是作業系統核心的作基本功能.在多道程式設計的系統中,決定將就緒隊伍中的哪個程序投入執行,由程序排程程式負責.
作業系統之處理器管理筆記
第三章處理器管理 本章考核知識點 1.多道程式設計 2.程序 3.程序狀態 4.程序控制塊 5.程序佇列 6.可再入程式 7.中斷及中斷響應 8.中斷優先順序 9.程序排程 自學要求 通過本章學習應該掌握多道程式設計是如何提高計算機系統效率的 程序與程式有什麼區別 程序的基本狀態以及狀態變化 程序佇...
作業系統考研複習第三章記憶體管理
第三章儲存器管理 1 源程式變為記憶體中可執行的程式需要經過哪些步驟?這些步驟分別有哪幾種方式?a編譯 源 編譯成目標模組.obj b鏈結 與庫函式鏈結在一起,形成裝入模組 靜態鏈結 裝入記憶體時動態鏈結 執行時動態鏈結 c裝入 裝入記憶體執行。有絕對裝入 絕對位址 可重定位裝入 靜態重定位 裝入時...
第三章系統與設計
蘇教版 檢測練習 1 一片森林是乙個系統,它屬於 a 抽象系統 b 開放系統 c 靜態系統 d 人造系統 2 系統的基本特性包括 a 整體性 先進性 相關性 目的性 動態性 b 整體性 可靠性 目的性 動態性 環境適應性 c 整體性 相關性 目的性 動態性 環境適應性 d 整體性 開放性 實用性 可...