作業系統總結 - 程序概念、程序處理機排程(二)
阿新 • • 發佈:2018-12-12
作業系統總結 - 程序概念、程序處理機排程(二)
- 程序的定義、組成、組織、特徵
- 程序的狀態與轉換
- 程序控制
- 程序通訊
- 執行緒、多執行緒概念模型
- 處理機排程的概念、層次
- 程序排程的時機、切換與過程、方式
- 排程演算法的評價指標
- 排程演算法:先來先服務、最短作業優先、最高響應比優先
- 排程演算法:時間片輪轉、優先順序、多級反饋佇列
程序的定義、組成、組織、特徵
程序定義
- 程序的定義: 程序是支援程式執行的機制,是程式針對某一資料集合的執行過程。
- 程序可以理解為程式對資料或請求的處理過程。
程序(程序實體)的組成: 程式段、資料段、PCB
PCB
(程序管理塊): 為了描述控制程序的執行,系統中存放程序的管理和控制資訊的資料結構稱為程序控制塊(Process Control Block
)。它是程序實體的一部分,是作業系統中最重要的</font color =red>記錄性資料結構。它是程序管理和控制的最重要的資料結構,每一個程序均有一個PCB,在建立程序時,建立PCB,伴隨程序執行的全過程,直到程序撤消而撤消。- 程式段: 存放執行的程式碼;
- 資料段: 存放程式執行過程中處理的各種資料;
程序的組織方式
程序特徵
本節小結
程序的狀態與轉換
狀態轉換:
注意以下內容:
- 只有就緒態和執行態可以相互轉換,其它的都是單向轉換。就緒狀態的程序通過排程演算法從而獲得 CPU 時間,轉為執行狀態;
- 而執行狀態的程序,在分配給它的 CPU 時間片用完之後就會轉為就緒狀態,等待下一次排程。阻塞狀態是缺少需要的資源從而由執行狀態轉換而來,但是該資源不包括 CPU 時間,缺少 CPU 時間會從執行態轉換為就緒態;
- 程序只能自己阻塞自己,因為只有程序自身才知道何時需要等待某種事件的發生;
本節小結:
程序控制
程序控制的主要功能是:
- 對系統中所有的程序實施有效的管理,它具有建立新程序、撤銷已有程序、實現程序狀態轉換等功能;(簡單理解就是程序狀態轉換)
- 主要通過就緒佇列和阻塞佇列來切換執行緒狀態;
注意阻塞原語和喚醒原語必須成對使用。
本節小結:
程序通訊
知識總覽:
程序通訊引入:
三種通訊方式: 共享儲存、 管道通訊、訊息傳遞
本節小結:
執行緒、多執行緒概念模型
知識總覽:
引入執行緒機制帶來的變化:
- 程序是資源分配的基本單位。
- 執行緒是獨立排程的基本單位。
- 區別: 程序是資源分配的基本單位,但是執行緒不擁有資源,執行緒可以訪問隸屬程序的資源。
執行緒屬性:
執行緒的實現方式: 使用者級執行緒和核心級執行緒
三種多執行緒模型:
本節小結
處理機排程的概念、層次
知識總覽:
三種排程: 高階排程(作業排程)、中級排程(記憶體排程)、低階排程(程序排程)
本節小結
程序排程的時機、切換與過程、方式
知識總覽
由被動放棄處理機排程方式引出程序排程的方式: 非剝奪排程方式和剝奪排程方式
本節小結:
排程演算法的評價指標
知識總覽
CPU
利用率和系統吞吐量
本節小結
排程演算法:先來先服務、最短作業優先、最高響應比優先
知識總覽
第一種: 先來先服務(FCFS
)
第二種: 短作業優先
本節小結:三種演算法對比
排程演算法:時間片輪轉、優先順序、多級反饋佇列
知識總覽:
本節小結