PCB部件作用
1進程控制塊:進程控制塊的作用是使一個在多道程序環境下不能獨立運行的程序(包含數據),成為一個能獨立運行的基本單位,一個能與其它進程并發執行的進程。
2程序段:是進程中能被進程調度程序在CPU上執行的程序代碼段。
3數據段:一個進程的數據段,可以是進程對應的程序加工處理的原始數據,也可以是程序執行后產生的中間或最終數據。
PCB中用于描述和控制進程運行的信息
1、進程標識符信息
進程標識符用于唯一的標識一個進程。一個進程通常有以下兩種標識符。
外部標識符。由創建者提供,通常是由字母、數字組成,往往是用戶(進程)訪問該進程使用。外部標識符便于記憶,如:計算進程、打印進程、發送進程、接收進程等。
內部標識符:為了方便系統使用而設置的。在所有的OS中,都為每一個進程賦予一個唯一的整數,作為內部標識符。它通常就是一個進程的符號,為了描述進程的家族關系,還應該設置父進程標識符以及子進程標識符。還可以設置用戶標識符,來指示該進程由哪個用戶擁有。
2、處理機狀態信息
處理機狀態信息主要是由處理機各種寄存器中的內容所組成。
通用寄存器。又稱為用戶可視寄存器,可被用戶程序訪問,用于暫存信息。
指令寄存器。存放要訪問的下一條指令的地址。
程序狀態字PSW。其中含有狀態信息。(條件碼、執行方式、中斷屏蔽標志等)
用戶棧指針。每個用戶進程有一個或若干個與之相關的系統棧,用于存放過程和系統調用參數及調用地址。棧指針指向該棧的棧頂。
3.進程調度信息
在PCB中還存放了一些與進程調度和進程對換有關的信息。
?。?)進程狀態。指明進程當前的狀態,作為進程調度和對換時的依據。
?。?)進程優先級。用于描述進程使用處理機的優先級別的一個整數,優先級高的進程優先獲得處理機。
?。?)進程調度所需要的其他信息。(進程已等待CPU的時間總和、進程已執行的時間總和)
?。?)事件。這是進程由執行狀態轉變為阻塞狀態所等待發生的事件。(阻塞原因)
進程上下文:
是進程執行活動全過程的靜態描述。包括計算機系統中與執行該進程有關的各種寄存器的值、程序段在經過編譯之后形成的機器指令代碼集、數據集及各種堆棧值和PCB結構??砂匆欢ǖ膱绦袑哟谓M合,如用戶級上下文、系統級上下文等。
進程存在的唯一標志
在進程的整個生命周期中,系統總是通過PCB對進程進行控制的,亦即,系統是根據進程的PCB而不是任何別的什么而感知到該進程的存在的,所以說,PCB是進程存在的唯一標志。