資源描述:
《進程 進程控制處理機調(diào)度 進程的同步與通信.doc》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在應用文檔-天天文庫。
1、3.2進程、進程控制和處理機調(diào)度3.3進程的同步與通信一、單道程序工作環(huán)境下程序的順序執(zhí)行與特征1.程序的順序執(zhí)行:一個程序通??煞殖扇舾蓚€程序段,它們必須按照某種先后次序執(zhí)行,僅當前一操作執(zhí)行完后,才能執(zhí)行后繼操作。2、特征:(1)順序性(2)封閉性(3)可再現(xiàn)性二、多道程序工作環(huán)境下程序的并發(fā)執(zhí)行與特征1、程序的并發(fā)執(zhí)行:多個程序交替執(zhí)行2、特征:(1)間斷性(2)非封閉性:機內(nèi)狀況有多個程序改變(3)不可再現(xiàn)性:運行結(jié)果與速度有關三、進程概念:可并發(fā)執(zhí)行的有獨立功能的程序在某個數(shù)據(jù)集合上的運行過程1、進程與程序的區(qū)別:程序是靜態(tài)的永久的,進
2、程是動態(tài)的暫時的進程與程序的聯(lián)系:一個進程可執(zhí)行多個程序一個程序可構成多個進程2、進程的特征:①動態(tài)性:進程的實質(zhì)是程序的一次執(zhí)行過程,有生命周期②并發(fā)性:多個進程能在一段時間內(nèi)同時運行,資源共享③獨立性:進程是系統(tǒng)分配資源的獨立單位,各進程獨立運行(它們的地址空間相互獨立)。注意:凡未建立進程的程序,都不能作為一個獨立的單位參加運行。進程是分配資源的單位,線程是分配CPU的單位④異步性:由于進程并發(fā)運行相互制約,所以各自按獨立的、不可預知的速度向前推進。⑤結(jié)構性:PCB(進程控制塊)組成程序段數(shù)據(jù)段PCB3、進程的分類:系統(tǒng)進程、用戶進程4、進
3、程的狀態(tài)與轉(zhuǎn)換進程的3種基本狀態(tài):活動狀態(tài)①就緒(準備)狀態(tài)當進程已分配到除CPU以外的所有必要的資源后,只要能再獲得處理機,便能立即執(zhí)行。在一個系統(tǒng)中,可以有多個進程同時處于就緒狀態(tài),通常把它們排成一個隊列,稱為就緒隊列。②執(zhí)行狀態(tài)指進程已獲得處理機,其程序正在執(zhí)行。在單處理機系統(tǒng)中,最多只能有一個進程處于正在執(zhí)行狀態(tài)。③阻塞(等待、睡眠)狀態(tài)進程因發(fā)生某事件(等待某事件的發(fā)生,如請求I/O、申請緩沖空間等)不具備運行條件,而暫停執(zhí)行時的狀態(tài),亦即進程的執(zhí)行受到阻塞。通常將處于阻塞狀態(tài)的進程排成一個隊列,稱為阻塞隊列。一般還增加兩個基本狀態(tài):④
4、新建狀態(tài):剛剛被創(chuàng)建,但未提交進入就緒隊列尾部時的狀態(tài)11/11①退出狀態(tài):已被系統(tǒng)或進程終止,等待善后處理后退出掛起狀態(tài)(靜止):暫不接受調(diào)度,并釋放部分系統(tǒng)資源,從內(nèi)存轉(zhuǎn)移到外存①就掛②等掛轉(zhuǎn)換類型及原因:就緒執(zhí)行等待退出新建就掛等掛進程的狀態(tài)及其轉(zhuǎn)換注意:活動狀態(tài)有兩個不可轉(zhuǎn)換兩個激活三個掛起兩個(新建后)提交4、進程控制塊PCB(1)作用:創(chuàng)建時設置是進程存在與否的唯一標記OS依據(jù)PCB才能感知、管理、控制進程(2)PCB內(nèi)容:進程標識符、進程調(diào)度信息、處理機狀態(tài)信息、進程控制信息下圖示出了PCB的內(nèi)容。主要有:進程標識符現(xiàn)行狀態(tài)現(xiàn)場保留
5、區(qū)程序與數(shù)據(jù)地址互斥與同步機構進程通信機構進程優(yōu)先數(shù)資源清單鏈接字(隊列指針)家族聯(lián)系11/11①進程標識符用于唯一地標識一個進程②家族關系用于說明本進程與其它家族成員之間的關系③現(xiàn)行狀態(tài):說明進程的當前狀態(tài),以作為調(diào)度程序分配處理機的依據(jù)。當進程處于阻塞狀態(tài)時,要在PCB中說明阻塞的原因;
④現(xiàn)場保留區(qū):用于保存進程由執(zhí)行狀態(tài)變?yōu)樽枞麪顟B(tài)時的CPU現(xiàn)場信息。⑤程序和數(shù)據(jù)地址:該進程的程序和數(shù)據(jù)存放在內(nèi)存或外存中的地址。用以把進程控制塊與其程序和數(shù)據(jù)聯(lián)系起來。⑥進程的優(yōu)先級表示進程使用CPU時優(yōu)先級別的一個整數(shù)。優(yōu)先級高的進程可優(yōu)先獲得處理機;⑦
6、互斥與同步機構實現(xiàn)進程間的互斥與同步時所必須的機構。例如,信號量或鎖等;⑧資源清單它列出了進程所需資源及當前已分配到的資源;⑨鏈接字也稱為進程隊列指針進程的組織方式:通過鏈接(或索引)等方式形成就緒隊列(索引表)、等待隊列(索引表),便于對進程進行有效管理。一、進程控制:定義——建立、撤消、狀態(tài)轉(zhuǎn)化1、幾個概念(1)原語(primitive)定義:完成某一特定功能的程序段,其執(zhí)行是不可分割的。換言之,在一個操作中的所有動作,要么全做,要么全不做。特點:不允許中斷,不允許并發(fā)(2)OS內(nèi)核:OS常駐內(nèi)存的程序和數(shù)據(jù)(3)內(nèi)核基本功能:由原語完成——
7、中斷處理進程控制:建立、撤消、狀態(tài)轉(zhuǎn)化資源管理:時鐘、I/0設備、文件系統(tǒng)2、進程創(chuàng)建和撤消原語(1)創(chuàng)建原語一個進程可借助于創(chuàng)建原語來創(chuàng)建一個新進程(父進程,子進程,進程樹)。子進程繼承父進程的所有資源。創(chuàng)建一個新進程的主要工作是:申請一空閑PCB→無空閑PCB,則創(chuàng)建失??;否則產(chǎn)生PID(進程標識)→申請必要的資源→初始化PCB→插入就緒隊列尾部(2)撤消進程原語找出被撤消進程的PCB→該進程若正在執(zhí)行,則終止該進程的執(zhí)行→該進程若有子進程,則撤消其所有子進程→將該進程所擁有的全部資源,歸還給父進程或系統(tǒng)→11/11將被撤消進程的PCB從所在
8、隊列(或鏈表)中清除,放回到空閑PCB隊列。(1)進程的阻塞原語①進程的阻塞是進程自身的一種主動行為:正在執(zhí)行的進程,當出現(xiàn)請求操作系統(tǒng)