1. 程式人生 > >程序控制塊及其作用、組織方式

程序控制塊及其作用、組織方式

程序控制塊中的資訊

1) 程序識別符號

(1) 內部識別符號
    作業系統為每一個程序賦予的唯一數字識別符號,系統使用
(2) 外部識別符號
    有建立者提供,通常有字母與數字組成,往往是由使用者(程序)在訪問該程序時使用。描述程序的家族關係,設定父程序標識及子程序標識,還可設定使用者標識,以指示擁有該程序的使用者。
  • 1
  • 2
  • 3
  • 4
  • 5

2) 處理機狀態(處理機狀態資訊)

主要是由處理機的各種暫存器中的內容組成的,處理機被中斷時,所有這些資訊都必須儲存在PCB中,以便在該程序重新執行時,能從斷點繼續執行。
通用暫存器、指令計數器、程式狀態字PSW、使用者棧指標
  • 1
  • 2
  • 3

3) 程序排程資訊(與程序排程和程序對換有關的資訊)

程序狀態
程序優先順序
程序排程所需的其它資訊:與程序排程演算法有關
事件,指程序由執行狀態轉變為阻塞狀態所等待發生的事件,即阻塞原因
  • 1

4) 程序控制資訊

程式和資料的地址
程序同步和通訊機制
資源清單:除CPU以外的、程序所需的全部資源及已經分配到該程序的資源
連結指標:了本程序(PCB)所在佇列中 的下一個程序的 PCB的首地址
  • 1
  • 2

作用

    PCB 可以被作業系統中的多個模組讀或修改,如被排程程式、資源分配 程式、中斷處理程式以及監督和分析程式等讀或修改。
    OS是根據 PCB來對 併發執行的程序進行控制和管理
    是作業系統中最重要的記錄型資料結構
    Linux 系統中用 task_struct 資料結構,
    Windows:執行體程序塊(EPROCESS)
    使一個在多道程式環境下不能獨立執行的程式(含資料),成為一個能獨立執行的基本單位,一個能與其它程序併發執行的程序
        (第四版)
        1、作為獨立執行基本單位的標誌
        2、能實現間斷性執行方式
        3、提供程序管理所需要的資訊
        4、提供程序排程所需要的資訊
        5、實現與其他程序的同步與通訊
  • 1

組織方式

(PCB通常是系統記憶體佔用區中的一個連續存區)

1線性方式

把所有PCB組織在一張線性表中,將該表的首地址存放在記憶體的一個專用區域中,每次查詢是需要掃描全表,適用於系統中程序數目不多的情況。
  • 1
  • 2

2連結方式

把具有同一狀態的 PCB,用其中 的連結字連結成一個佇列,PCB儲存在一個連續的存區。
  • 1
  • 2

這裡寫圖片描述

3索引方式

各個索引表在記憶體單元中的首地址也記錄在記憶體中的專用單元中,用新增索引表的方式記錄具有相應狀態下的某個PCB在PCB表中的地址。
  • 1
  • 2

這裡寫圖片描述