作業系統知識整理 程序控制塊

2021-09-05 13:05:56 字數 1641 閱讀 8019

系統中需要有描述程序存在和能夠反映其變化的物理實體,即程序的靜態描述

程序的靜態描述由3部分組成:程序控制塊(process control block,pcb),有關程式段和該程式段操作的資料結構集

pcb是系統感知程序的唯一實體用於描述程序的當前情況以及管理程序執行的全部資訊,是作業系統中最重要的記錄型資料結構

程式段以及資料結構集是程序完成所需功能的物質基礎

乙個程序的pcb全部或部分常駐記憶體,而程式段和資料結構集存放在外存

pcb集中反映乙個程序的動態特徵,建立乙個程序時,應首先建立其pcb,然後根據pcb中的資訊對程序實施有效的管理和控制。當乙個程序完成其功能時,系統會通過釋放pcb來釋放程序所占有的各種資源,程序也隨之消亡。

1)程序識別符號

內部識別符號:對於系統而言,每個程序都有唯一的程序名或程序標識號,用於識別每個程序;

外部識別符號:由使用者提供的識別符號,有利於資源共享和保護;為了描述家族關係的識別符號,表示程序之間的關係。

2)處理機狀態

通用暫存器:用於暫存資訊;

程式狀態字psw:包含狀態資訊;

3)程序排程資訊

程序狀態;

程序優先順序;

事件:程序由執行狀態轉變為阻塞狀態後等待的事件,即阻塞原因。(可回顧程序狀態轉換)

4)程序控制資訊

程序的程式段和資料結構集的位址;

程序同步和通訊機制;

程序執行所需要的資源清單:包括有關儲存器的資訊、使用輸入輸出裝置的資訊和有關檔案系統的資訊等。

5)cpu現場保護區

若程序因等待某個事件而進入阻塞狀態或因某個事件發生而被中止在處理機上的執行,為了以後該程序能在被打斷出恢復執行,需要設定專門的cpu現場保護區,以儲存退出執行時的程序現場資料

由於pcb中包含較多資訊,往往要佔據較大的儲存空間(一般佔幾百到幾千個位元組),所以在某些系統中為了減少pcb對記憶體的佔用量,只允許 pcb中最常用的部分儲存在記憶體中,其他部分則存放於外存,待該程序將要執行時,與其他資料一起裝入記憶體。

作業系統知識整理 程序控制

所謂程序控制,就是系統使用一些具有特定功能的程式段來建立 撤銷程序以及完成程序各狀態間的轉換,從而達到多程序高效率併發執行和協調 實現資源共享的目的。在作業系統中,這些用於程序控制的程式段被做成原語。原語又分為建立原語 撤銷原語 阻塞原語 喚醒原語 掛起原語和啟用原語等。建立程序有兩種方式 由系統程...

作業系統之程序控制塊PCB

程序識別符號 程序識別符號用於唯一地標識乙個程序。乙個程序通常有兩種識別符號 處理機狀態處理機狀態資訊也稱為處理機的上下文,主要是由處理機的各種暫存器中的內容組成的。這些暫存器包括 通用暫存器,又稱為使用者可視暫存器,它們是使用者程式可以訪問的,用於暫存資訊,在大多數處理機中,有8 32個通用暫存器...

作業系統 9 程序控制知識點整理

fork 通過複製呼叫程序建立乙個新的子程序 複製pcb 共享資料獨有 程式計數器 執行的位置都一樣 父程序返回子程序的pid,子程序返回0 寫時複製技術 vfork 建立子程序,共用同乙個虛擬位址空間 共用乙個呼叫棧,會發生呼叫棧混亂 為了防止呼叫棧混亂,因此父程序呼叫vfork會阻塞,阻塞到子程...