首頁 > 常見問題 > 作業系統透過什麼對進程進行管理

作業系統透過什麼對進程進行管理

發布: 2019-12-19 14:38:45
原創
25033 人瀏覽過

作業系統透過什麼對進程進行管理

作業系統透過進程控制塊(PCB)對進程進行管理。

進程控制塊(PCB)(系統為了管理進程設定的一個專門的資料結構,用它來記錄進程的外部特徵,描述進程的運動變化過程。系統利用PCB來控制和管理進程,所以PCB是系統感知進程存在的唯一標誌。進程與PCB是一一對應的)

在不同的作業系統中對進程的控制和管理機制不同,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的時間等。

以上是作業系統透過什麼對進程進行管理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板