當前程式狀態字

當前程式狀態字

程式狀態字,是指在計算機中,一段包含被作業系統和潛在硬體使用的程式狀態信息的記憶體或硬體區域,如條件碼、執行方式、中斷禁止標誌等。當前程式狀態字是指當前程式狀態的有關信息。程式狀態字在進程控制塊中,可以在進程控制塊查看當前程式狀態字。

基本介紹

  • 中文名:當前程式狀態字
  • 外文名:Current Program Status Word
  • 學科:計算機
  • 定義:當前程式狀態的有關信息
  • 有關術語:程式狀態字
  • 領域:計算機系統
簡介,進程控制塊,進程標識符,處理機狀態,進程調度信息,進程控制信息,程式狀態字暫存器,

簡介

程式狀態字是用來記錄程式狀態信息的一個或多個字。通常存放在特定的暫存器或存儲單元中。當前程式狀態字指當前程式狀態的有關信息。通過當前程式狀態字可以知道當前程式狀態是執行狀態、阻塞狀態或就緒狀態,這對了解程式的運行狀況是十分重要的。

進程控制塊

為了描述和控制進程的運行,系統為每個進程定義了一個數據結構——進程控制塊PCB(Process Control Block),它是進程實體的一部分,是作業系統中最重要的記錄型數據結構。PCB 中記錄了作業系統所需的、用於描述進程的當前情況以及控制進程運行的全部信息。進程控制塊的作用是使一個在多道程式環境下不能獨立運行的程式(含數據),成為一個能獨立運行的基本單位,一個能與其它進程並發執行的進程。或者說,OS 是根據 PCB 來對並發執行的進程進行控制和管理的。在進程控制塊中,主要包括下述四方面的信息。

進程標識符

進程標識符用於惟一地標識一個進程。一個進程通常有兩種標識符:
(1) 內部標識符。 在所有的作業系統中, 都為每一個進程賦予了一個惟一的數字標識符,它通常是一個進程的序號。設定內部標識符主要是為了方便系統使用。
(2) 外部標識符。它由創建者提供,通常是由字母、數字組成,往往是由用戶(進程)在訪問該進程時使用。為了描述進程的家族關係,還應設定父進程標識及子進程標識。此外,還可設定用戶標識,以指示擁有該進程的用戶。

處理機狀態

處理機狀態信息主要是由處理機的各種暫存器中的內容組成的。處理機在運行時,許多信息都放在暫存器中。當處理機被中斷時,所有這些信息都必須保存在 PCB 中,以便在該進程重新執行時,能從斷點繼續執行。這些暫存器包括:① 通用暫存器,又稱為用戶可視暫存器,它們是用戶程式可以訪問的,用於暫存信息,在大多數處理機中,有 8~32 個通用暫存器,在 RISC 結構的計算機中可超過 100 個;② 指令計數器,其中存放了要訪問的下一條指令的地址;③ 程式狀態字 PSW,其中含有狀態信息,如條件碼、執行方式、中斷禁止標誌等;④ 用戶棧指針,指每個用戶進程都有一個或若干個與之相關的系統棧,用於存放過程和系統調用參數及調用地址,棧指針指向該棧的棧頂。

進程調度信息

在 PCB 中還存放一些與進程調度和進程對換有關的信息,包括:① 進程狀態,指明進程的當前狀態,作為進程調度和對換時的依據;② 進程優先權,用於描述進程使用處理機的優先權別的一個整數, 優先權高的進程應優先獲得處理機; ③ 進程調度所需的其它信息,它們與所採用的進程調度算法有關,比如,進程已等待 CPU 的時間總和、進程已執行的時間總和等;④ 事件,指進程由執行狀態轉變為阻塞狀態所等待發生的事件,即阻塞原因。

進程控制信息

進程控制信息包括:① 程式和數據的地址,指進程的程式和數據所在的記憶體或外存地(首)址,以便再調度到該進程執行時,能從 PCB 中找到其程式和數據;② 進程同步和通信機制,指實現進程同步和進程通信時必需的機制,如訊息佇列指針、信號量等,它們可能全部或部分地放在 PCB 中;③ 資源清單,即一張列出了除 CPU 以外的、進程所需的全部資源及已經分配到該進程的資源的清單;④ 連結指針,它給出了本進程(PCB)所在佇列中的下一個進程的 PCB 的首地址。

程式狀態字暫存器

程式狀態字(Program Status Word,PSW)用來表征當前運算的狀態及程式的工作方式。
程式狀態字暫存器用來保存由算術/邏輯指令運行或測試的結果所建立起來的各種條件碼內容,如運算結果進/借位標誌(C)、運算結果溢出標誌(O)、運算結果為零標誌(Z)、運算結果為負標誌(N)、運算結果符號標誌(S)等,這些標誌位通常用1位觸發器來保存。
除此之外,程式狀態字暫存器還用來保存中斷和系統工作狀態等信息,以便CPU和系統及時了解機器運行狀態和程式運行狀態。
因此,程式狀態字暫存器是一個保存各種狀態條件標誌的暫存器。

相關詞條

熱門詞條

聯絡我們