作業系統基礎第二講

蠲忿恚葉言發表於2024-10-08

作業系統基礎第二講 程序管理

img

考點一:程序的基本概念

1. 程序的順序執行

  1. 概念

    img

    img

  2. 前驅圖

    img

    img

2. 程式併發執行的特徵

img

  1. 間斷性

    img

  2. 失去封閉性

    img

  3. 不可再現性

    img

考點二: 程序的特徵與狀態

1. 特徵的定義

img

img

img

2. 程序的三種基本狀態

  1. 就緒態

    已經分配好除CPU以外所有必要資源,可以進入處理機,排隊等待

  2. 執行態

    正在處理機中執行的狀態

  3. 阻塞態

    正在執行的程序由於發生事件(如I/O請求失敗,資源佔用等),無法繼續執行,進入阻塞態等待分配資源

img

3. 掛起狀態

  1. 建立狀態

    申請空白PCB,填寫人控制管理資訊;分配資源;轉入就緒態

    img

    img

  2. 終止態

    等待系統進行善後處理,將PCB清零,並將PCB空間返還系統

    img

    img

img

img

img

img

  1. 終止狀態操作過程

    img

  2. 引起阻塞事件

    img

4, 程序控制塊

  1. 程序控制塊PCB作用

    img

  2. 處理機狀態

    img

考點四:程序同步

1. 基本概念

img

  1. 間接相互制約

    img

  2. 直接相互制約

    img

  3. 臨界資源

    img

  4. 臨界區

    img

  5. 同步機制應遵循的規則

    img

    img

2. 程序同步軟體實現方法

  1. 單標誌法

    img

    img

  2. 雙標誌先檢法

    img

    img

    同時進入會違背忙則等待

  3. 雙標誌後檢法

    img

    img

    兩程序都想進去會導致飢餓

  4. Peterson演算法

    img

    img

    解決了飢餓現象,但會處於忙等

3. 程序同步硬體實現方法

  1. 關中斷

    img

  2. 利用Test-and-Set指令實現互斥

    img

    img

4. 鎖機制

  1. LockOne類

    img

  2. LockTwo類

    img

  3. Peryerson鎖

    img

  4. Barkey鎖

    img

5. 訊號量機制

  1. 整形訊號量

    img

    阻塞:P(S)/wait(S)

    釋放:V(S)/signal(S)

  2. 記錄型訊號量

    img

  3. AND型訊號量

    img

6. 訊號量的應用

  1. 利用訊號量實現程序互斥

    img

    img

    img

    img

考點五:管程機制

1. 管程的定義

img

2. 管程的組成

img

3. 管程的特性

img

4. 管程與程序的對比

img

5. 條件變數

img

img

考點六:程序通訊

1. 為什麼需要程序通訊

img

程序通訊特點

img

2. 訊息傳遞系統

img

3. 管道通訊

img

4. 訊息傳遞通訊的實現方法

  1. 直接通訊

    img

  2. 間接通訊

    img

5. 執行緒

1個程序包含多個執行緒

作為排程和分派的基本單位

img

程序可以擁有資源,並作為系統中擁有資源的基本單位

執行緒本身並不擁有系統資源,僅有一點必不可少,能保證獨立執行的資源;被允許多個執行緒共享該程序所擁有資源。

img

  • 核心支援執行緒和使用者級執行緒

    img

    img

考點七:經典同步問題

1. 哲學家進餐問題

img

img

2. 讀者寫者問題

img
img

3. 理髮師問題

img

img

img

img

4. 抽菸者問題

img

img

img

相關文章