進程的定義、組成、組織方式、特征


進程的定義、組成、組織方式、特征

知識總覽

進程的定義

程序:就是一個指令序列

早期的計算機(只支持單道程序)

 

 

PCB、程序段、數據段三部分構成了進程實體(進程映像),一般情況下,我們把進程實體簡稱為進程,例如,所謂創建進程,實質上是創建進程實體中的PCB;而撤銷進程,實質上是撤銷進程實體中的PCB

從不同的角度,進程可以有不同的定義,比較傳統典型的定義有:

1.進程是程序的一次執行過程

2.進程是一個程序及其數據在處理機上順序執行時發生的活動

3.進程是具有獨立功能的程序在數據集合上運行的過程,它是系統資源分配和調度的一個獨立單位

強調動態性

引入進程的實體概念后,可以把進程定義為:

進程是進程實體的運行過程,是系統進行資源分配和調度的一個基本單位

注:嚴格來說,進程實體和進程並不一樣,進程實體是靜態的,進程則是動態的。不過,除非題目專門考察二者區別,否則認為進程的實體就是進程。因此我們也可以說“進程是由程序段、數據段、PCB三部分組成”

PCB

操作系統通過PCB來管理進程,因此PCB中應當包含操作系統對其進行管理所需的各種信息

程序段

程序代碼存放在此

數據段

程序運行時使用、產生的運算數據,如全局變量、局部變量。宏觀定義的常量存放在數據段內

進程的組成

進程標識符PID 當進程被創建時,操作系統會為該進程分配一個唯一的,不重復的ID,用於區分不同的進程(類似於身份證號)

各種寄存器值 當進程切換時需要把進程當前的運行情況記錄下來保存在PCB中,如出現計數器的值表示了當前程序執行到哪一句

進程的管理者(操作系統)所需的數據都在PCB中

程序段、數據段程序本身運行所需的數據

進程的組織

在一個系統中,通常有數十、數百乃至數千個PCB。為了能對他們加以有效的管理,應當用適當的方式把這些PCB組織起來

注:進程的組成討論的是一個進程內部由哪些部分構成的問題,而進程的組織討論的是多個進程之間的組織方式問題

進程的組織--鏈接方式

執行指針 指向當前處於運行狀態(執行態)的進程 單CPU計算機中,同一時刻只會有一個進程處於運行態

就緒隊列指針 指向當前處於就緒態的進程 通常會把優先級高的進程放在隊頭

阻塞隊列指針 指向當前處於阻塞態的進程,很多操作系統還會根據阻塞原因不同,再分為多個阻塞隊列

進程的組織--索引方式

進程的特征

進程和程序是兩個截然不同的概念,相比於程序,進程擁有以下特征:

動態性、並發性、獨立性、異步性、結構性

動態性 進程是程序的一次執行過程,是動態地產生、變化和消亡的

並發性 內存中有多個進程實體,各進程可並發執行

獨立性 進程是能獨立運行、獨立獲得資源、獨立接受調度的基本單位

異步性 各進程按各自獨立的、不可預知的速度向前推進,操作系統要提供“進程同步機制”來解決異步問題

結構性 每個進程都會配置一個PCB 結構上看,進程由程序段、數據段、PCB組成

動態性是進程最基本的特征 進程是資源分配、接受調度的基本單位

知識回顧

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM