版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
進(jìn)程和線(xiàn)程基本知識(shí)操作系統(tǒng)課程組內(nèi)容安排進(jìn)程的基本概念進(jìn)程調(diào)度進(jìn)程間的相互作用線(xiàn)程的基本概念2進(jìn)程的基本概念定義進(jìn)程是程序的一次執(zhí)行,該進(jìn)程可與其它進(jìn)程并發(fā)執(zhí)行;它是一個(gè)動(dòng)態(tài)的實(shí)體,在傳統(tǒng)的操作系統(tǒng)設(shè)計(jì)中,進(jìn)程既是資源的基本分配單元,也是基本的執(zhí)行單元。進(jìn)程與程序的區(qū)別和聯(lián)系程序是靜態(tài)的,進(jìn)程是動(dòng)態(tài)的。程序是有序代碼的集合;進(jìn)程是程序的一次執(zhí)行。進(jìn)程是暫時(shí)的,程序的永久的。進(jìn)程是一個(gè)變化的過(guò)程,有生命周期,暫時(shí)存在,程序沒(méi)有生命周期,可長(zhǎng)久保存。進(jìn)程還是操作系統(tǒng)資源分配和保護(hù)的基本單位,程序沒(méi)有此功能。進(jìn)程與程序的對(duì)應(yīng)關(guān)系。通過(guò)多次執(zhí)行,一個(gè)程序可對(duì)應(yīng)多個(gè)進(jìn)程;通過(guò)調(diào)用關(guān)系,一個(gè)進(jìn)程可包括多個(gè)程序。進(jìn)程與程序的結(jié)構(gòu)不同。3進(jìn)程的基本概念進(jìn)程的組成PCB
ProcessControlBlock
靈魂,進(jìn)程存在的唯一標(biāo)志。數(shù)據(jù)程序程序:描述了進(jìn)程要完成的功能,是進(jìn)程執(zhí)行時(shí)不可修改的部分。數(shù)據(jù):進(jìn)程執(zhí)行時(shí)用到的數(shù)據(jù)(用戶(hù)輸入的數(shù)據(jù)、常量、靜態(tài)變量)。工作區(qū)
工作區(qū):參數(shù)傳遞、系統(tǒng)調(diào)用時(shí)使用的動(dòng)態(tài)區(qū)域(堆棧區(qū))。實(shí)體4進(jìn)程的基本概念進(jìn)程/線(xiàn)程的執(zhí)行運(yùn)行Running被調(diào)度時(shí)間片用完,中斷資源釋放或事件完成阻塞Blocked等待資源和事件進(jìn)程占有處理機(jī),處理機(jī)正在執(zhí)行該進(jìn)程的程序。進(jìn)程已獲得除處理機(jī)外的所需資源,等待分配處理機(jī)執(zhí)行。也叫等待、掛起、睡眠態(tài),此時(shí)進(jìn)程因等待某種條件(如I/O操作或進(jìn)程同步)無(wú)法運(yùn)行。引起進(jìn)程阻塞的原因很多,系統(tǒng)將根據(jù)不同的阻塞原因?qū)⑦M(jìn)程插入某個(gè)相應(yīng)的阻塞隊(duì)列中。就緒Ready5進(jìn)程的基本概念運(yùn)行就緒阻塞被調(diào)度時(shí)間片用完,中斷資源釋放或事件完成等待資源和事件新建創(chuàng)建完畢結(jié)束結(jié)束執(zhí)行五種進(jìn)程狀態(tài)轉(zhuǎn)換6進(jìn)程的基本概念進(jìn)程的特征并發(fā)性:執(zhí)行時(shí)間可以重疊;動(dòng)態(tài)性:有生命周期,存在不同的狀態(tài);獨(dú)立性:獨(dú)立執(zhí)行,是資源分配和調(diào)度的獨(dú)立單位;制約性:雖然獨(dú)立執(zhí)行,但可能存在相互制約關(guān)系;異步性:各進(jìn)程執(zhí)行時(shí)間相對(duì)獨(dú)立,不確定;結(jié)構(gòu)性:擁有固定結(jié)構(gòu)。7進(jìn)程調(diào)度定義就是按照一定的算法,從就緒隊(duì)列中選擇某個(gè)進(jìn)程占用CPU的方法——對(duì)CPU資源進(jìn)行合理的分配使用,以提高處理機(jī)利用率,并使各進(jìn)程公平得到處理機(jī)資源。進(jìn)程調(diào)度算法先來(lái)先服務(wù)調(diào)度算法(FCFS,FirstComeFirstServed)PCBPCBPCBPCB就緒隊(duì)列CPU8進(jìn)程調(diào)度基于優(yōu)先數(shù)的調(diào)度算法(PrioritySchedulingAlgorithm)思想:給每一個(gè)進(jìn)程設(shè)置一個(gè)優(yōu)先數(shù)(優(yōu)先級(jí)),系統(tǒng)在調(diào)度時(shí)優(yōu)先選擇具有高優(yōu)先級(jí)的進(jìn)程占用CPU。具有相同優(yōu)先數(shù)的進(jìn)程按照FCFS算法執(zhí)行。優(yōu)先數(shù)的確定:運(yùn)行前:可根據(jù)外設(shè)的使用情況,運(yùn)行時(shí)間的長(zhǎng)短,緊急程度,重要程度等因素確定。運(yùn)行中:靜態(tài)優(yōu)先數(shù)法:進(jìn)程創(chuàng)建時(shí)就規(guī)定好它的優(yōu)先數(shù),這個(gè)數(shù)值在進(jìn)程運(yùn)行時(shí)不變。動(dòng)態(tài)優(yōu)先數(shù)法:進(jìn)程的優(yōu)先數(shù)在執(zhí)行過(guò)程中可以根據(jù)情況變化而改變。9進(jìn)程調(diào)度時(shí)間片輪轉(zhuǎn)法(RR,RoundRobin)特點(diǎn):專(zhuān)門(mén)為分時(shí)系統(tǒng)設(shè)計(jì)。類(lèi)似于FCFS算法但是增加了搶占及進(jìn)程間的切換功能。思想:系統(tǒng)規(guī)定一個(gè)時(shí)間長(zhǎng)度(時(shí)間片/時(shí)間量)作為允許一個(gè)進(jìn)程運(yùn)行的時(shí)間,如果在這段時(shí)間該進(jìn)程沒(méi)有執(zhí)行完,則必須讓出CPU等待下一次分配的時(shí)間片。PCBPCBPCBPCBCPU就緒隊(duì)列時(shí)間片用完執(zhí)行10進(jìn)程調(diào)度多級(jí)反饋隊(duì)列調(diào)度算法(MultilevelFeedbackQueueScheduling)思想:引入多個(gè)就緒隊(duì)列,通過(guò)對(duì)各隊(duì)列的區(qū)別對(duì)待,達(dá)到一個(gè)綜合的調(diào)度目標(biāo)。CPU降低進(jìn)程優(yōu)先級(jí)完成PCBPCBPCBPCB最高優(yōu)先級(jí)隊(duì)列PCBPCBPCBPCB次高優(yōu)先級(jí)隊(duì)列PCBPCBPCBPCB低優(yōu)先級(jí)隊(duì)列執(zhí)行時(shí)間遞增11進(jìn)程間的相互作用同步進(jìn)程之間相互合作、協(xié)同工作的關(guān)系稱(chēng)為進(jìn)程的同步。簡(jiǎn)單說(shuō)來(lái)就是:多個(gè)相關(guān)進(jìn)程在執(zhí)行次序上的協(xié)調(diào)。進(jìn)程間的直接制約。臨界資源也稱(chēng)獨(dú)占資源,是指在一段時(shí)間內(nèi)只允許一個(gè)進(jìn)程訪(fǎng)問(wèn)的資源。例如打印機(jī),磁帶機(jī),也可以是進(jìn)程共享的數(shù)據(jù)、變量等。互斥定義:當(dāng)多個(gè)進(jìn)程因?yàn)闋?zhēng)奪臨界資源而互斥執(zhí)行稱(chēng)為進(jìn)程的互斥。進(jìn)程間的間接制約。12進(jìn)程間的相互作用互斥解決方案關(guān)中斷法(開(kāi)關(guān)中斷指令)也稱(chēng)為“硬件鎖”,是實(shí)現(xiàn)互斥最簡(jiǎn)單的方法。做法:每個(gè)進(jìn)程在進(jìn)入臨界區(qū)后先關(guān)中斷,屏蔽其它請(qǐng)求,在離開(kāi)之前再開(kāi)中斷。鎖變量法(測(cè)試和設(shè)置指令)做法:設(shè)置一個(gè)共享(鎖)變量W,初值為0。當(dāng)一個(gè)進(jìn)程想進(jìn)入其臨界區(qū)時(shí),它首先測(cè)試這把鎖。如果鎖的值為0,則進(jìn)程將其置為1并進(jìn)入臨界區(qū)。若鎖已經(jīng)為1,則進(jìn)程等待直到其變成0。于是,0就表示臨界區(qū)內(nèi)沒(méi)有進(jìn)程,1表示已經(jīng)有某個(gè)進(jìn)程進(jìn)入了臨界區(qū)。其它方法Dekker算法:進(jìn)程被強(qiáng)制輪流進(jìn)入臨界區(qū)(不管是否愿意)。Peterson算法:設(shè)置標(biāo)識(shí)指示是否又要求進(jìn)入臨界區(qū)。 ……13進(jìn)程間的相互作用信號(hào)量(Semaphore)和P、V操作信號(hào)量:1965年由荷蘭學(xué)者Dijkstra提出,它是一種特殊的數(shù)據(jù)結(jié)構(gòu)。功能:表示資源的實(shí)體。特殊之處:每個(gè)信號(hào)量與一個(gè)隊(duì)列關(guān)聯(lián);其值只能通過(guò)初始化和P、V操作來(lái)訪(fǎng)問(wèn)。 信號(hào)量的類(lèi)型:公用信號(hào)量:用于進(jìn)程間的互斥,初值通常為1私有信號(hào)量:用于進(jìn)程間的同步,初值通常為0或n14進(jìn)程間的相互作用P、V操作(均是原語(yǔ))P操作:荷蘭語(yǔ)“proberen”——“檢測(cè)”之意。 意味著請(qǐng)求分配一個(gè)單位資源。P(S)://S為信號(hào)量{S=S-1;if(S<0){調(diào)用進(jìn)程被阻塞,進(jìn)入S的等待隊(duì)列;}}PCBPCBPCBPCB和S相關(guān)的等待隊(duì)列PCB15進(jìn)程間的相互作用V操作:荷蘭語(yǔ)“verhogen”——“增量”之意, 意味著釋放一個(gè)單位資源。V(S)://S為信號(hào)量{S=S+1;if(S<=0){從S的等待隊(duì)列中喚醒一個(gè)進(jìn)程使其進(jìn)入就緒狀態(tài);}}PCBPCBPCBPCB和S相關(guān)的等待隊(duì)列PCB16進(jìn)程間的相互作用信號(hào)量及P、V操作的應(yīng)用進(jìn)程的互斥semaphore
S;//設(shè)置公有信號(hào)量S=1;//初值{…
P(S);
printfile1;V(S);…}{…
P(S);
printfile2;V(S);…}17進(jìn)程間的相互作用進(jìn)程的同步——生產(chǎn)者與消費(fèi)者問(wèn)題
問(wèn)題描述:生產(chǎn)者緩沖區(qū)消費(fèi)者{cooking;
P(S1);putindish;
V(S2);}semaphoreS1,S2
;//設(shè)置私有信號(hào)量S1=1;//表示盤(pán)子是否空S2=0;//表示盤(pán)子里是否有東西{P(S2);takeoutfromdish;
V(S1);eating;}18線(xiàn)程的基本概念定義線(xiàn)程(thread)也叫輕型進(jìn)程,是一個(gè)可執(zhí)行的實(shí)體單元。它代替以往的進(jìn)程,成為現(xiàn)代操作系統(tǒng)中處理機(jī)調(diào)度的基本單位。線(xiàn)程和進(jìn)程的關(guān)系多線(xiàn)程模型1、線(xiàn)程是進(jìn)程的一個(gè)組成部分,線(xiàn)程由進(jìn)程創(chuàng)建,因此一個(gè)進(jìn)程中至少存在一個(gè)線(xiàn)程,線(xiàn)程還可以創(chuàng)建其它線(xiàn)程。2、進(jìn)程是資源分配和保護(hù)的基本單位,線(xiàn)程只能在進(jìn)程的地址空間活動(dòng),線(xiàn)程只能使用其所在進(jìn)程的資源。19線(xiàn)程的基本概念線(xiàn)程的結(jié)構(gòu)PCB程序數(shù)據(jù)進(jìn)程地址空間TCB棧線(xiàn)程1TCB棧線(xiàn)程2TCB棧線(xiàn)程3線(xiàn)程的特點(diǎn):1、線(xiàn)程作為基本的調(diào)度單位,其狀態(tài)有:就緒、運(yùn)行、阻塞等;2、進(jìn)程中都所有線(xiàn)程共享進(jìn)程的存儲(chǔ)空間和分配資源。工作區(qū)20線(xiàn)程的基本概念線(xiàn)程優(yōu)勢(shì)創(chuàng)建和撤消線(xiàn)程的開(kāi)銷(xiāo)非常小。不需要向系統(tǒng)請(qǐng)求獨(dú)立的地址空間及進(jìn)行相關(guān)的地址空間復(fù)制(例如父子進(jìn)程),因此創(chuàng)建和撤銷(xiāo)線(xiàn)程系統(tǒng)的開(kāi)銷(xiāo)要遠(yuǎn)小于進(jìn)程。切換迅速。線(xiàn)程的上下文環(huán)境要比進(jìn)程簡(jiǎn)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年泰山職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試題庫(kù)附答案
- 2026年初級(jí)銀行從業(yè)資格之初級(jí)公司信貸考試題庫(kù)300道附答案(黃金題型)
- 市場(chǎng)營(yíng)銷(xiāo)專(zhuān)員筆試考試題含答案
- 配送蔬菜服務(wù)合同范本
- 2026年設(shè)備監(jiān)理師之質(zhì)量投資進(jìn)度控制考試題庫(kù)200道含完整答案(網(wǎng)校專(zhuān)用)
- 2026年一級(jí)注冊(cè)建筑師之建筑物理與建筑設(shè)備考試題庫(kù)300道帶答案(研優(yōu)卷)
- 2026年一級(jí)造價(jià)師考試題庫(kù)300道及參考答案(能力提升)
- 2026年材料員考試備考題庫(kù)附參考答案(預(yù)熱題)
- 防疫志愿者考試題及答案
- 網(wǎng)絡(luò)游戲公司運(yùn)營(yíng)副總經(jīng)理選拔面試問(wèn)題及答案
- 紀(jì)委談話(huà)筆錄模板經(jīng)典
- 消防安全制度和操作規(guī)程
- 叉車(chē)安全技術(shù)交底
- 單人徒手心肺復(fù)蘇操作評(píng)分表(醫(yī)院考核標(biāo)準(zhǔn)版)
- 國(guó)家預(yù)算實(shí)驗(yàn)報(bào)告
- 工業(yè)園區(qū)綜合能源智能管理平臺(tái)建設(shè)方案合集
- 附件1:中國(guó)聯(lián)通動(dòng)環(huán)監(jiān)控系統(tǒng)B接口技術(shù)規(guī)范(V3.0)
- 正弦函數(shù)、余弦函數(shù)的圖象 說(shuō)課課件
- 閉合性顱腦損傷病人護(hù)理查房
- 《你看起來(lái)好像很好吃》繪本課件
- 囊袋皺縮綜合征課件
評(píng)論
0/150
提交評(píng)論