作業系統基礎第二講 程序管理
考點一:程序的基本概念
1. 程序的順序執行
-
概念
-
前驅圖
2. 程式併發執行的特徵
-
間斷性
-
失去封閉性
-
不可再現性
考點二: 程序的特徵與狀態
1. 特徵的定義
2. 程序的三種基本狀態
-
就緒態
已經分配好除CPU以外所有必要資源,可以進入處理機,排隊等待
-
執行態
正在處理機中執行的狀態
-
阻塞態
正在執行的程序由於發生事件(如I/O請求失敗,資源佔用等),無法繼續執行,進入阻塞態等待分配資源
3. 掛起狀態
-
建立狀態
申請空白PCB,填寫人控制管理資訊;分配資源;轉入就緒態
-
終止態
等待系統進行善後處理,將PCB清零,並將PCB空間返還系統
-
終止狀態操作過程
-
引起阻塞事件
4, 程序控制塊
-
程序控制塊PCB作用
-
處理機狀態
考點四:程序同步
1. 基本概念
-
間接相互制約
-
直接相互制約
-
臨界資源
-
臨界區
-
同步機制應遵循的規則
2. 程序同步軟體實現方法
-
單標誌法
-
雙標誌先檢法
同時進入會違背忙則等待
-
雙標誌後檢法
兩程序都想進去會導致飢餓
-
Peterson演算法
解決了飢餓現象,但會處於忙等
3. 程序同步硬體實現方法
-
關中斷
-
利用Test-and-Set指令實現互斥
4. 鎖機制
-
LockOne類
-
LockTwo類
-
Peryerson鎖
-
Barkey鎖
5. 訊號量機制
-
整形訊號量
阻塞:P(S)/wait(S)
釋放:V(S)/signal(S)
-
記錄型訊號量
-
AND型訊號量
6. 訊號量的應用
-
利用訊號量實現程序互斥
考點五:管程機制
1. 管程的定義
2. 管程的組成
3. 管程的特性
4. 管程與程序的對比
5. 條件變數
考點六:程序通訊
1. 為什麼需要程序通訊
程序通訊特點
2. 訊息傳遞系統
3. 管道通訊
4. 訊息傳遞通訊的實現方法
-
直接通訊
-
間接通訊
5. 執行緒
1個程序包含多個執行緒
作為排程和分派的基本單位
程序可以擁有資源,並作為系統中擁有資源的基本單位
執行緒本身並不擁有系統資源,僅有一點必不可少,能保證獨立執行的資源;被允許多個執行緒共享該程序所擁有資源。
-
核心支援執行緒和使用者級執行緒
考點七:經典同步問題
1. 哲學家進餐問題
2. 讀者寫者問題