進(jìn)程定義
進(jìn)程:程序關(guān)于某個數(shù)據(jù)集合的一次執(zhí)行過程。
進(jìn)程的特征
1、結(jié)構(gòu)特征
進(jìn)程控制塊(PCB)+程序+數(shù)據(jù)=進(jìn)程實體
2、動態(tài)性—最基本特征
進(jìn)程:進(jìn)程實體的一次執(zhí)行過程,有生命周期。
程序:程序是一組有序指令的集合,是靜態(tài)的概念。
進(jìn)程的三種基本狀態(tài)
1、就緒狀態(tài)(Ready)
進(jìn)程已獲得除CPU以外的所有必須的資源,一旦得到CPU控制權(quán),立即可以運(yùn)行。
2、運(yùn)行狀態(tài)(Running)
進(jìn)程以獲得運(yùn)行所必須的資源,它正在處理機(jī)上執(zhí)行。
3、阻塞狀態(tài)(Blocked)
正在執(zhí)行的進(jìn)程由于發(fā)生某事件而暫時無法執(zhí)行時,便放棄處理機(jī)而處于暫停狀態(tài),稱該進(jìn)程處于阻塞狀態(tài)或等待狀態(tài)。
進(jìn)程互斥與同步
1、進(jìn)程間的兩種形式的制約關(guān)系
(1)間接相互制約關(guān)系——源于資源共享
(2)直接相互制約關(guān)系——源于資源合作
2、臨界資源
- 臨界資源:把一段時間內(nèi)只允許一個進(jìn)程訪問的資源稱為臨界資源
- 臨界區(qū):每個進(jìn)程中訪問臨界資源的那段代碼稱為臨界區(qū)
信號量機(jī)制
- 信號量是OS提供的管理公有資源的有效手段。
- 信號量是一個整數(shù),當(dāng)信號量大于等于零時,代表可供并發(fā)進(jìn)程使用的資源數(shù)量,當(dāng)信號量小于零時,表示處于阻塞態(tài)進(jìn)程的個數(shù)。
信號量的應(yīng)用
1、利用信號量實現(xiàn)進(jìn)程互斥
2、利用信號量實現(xiàn)前驅(qū)關(guān)系
3、利用記錄型信號實現(xiàn)同步