1. 程式人生 > >第二章.程序管理

第二章.程序管理

程序前趨圖是有向無迴圈圖
程式順序執行的特徵:順序性、封閉性、可再現性
程式併發執行要符合前趨關係,併發不是隨意的
併發程式執行時的特徵:間斷性、失去封閉性、結果不可再現性
多道併發應是“有控制的併發” 1.要“能控制”,2. 要“合理控制”
程序是程序實體的執行過程,是系統進行資源分配和排程的一個獨立單位

程序的特徵:

  • 結構性特徵,程序的根本–PCB
  • 動態性( 程序實質上是程序實體的一次有生命期的執行過程。程式只是靜態的一組有序指令。程序最基本特徵 )
  • 併發性( 多個程序實體同存於記憶體中,在一段時間內同時執行。有PCB的程式才能併發 )
  • 獨立性
  • 非同步性

程序的三種狀態:就緒、執行、阻塞

在這裡插入圖片描述

  • 單處理機系統,執行態的程序只有一個;
  • 就緒態、阻塞態的程序可有多個。一般講它們分別排稱一個佇列,稱就緒佇列、阻塞佇列。
  • 阻塞佇列有的會根據不同原因再排成多個佇列。
程序實體:程式碼段+資料段+PCB
存放程序的管理和控制資訊的資料結構稱為程序控制塊
OS對程序進行控制和管理圍繞PCB進行(分析OS排程某程序的過程)
  • 查該程序的PCB,獲取其狀態、優先順序
  • 根據PCB儲存的處理機狀態資訊,恢復現場
  • 根據PCB中程式和資料的記憶體始址,找到其程式和資料
  • 執行中的同步訊號等也要查閱PCB,暫停時程序執行的處理機環境儲存回PCB

程序控制塊是程序存在的唯一標誌:程序建立時,PCB建立並伴隨程序執行的全過程,直到程序撤消而撤消

程序控制快中的資訊:

  • 程序識別符號資訊
    • 每一個程序都必須有一個唯一的識別符號
      - 內部標示符:唯一的數字序號,方便系統使用
      - 外部標示符:方便使用者使用,使用者程序訪問某程序時使用
  • 處理機狀態資訊
  • 程序排程資訊
    - 程序狀態
    - 程序優先順序
    - 程序排程所需的其他資訊:排程演算法相關資訊
    - 事件:狀態轉換有關的事件
  • 程序控制資訊
    • 程式和資料的地址(單個程序)
      - 資料所在的內外存地址
    • 程序同步和通訊機制(多程序間)
      - 同步和通訊機制的訊號量、訊息佇列指標等
    • 資源清單
    • 連結指標(PCB的組織)
      - 本PCB所在佇列的下一個程序PCB首地址
      在這裡插入圖片描述

PCB的組織方式:連線方式、索引方式

管理系統所有PCB時,系統的幾個關鍵指標有:執行指標、就緒指標、阻塞指標、空閒指標