為實現進程模型,操作系統維護一張進程表,每個進程占用一個進程表項,即進程控制塊。
PCB包含了進程狀態的重要信息。包括狀態(運行、就緒、阻塞)、進程優先級、進程ID、父進程、進程組、文件描述符等。
?
在不同的 操作系統 中對進程的控制和管理機制不同,PCB中的信息多少也
不一樣,通常PCB應包含如下一些信息。
1、進程 標識符 name:
每個進程都必須有一個唯一的 標識符 ,可以是字符串,也可以是一個數
字。
2、進程當前狀態 status:
說明進程當前所處的狀態。為了管理的方便,系統設計時會將相
同的狀態的進程組成一個 隊列 ,如就緒進程隊列,等待進程則要根據等
待的事件組成多個 等待隊列 ,如等待打印機隊列、等待磁盤I/O完成隊列
等等。
3、 進程相應的程序和數據地址 ,以便把PCB與其程序和數據聯系起來。
4、進程 資源 清單。列出所擁有的除CPU外的 資源記錄 ,如擁有的I/O設備
,打開的 文件列表 等。
5、 進程優先級 priority:
進程的優先級反映進程的緊迫程度,通常由用戶指定和系統設置。
6、CPU現場 保護區 cpustatus:
當進程因某種原因不能繼續占用CPU時(如等待打印機),釋放CPU
,這時就要將CPU的各種狀態信息保護起來,為將來再次得到 處理機 恢復
CPU的各種狀態,繼續運行。
7、 進程同步 與通信機制 用于實現進程間互斥、同步和通信所需的信號
量等。
8、進程所在隊列PCB的鏈接字 根據進程所處的現行狀態,進程相應
的PCB參加到不同隊列中。PCB鏈接字指出該進程所在隊列中下一個進程
PCB的首地址。
9、與進程有關的其他信息。 如進程記賬信息,進程占用CPU的時間等
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
