版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
進(jìn)程和線程基本知識操作系統(tǒng)課程組內(nèi)容安排進(jìn)程的基本概念進(jìn)程調(diào)度進(jìn)程間的相互作用線程的基本概念2進(jìn)程的基本概念定義進(jìn)程是程序的一次執(zhí)行,該進(jìn)程可與其它進(jìn)程并發(fā)執(zhí)行;它是一個動態(tài)的實(shí)體,在傳統(tǒng)的操作系統(tǒng)設(shè)計中,進(jìn)程既是資源的基本分配單元,也是基本的執(zhí)行單元。進(jìn)程與程序的區(qū)別和聯(lián)系程序是靜態(tài)的,進(jìn)程是動態(tài)的。程序是有序代碼的集合;進(jìn)程是程序的一次執(zhí)行。進(jìn)程是暫時的,程序的永久的。進(jìn)程是一個變化的過程,有生命周期,暫時存在,程序沒有生命周期,可長久保存。進(jìn)程還是操作系統(tǒng)資源分配和保護(hù)的基本單位,程序沒有此功能。進(jìn)程與程序的對應(yīng)關(guān)系。通過多次執(zhí)行,一個程序可對應(yīng)多個進(jìn)程;通過調(diào)用關(guān)系,一個進(jìn)程可包括多個程序。進(jìn)程與程序的結(jié)構(gòu)不同。3進(jìn)程的基本概念進(jìn)程的組成PCB
ProcessControlBlock
靈魂,進(jìn)程存在的唯一標(biāo)志。數(shù)據(jù)程序程序:描述了進(jìn)程要完成的功能,是進(jìn)程執(zhí)行時不可修改的部分。數(shù)據(jù):進(jìn)程執(zhí)行時用到的數(shù)據(jù)(用戶輸入的數(shù)據(jù)、常量、靜態(tài)變量)。工作區(qū)
工作區(qū):參數(shù)傳遞、系統(tǒng)調(diào)用時使用的動態(tài)區(qū)域(堆棧區(qū))。實(shí)體4進(jìn)程的基本概念進(jìn)程/線程的執(zhí)行運(yùn)行Running被調(diào)度時間片用完,中斷資源釋放或事件完成阻塞Blocked等待資源和事件進(jìn)程占有處理機(jī),處理機(jī)正在執(zhí)行該進(jìn)程的程序。進(jìn)程已獲得除處理機(jī)外的所需資源,等待分配處理機(jī)執(zhí)行。也叫等待、掛起、睡眠態(tài),此時進(jìn)程因等待某種條件(如I/O操作或進(jìn)程同步)無法運(yùn)行。引起進(jìn)程阻塞的原因很多,系統(tǒng)將根據(jù)不同的阻塞原因?qū)⑦M(jìn)程插入某個相應(yīng)的阻塞隊(duì)列中。就緒Ready5進(jìn)程的基本概念運(yùn)行就緒阻塞被調(diào)度時間片用完,中斷資源釋放或事件完成等待資源和事件新建創(chuàng)建完畢結(jié)束結(jié)束執(zhí)行五種進(jìn)程狀態(tài)轉(zhuǎn)換6進(jìn)程的基本概念進(jìn)程的特征并發(fā)性:執(zhí)行時間可以重疊;動態(tài)性:有生命周期,存在不同的狀態(tài);獨(dú)立性:獨(dú)立執(zhí)行,是資源分配和調(diào)度的獨(dú)立單位;制約性:雖然獨(dú)立執(zhí)行,但可能存在相互制約關(guān)系;異步性:各進(jìn)程執(zhí)行時間相對獨(dú)立,不確定;結(jié)構(gòu)性:擁有固定結(jié)構(gòu)。7進(jìn)程調(diào)度定義就是按照一定的算法,從就緒隊(duì)列中選擇某個進(jìn)程占用CPU的方法——對CPU資源進(jìn)行合理的分配使用,以提高處理機(jī)利用率,并使各進(jìn)程公平得到處理機(jī)資源。進(jìn)程調(diào)度算法先來先服務(wù)調(diào)度算法(FCFS,FirstComeFirstServed)PCBPCBPCBPCB就緒隊(duì)列CPU8進(jìn)程調(diào)度基于優(yōu)先數(shù)的調(diào)度算法(PrioritySchedulingAlgorithm)思想:給每一個進(jìn)程設(shè)置一個優(yōu)先數(shù)(優(yōu)先級),系統(tǒng)在調(diào)度時優(yōu)先選擇具有高優(yōu)先級的進(jìn)程占用CPU。具有相同優(yōu)先數(shù)的進(jìn)程按照FCFS算法執(zhí)行。優(yōu)先數(shù)的確定:運(yùn)行前:可根據(jù)外設(shè)的使用情況,運(yùn)行時間的長短,緊急程度,重要程度等因素確定。運(yùn)行中:靜態(tài)優(yōu)先數(shù)法:進(jìn)程創(chuàng)建時就規(guī)定好它的優(yōu)先數(shù),這個數(shù)值在進(jìn)程運(yùn)行時不變。動態(tài)優(yōu)先數(shù)法:進(jìn)程的優(yōu)先數(shù)在執(zhí)行過程中可以根據(jù)情況變化而改變。9進(jìn)程調(diào)度時間片輪轉(zhuǎn)法(RR,RoundRobin)特點(diǎn):專門為分時系統(tǒng)設(shè)計。類似于FCFS算法但是增加了搶占及進(jìn)程間的切換功能。思想:系統(tǒng)規(guī)定一個時間長度(時間片/時間量)作為允許一個進(jìn)程運(yùn)行的時間,如果在這段時間該進(jìn)程沒有執(zhí)行完,則必須讓出CPU等待下一次分配的時間片。PCBPCBPCBPCBCPU就緒隊(duì)列時間片用完執(zhí)行10進(jìn)程調(diào)度多級反饋隊(duì)列調(diào)度算法(MultilevelFeedbackQueueScheduling)思想:引入多個就緒隊(duì)列,通過對各隊(duì)列的區(qū)別對待,達(dá)到一個綜合的調(diào)度目標(biāo)。CPU降低進(jìn)程優(yōu)先級完成PCBPCBPCBPCB最高優(yōu)先級隊(duì)列PCBPCBPCBPCB次高優(yōu)先級隊(duì)列PCBPCBPCBPCB低優(yōu)先級隊(duì)列執(zhí)行時間遞增11進(jìn)程間的相互作用同步進(jìn)程之間相互合作、協(xié)同工作的關(guān)系稱為進(jìn)程的同步。簡單說來就是:多個相關(guān)進(jìn)程在執(zhí)行次序上的協(xié)調(diào)。進(jìn)程間的直接制約。臨界資源也稱獨(dú)占資源,是指在一段時間內(nèi)只允許一個進(jìn)程訪問的資源。例如打印機(jī),磁帶機(jī),也可以是進(jìn)程共享的數(shù)據(jù)、變量等?;コ舛x:當(dāng)多個進(jìn)程因?yàn)闋帄Z臨界資源而互斥執(zhí)行稱為進(jìn)程的互斥。進(jìn)程間的間接制約。12進(jìn)程間的相互作用互斥解決方案關(guān)中斷法(開關(guān)中斷指令)也稱為“硬件鎖”,是實(shí)現(xiàn)互斥最簡單的方法。做法:每個進(jìn)程在進(jìn)入臨界區(qū)后先關(guān)中斷,屏蔽其它請求,在離開之前再開中斷。鎖變量法(測試和設(shè)置指令)做法:設(shè)置一個共享(鎖)變量W,初值為0。當(dāng)一個進(jìn)程想進(jìn)入其臨界區(qū)時,它首先測試這把鎖。如果鎖的值為0,則進(jìn)程將其置為1并進(jìn)入臨界區(qū)。若鎖已經(jīng)為1,則進(jìn)程等待直到其變成0。于是,0就表示臨界區(qū)內(nèi)沒有進(jìn)程,1表示已經(jīng)有某個進(jìn)程進(jìn)入了臨界區(qū)。其它方法Dekker算法:進(jìn)程被強(qiáng)制輪流進(jìn)入臨界區(qū)(不管是否愿意)。Peterson算法:設(shè)置標(biāo)識指示是否又要求進(jìn)入臨界區(qū)。 ……13進(jìn)程間的相互作用信號量(Semaphore)和P、V操作信號量:1965年由荷蘭學(xué)者Dijkstra提出,它是一種特殊的數(shù)據(jù)結(jié)構(gòu)。功能:表示資源的實(shí)體。特殊之處:每個信號量與一個隊(duì)列關(guān)聯(lián);其值只能通過初始化和P、V操作來訪問。 信號量的類型:公用信號量:用于進(jìn)程間的互斥,初值通常為1私有信號量:用于進(jìn)程間的同步,初值通常為0或n14進(jìn)程間的相互作用P、V操作(均是原語)P操作:荷蘭語“proberen”——“檢測”之意。 意味著請求分配一個單位資源。P(S)://S為信號量{S=S-1;if(S<0){調(diào)用進(jìn)程被阻塞,進(jìn)入S的等待隊(duì)列;}}PCBPCBPCBPCB和S相關(guān)的等待隊(duì)列PCB15進(jìn)程間的相互作用V操作:荷蘭語“verhogen”——“增量”之意, 意味著釋放一個單位資源。V(S)://S為信號量{S=S+1;if(S<=0){從S的等待隊(duì)列中喚醒一個進(jìn)程使其進(jìn)入就緒狀態(tài);}}PCBPCBPCBPCB和S相關(guān)的等待隊(duì)列PCB16進(jìn)程間的相互作用信號量及P、V操作的應(yīng)用進(jìn)程的互斥semaphore
S;//設(shè)置公有信號量S=1;//初值{…
P(S);
printfile1;V(S);…}{…
P(S);
printfile2;V(S);…}17進(jìn)程間的相互作用進(jìn)程的同步——生產(chǎn)者與消費(fèi)者問題
問題描述:生產(chǎn)者緩沖區(qū)消費(fèi)者{cooking;
P(S1);putindish;
V(S2);}semaphoreS1,S2
;//設(shè)置私有信號量S1=1;//表示盤子是否空S2=0;//表示盤子里是否有東西{P(S2);takeoutfromdish;
V(S1);eating;}18線程的基本概念定義線程(thread)也叫輕型進(jìn)程,是一個可執(zhí)行的實(shí)體單元。它代替以往的進(jìn)程,成為現(xiàn)代操作系統(tǒng)中處理機(jī)調(diào)度的基本單位。線程和進(jìn)程的關(guān)系多線程模型1、線程是進(jìn)程的一個組成部分,線程由進(jìn)程創(chuàng)建,因此一個進(jìn)程中至少存在一個線程,線程還可以創(chuàng)建其它線程。2、進(jìn)程是資源分配和保護(hù)的基本單位,線程只能在進(jìn)程的地址空間活動,線程只能使用其所在進(jìn)程的資源。19線程的基本概念線程的結(jié)構(gòu)PCB程序數(shù)據(jù)進(jìn)程地址空間TCB棧線程1TCB棧線程2TCB棧線程3線程的特點(diǎn):1、線程作為基本的調(diào)度單位,其狀態(tài)有:就緒、運(yùn)行、阻塞等;2、進(jìn)程中都所有線程共享進(jìn)程的存儲空間和分配資源。工作區(qū)20線程的基本概念線程優(yōu)勢創(chuàng)建和撤消線程的開銷非常小。不需要向系統(tǒng)請求獨(dú)立的地址空間及進(jìn)行相關(guān)的地址空間復(fù)制(例如父子進(jìn)程),因此創(chuàng)建和撤銷線程系統(tǒng)的開銷要遠(yuǎn)小于進(jìn)程。切換迅速。線程的上下文環(huán)境要比進(jìn)程簡
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位管理制度呈現(xiàn)大全人事管理篇十篇
- 《行政職業(yè)能力測驗(yàn)》2024年公務(wù)員考試尤溪縣臨考沖刺試卷含解析
- 八下期末考拔高測試卷(5)(解析版)
- 寒假自習(xí)課 25春初中道德與法治八年級下冊教學(xué)課件 第三單元 第五課 第2課時 基本政治制度
- 《皮外骨傷科病證》課件
- 鐵路線路設(shè)計合同三篇
- 服裝店衛(wèi)生消毒指南
- 幼兒園工作總結(jié)攜手陪伴成長無憂
- 餐飲行業(yè)助理工作總結(jié)
- 感恩父母演講稿錦集八篇
- 空調(diào)系統(tǒng)維保記錄表格模板
- QC小組活動管理制度
- 市區(qū)自備井排查整治工作實(shí)施方案
- 8位半萬用表大比拼
- 品牌管理部績效考核指標(biāo)
- 瀝青路面施工監(jiān)理工作細(xì)則
- 物業(yè)設(shè)備設(shè)施系統(tǒng)介紹(詳細(xì)).ppt
- 公司走賬合同范本
- 獲獎一等獎QC課題PPT課件
- 人教版小學(xué)三年級數(shù)學(xué)上冊判斷題(共3頁)
- 國際項(xiàng)目管理手冊The Project Manager’s Manual
評論
0/150
提交評論