進程的概念和特征
- 進程的概念
- 進程的特征
進程的概念
在多道程序環境下,允許多個程序并發執行,此時他們將失去封閉性,并具有間斷性及不可再現性的特征。為此引入了進程(process)的概念,以便更好的描述和控制程序的并發執行,實現操作系統的并發性和共享性(最基本的兩個特征)
為了使參與并發執行的每個程序(含數據)都能獨立的運行,必須為之配置一個專門的數據結構,稱為進程控制塊(PCB)。系統利用PCB來描述進程的基本情況和運行狀態,進而控制和管理進程。相應地,由程序段、相關數據段和PCB三部分構成了進程實體(又稱進程映像)。所謂創建進程,實質上是創建進程實體的PCB;而撤銷進程,實質上是撤銷進程的PCB。值得注意的是,進程映像是靜態的,進程是動態的。
注意:PCB是進程存在的唯一標志!
從不同角度,進程可以有不同的定義,比較典型的定義有:
1)進程是程序的一次執行過程
2)進程是一個程序及其數據在處理機上順序執行時所發生的的活動
3)進程是具有獨立功能的程序在一個數據集合上運行的過程,它是系統進行資源分配和調用的一個獨立單位
引入進程的概念后,我們可以把傳統操作系統中的進程定義為:“進程是進程實體的運行過程,是系統進行資源分配和調度的一個獨立單位”
要準確的理解這里所說的系統資源,它指處理機、存儲器和其他設備服務于進程的“時間”,例如把處理機資源理解為處理機的時間片才是準確的。因為進程是這些資源分配和調度的獨立單位,即“時間片”分配的獨立單位,這就決定了進程一定是一個動態的,過程性的概念
進程的特征
進程是由多道程序的并發執行所引出的,它和程序時兩個截然不同的概念。進程的基本特征是對比單個進程的順序執行提出的,也是對進程管理提出的基本要求
1)動態性:進程是程序的一次執行,它有著創建、活動、暫停、終止等過程,具有一定的生命周期,是動態地產生、變化和消亡的。動態性是進程最基本的特征
2:)并發性。指多個進程實體同存于內存中,能在一段時間內同時運行。引入進程的目的就是使進程能和其他進程并發執行。并發性是進程的重要特征,也是操作系統的重要特征
3)獨立性。指進程實體是一個能獨立運行、獨立獲得資源的和獨立接受調度的基本單位。凡未創建PCB的程序,都不能作為一個獨立的單位參與運行
4)異步性。由于進程的相互制約,使得進程按各自獨立的、不可預知的速度向前推進。異步性會導致執行結果的不可再現性,為此在操作系統中必須配置相應的進程同步機制。