附近網(wǎng)站建設(shè)公司哪家好注冊網(wǎng)站免費注冊
一、進程的定義、組成、組織、特征
一、進程的定義
從不同的角度,進程有不同的定義
1、進程是程序的一次執(zhí)行過程;
2、進程是一個程序及其數(shù)據(jù)在處理機上順序執(zhí)行時所發(fā)生的活動;
3、進程是具有獨立功能的程序在數(shù)據(jù)集合上運行的過程,
它是系統(tǒng)進行資源分配和調(diào)度的一個獨立單位
4、引入進程實體的概念后,可把進程定義為:
進程是進程實體的運行過程,是系統(tǒng)進行資源分配和調(diào)度的一個獨立單位
二、進程的組成
進程的組成
一般情況下,進程實體簡稱為進程
程序段、數(shù)據(jù)段、PCB(程序控制塊)三部分組成了進程實體(進程映像)
注意!PCB是進程存在的唯一標志!
創(chuàng)建進程實質(zhì)上是創(chuàng)建進程實體中的PCB;
撤銷進程實質(zhì)上是撤銷進程實體中的PCB
進程實體和進程
嚴格來說,進程實體和進程并不一樣,進程實體是靜態(tài)的,進程是動態(tài)的
不過,除非題目專門考察二者區(qū)別,否則可以認為進程實體就是進程
PCB
一、進程描述信息
1、進程標識符PID
2、用戶標識符UID
二、進程控制和管理信息
1、進程當前狀態(tài)
2、進程優(yōu)先級
三、資源分配清單
四、處理機相關(guān)信息
例如,各種寄存器值
程序段
存放需要執(zhí)行的代碼
數(shù)據(jù)段
存放程序運行過程中處理的各種數(shù)據(jù)?
三、進程的組織
兩種進程的組織方式 ,鏈接方式和索引方式
鏈接方式
按照進程狀態(tài)將PCB分為多個隊列,操作系統(tǒng)持有指向各個隊列的指針
如執(zhí)行指針、就緒隊列指針、阻塞隊列指針
索引方式
根據(jù)進程狀態(tài)的不同,建立幾張索引表,操作系統(tǒng)持有指向各個索引表的指針
四、進程的特征?
一、動態(tài)性
動態(tài)性是進程最基本的特征
進程是程序的一次執(zhí)行過程,是動態(tài)地產(chǎn)生、變化和消亡的
二、并發(fā)性
內(nèi)存中有多個進程實體,各進程可并發(fā)執(zhí)行
三、獨立性
進程是能獨立運行、獨立獲得資源、獨立接受調(diào)度的基本單位
四、異步性
各進程按各自獨立的、不可預知的速度向前推進
操作系統(tǒng)要提供“進程同步機制”來解決異步問題
異步性會導致并發(fā)程序執(zhí)行結(jié)果的不確定性
五、結(jié)構(gòu)性
每個進程都會配置一個PCB
從結(jié)構(gòu)上看,進程由程序段、數(shù)據(jù)段、PCB組成
二、進程的狀態(tài)與轉(zhuǎn)換?
一、進程的三種基本狀態(tài)?
一、就緒態(tài)
已經(jīng)具備運行條件,但由于沒有空閑CPU而暫時不能運行
進程已經(jīng)擁有了除處理機之外所有需要的資源,一旦獲得處理機即可立即進入運行態(tài)
二、運行態(tài)
占有CPU并在CPU上運行
注意!單核處理機環(huán)境下,每一時刻最多只能有一個進程處于運行態(tài)
雙核環(huán)境下,可以同時有兩個進程處于運行態(tài)
三、阻塞態(tài)
因等待某一事件發(fā)生而暫時不能運行
如等待操作系統(tǒng)分配打印機、等待讀磁盤操作的結(jié)果
二、進程的創(chuàng)建態(tài)和終止態(tài)?
創(chuàng)建態(tài)
創(chuàng)建態(tài)又稱新建態(tài)
進程正在被創(chuàng)建,操作系統(tǒng)為進程分配資源、初始化PCB
終止態(tài)
終止態(tài)又稱結(jié)束態(tài)
進程正在從系統(tǒng)中撤銷,操作系統(tǒng)會回收進程擁有的資源、撤銷PCB