




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 2.1 程序、進(jìn)程與并發(fā)2.1.1 并發(fā)概述 并發(fā)和并行是不同的概念。并行是指在微觀上看都可以看作是同時(shí)發(fā)生的兩件或多件事。而并發(fā)是指在宏觀上可近似看作同時(shí)發(fā)生的兩件或多件事。 并行可看作是一種特殊的并發(fā)。嚴(yán)格意義上的并行處理只有在多處理器的情況下才有可能發(fā)生。而并發(fā)是現(xiàn)代處理系統(tǒng)中常有的事。 2.1.2程序的順序執(zhí)行和并發(fā)執(zhí)行(介紹程序執(zhí)行的過(guò)程)順序執(zhí)行:一個(gè)程序執(zhí)行完以后才去執(zhí)行下一個(gè)。優(yōu)點(diǎn):便于控制。缺點(diǎn):浪費(fèi)資源,不分輕重緩急。并發(fā)執(zhí)行:兩個(gè)或多個(gè)程序交替執(zhí)行。優(yōu)點(diǎn):資源利用率高,更合理。缺點(diǎn):控制復(fù)雜,可能產(chǎn)生死鎖。進(jìn)程及其運(yùn)行環(huán)境進(jìn)程的定義:可并發(fā)執(zhí)行的程序,在一個(gè)數(shù)據(jù)集合上運(yùn)
2、行的過(guò)程。進(jìn)程與程序的關(guān)系:一個(gè)程序可以對(duì)應(yīng)一個(gè)或多個(gè)進(jìn)程;一個(gè)進(jìn)程可以對(duì)應(yīng)一個(gè)程序,或者對(duì)應(yīng)程序的某一部分。(正解?)認(rèn)為:進(jìn)程首先是可執(zhí)行的程序;進(jìn)程是針對(duì)操作系統(tǒng)而言的;在編制進(jìn)程程序時(shí)應(yīng)合乎進(jìn)程運(yùn)行的規(guī)則。 進(jìn)程運(yùn)行的幾個(gè)基本特征:動(dòng)態(tài)性;并發(fā)性;獨(dú)立性;異步性;進(jìn)程的運(yùn)行是并發(fā)的,也會(huì)帶來(lái)一些問(wèn)題:()增加了空間開銷()額外的時(shí)間開銷()難于控制()處理器競(jìng)爭(zhēng)尤為突出進(jìn)程的狀態(tài)轉(zhuǎn)換進(jìn)程是一個(gè)過(guò)程,從產(chǎn)生到滅亡,有若干個(gè)狀態(tài)。五狀態(tài)進(jìn)程模型執(zhí)行狀態(tài)阻塞狀態(tài)就緒狀態(tài)新建狀態(tài)終止?fàn)顟B(tài)五狀態(tài)間的相互轉(zhuǎn)換:圖五狀態(tài)進(jìn)程模型新建終止就緒阻塞執(zhí)行接納事件發(fā)生事件等待完成時(shí)間片完分派調(diào)度進(jìn)程的掛起狀
3、態(tài)對(duì)換技術(shù)的引入:進(jìn)程較多,但都在等待同一操作,將一些進(jìn)程調(diào)到外存,而調(diào)入新進(jìn)程。被調(diào)出的進(jìn)程稱為掛起進(jìn)程。可能出現(xiàn)掛起的情形:進(jìn)程全部阻塞;系統(tǒng)負(fù)荷過(guò)重;操作系統(tǒng)的需要;終端用戶的請(qǐng)求;父進(jìn)程的需求;掛起進(jìn)程的特征:不能立即執(zhí)行;不同于阻塞進(jìn)程;能實(shí)施掛起的進(jìn)程包括自身、父進(jìn)程或操作系統(tǒng);只有實(shí)施掛起操作的進(jìn)程才能激活被掛起進(jìn)程。Linux 的進(jìn)程及其狀態(tài)轉(zhuǎn)換Linux 進(jìn)程分為三類:交互進(jìn)程;批處理進(jìn)程;守護(hù)進(jìn)程。PCB:即數(shù)據(jù)結(jié)構(gòu)task_struct, 包含以下信息:進(jìn)程狀態(tài);調(diào)度信息;標(biāo)識(shí)符;進(jìn)程通信相關(guān)信息;鏈接信息;時(shí)間信息;文件系統(tǒng)信息;虛擬內(nèi)存信息;處理器信息。2.3 操作系
4、統(tǒng)對(duì)進(jìn)程的控制2.3.1操作系統(tǒng)內(nèi)核核心操作。包括資源管理和支撐功能。資源管理:進(jìn)程管理;存儲(chǔ)管理;設(shè)備管理;支撐功能:中斷處理;原語(yǔ)操作(由若干機(jī)器指令構(gòu)成,能完成一定的較復(fù)雜的功能);時(shí)鐘管理; 進(jìn)程的構(gòu)成及組織進(jìn)程由三部分構(gòu)成:程序;數(shù)據(jù)集合;進(jìn)程控制塊;2.3.3 進(jìn)程控制塊PCB進(jìn)程標(biāo)識(shí)符信息外部標(biāo)識(shí)符;內(nèi)部標(biāo)識(shí)符。2. 處理器狀態(tài)信息:這些信息放在各個(gè)寄存器中,包括:通用寄存器;指令寄存器;程序狀態(tài)字PSW;用戶堆棧指針;3. 進(jìn)程調(diào)度信息進(jìn)程狀態(tài);進(jìn)程優(yōu)先級(jí);進(jìn)程調(diào)度有關(guān)的其它信息(與算法有關(guān));事件。4. 其它信息程序和數(shù)據(jù)的地址;進(jìn)程同步和通信機(jī)制;資源清單;鏈接指針。2.3
5、.4 操作系統(tǒng)對(duì)進(jìn)程的控制包括:進(jìn)程的創(chuàng)建與撤銷創(chuàng)建的過(guò)程:分配標(biāo)識(shí)符;分配空間;初始化PCB;建立鏈接;建立或擴(kuò)展其它數(shù)據(jù)結(jié)構(gòu)。終止進(jìn)程的步驟有:找到PCB,讀狀態(tài);若為執(zhí)行態(tài),終止之,調(diào)度下一就緒進(jìn)程執(zhí)行;若有子孫進(jìn)程,終止他們;歸還該進(jìn)程的全部資源到系統(tǒng)或父進(jìn)程;將其PCB從所在隊(duì)列移出。2. 進(jìn)程的阻塞與喚醒阻塞的原因:請(qǐng)求系統(tǒng)服務(wù);啟動(dòng)某種操作;新數(shù)據(jù)尚未到達(dá);無(wú)事可做,需等待。可自己阻塞自己,需要由操作系統(tǒng)或阻塞它的進(jìn)程喚醒。3. 進(jìn)程的掛起與激活調(diào)用原語(yǔ)執(zhí)行。4. 進(jìn)程切換分時(shí)系統(tǒng)中,分配時(shí)間片用完,轉(zhuǎn)而執(zhí)行另外的進(jìn)程。2.3.5對(duì)進(jìn)程的控制創(chuàng)建;撤銷。Linux 的內(nèi)核機(jī)制機(jī)制
6、的引入;機(jī)制的數(shù)據(jù)結(jié)構(gòu);任務(wù)隊(duì)列:定時(shí)器隊(duì)列;即時(shí)隊(duì)列;進(jìn)程調(diào)度隊(duì)列。2.4 線程另一種并發(fā)實(shí)體進(jìn)程與線程進(jìn)程包括申請(qǐng)資源,具體執(zhí)行程序等(即調(diào)度)。將傳統(tǒng)意義的進(jìn)程分為兩部分,新的進(jìn)程作為資源申請(qǐng)與擁有的基本單位,線程作為調(diào)度的基本單位。要有專門的語(yǔ)言支持多進(jìn)程、多線程。線程與進(jìn)程的異同:調(diào)度;并發(fā)性;擁有資源;系統(tǒng)開銷。多線程并發(fā)線程從屬于進(jìn)程,一般擁有進(jìn)程的狀態(tài),但一般不具有掛起狀態(tài)。對(duì)線程的操作:派生;阻塞;解除阻塞;結(jié)束。2.4.3 線程的類型用戶級(jí)線程即由用戶依據(jù)一定的平臺(tái)而編制的線程。2. 內(nèi)核級(jí)線程用戶無(wú)法直接對(duì)線程進(jìn)行操作。2.4.4 Linux 的進(jìn)程與線程管理該系統(tǒng)支持許
7、多標(biāo)準(zhǔn)的內(nèi)核級(jí)線程。2.5進(jìn)程調(diào)度即采取什么原則讓某一進(jìn)程執(zhí)行,即算法。調(diào)度的目標(biāo)、原則和方式目標(biāo):要公平合理;處理器利用率要高;系統(tǒng)吞吐量要大;盡量減少進(jìn)程的響應(yīng)時(shí)間。原則:(1)面向用戶的原則響應(yīng)時(shí)間;周轉(zhuǎn)時(shí)間;截至?xí)r間。(2)面向系統(tǒng)的原則系統(tǒng)吞吐量;處理器利用率;各類資源的平衡使用;公平性;優(yōu)先權(quán)。方式:非剝奪方式;剝奪方式。2.5.2調(diào)度的類型長(zhǎng)程調(diào)度考慮的問(wèn)題:選擇多少作業(yè)進(jìn)入內(nèi)存;選擇哪些進(jìn)程。短程調(diào)度決定就緒隊(duì)列里哪個(gè)進(jìn)程獲得處理器的使用權(quán)。中程調(diào)度它是對(duì)換功能的一部分。進(jìn)程調(diào)度算法先來(lái)先服務(wù)(FCFS)短進(jìn)程優(yōu)先(SPN)時(shí)間片輪轉(zhuǎn)調(diào)度法(RR)基于優(yōu)先級(jí)的調(diào)度算法剩余時(shí)間最
8、短者優(yōu)先(SRT)響應(yīng)比高者優(yōu)先(HRRN)(w/s+1)(w等待,s預(yù)期執(zhí)行)1.反饋調(diào)度法(FB)(根據(jù)調(diào)度的情況動(dòng)態(tài)改變進(jìn)程的優(yōu)先級(jí)別)2.5.4 實(shí)時(shí)系統(tǒng)與實(shí)時(shí)任務(wù)調(diào)度實(shí)時(shí)系統(tǒng)與實(shí)時(shí)任務(wù)實(shí)時(shí)系統(tǒng):能及時(shí)響應(yīng)外部請(qǐng)求,并作出反應(yīng)的系統(tǒng)。是一個(gè)相對(duì)的概念。是否周期執(zhí)行來(lái)劃分:周期任務(wù);非周期任務(wù)。據(jù)截至?xí)r間來(lái)劃分:硬實(shí)時(shí)任務(wù);軟實(shí)時(shí)任務(wù)。 實(shí)時(shí)調(diào)度的目標(biāo)及必要信息就緒時(shí)間;開始截至?xí)r間和完成截至?xí)r間;處理時(shí)間;資源需求;優(yōu)先級(jí);子任務(wù)結(jié)構(gòu)。 實(shí)時(shí)調(diào)度算法最早截止時(shí)間優(yōu)先調(diào)度算法;最低松弛度優(yōu)先算法;速度單調(diào)調(diào)度算法。進(jìn)程并發(fā)控制互斥與同步并發(fā)控制包含的內(nèi)容:競(jìng)爭(zhēng)資源必須“互斥”,即不能同時(shí)
9、使用,如打印機(jī)。這類資源又稱為臨界資源,訪問(wèn)臨界資源的程序段稱為臨界區(qū)。臨界區(qū)的使用原則:每次一個(gè);短時(shí)停留;快速響應(yīng);不能限制進(jìn)程的執(zhí)行速度及處理器的數(shù)量;不能在臨界區(qū)阻塞等待。共享協(xié)作多個(gè)進(jìn)程共享某一些資源,包括修改,要使數(shù)據(jù)保持一致。通信協(xié)作多個(gè)進(jìn)程之間應(yīng)互通信息。互斥與同步的解決策略軟件方法互斥算法;互斥算法。硬件算法屏蔽中斷;專用機(jī)器指令信號(hào)量方法預(yù)設(shè)一個(gè)或多個(gè)中間變量,通過(guò)改變這些變量通知其它的進(jìn)程。管程一段程序,多個(gè)進(jìn)程都須使用。包括三個(gè)方面:對(duì)局部于管程的共享數(shù)據(jù)結(jié)構(gòu)的說(shuō)明;對(duì)該數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作的一組過(guò)程;對(duì)該數(shù)據(jù)結(jié)構(gòu)初始化的語(yǔ)句。消息傳遞與信號(hào)量的區(qū)別:有先后順序之分,及發(fā)送消息的進(jìn)程和接收消息的進(jìn)程。互斥同步問(wèn)題:生產(chǎn)者消費(fèi)者問(wèn)題用信號(hào)量方法解決該問(wèn)題用消息傳遞解決該問(wèn)題互斥同步問(wèn)題:讀者寫者問(wèn)題多個(gè)讀者、寫者進(jìn)程應(yīng)滿足以下條件:允許同時(shí)讀;不能同時(shí)寫,只能互斥寫;若正在寫,則不允許讀。Linux 通信實(shí)例Linux 信號(hào)量分析2.7進(jìn)程死鎖死鎖:多個(gè)進(jìn)程因?yàn)楦?jìng)爭(zhēng)資源,或執(zhí)行順序不當(dāng),或相互通信而永久阻塞,如果沒(méi)有外力將永遠(yuǎn)保持這種現(xiàn)象。進(jìn)程死鎖的原因必要條件:互斥;占有且等待;非剝奪;循環(huán)等待。解決死鎖的方法預(yù)防死鎖;避免死鎖;檢測(cè)并解除死鎖。預(yù)防死鎖禁止產(chǎn)生死鎖的必要條
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 行政效能評(píng)估指標(biāo)構(gòu)建試題及答案
- 2025年貨物購(gòu)銷合同范本
- 行政管理服務(wù)優(yōu)化途徑與實(shí)踐試題及答案
- 老年義診政策解讀
- 2025停車場(chǎng)租賃合同范本
- 行政管理視角下的試題及答案總結(jié)
- 2025建筑工程混凝土采購(gòu)合同
- 行政管理實(shí)務(wù)中的法律意識(shí)試題及答案
- 2025年梅閣村蓮花山地塊及地上相關(guān)資產(chǎn)租賃合同
- 2025企業(yè)單位員工勞動(dòng)合同模板「版」
- 《融資融券對(duì)企業(yè)創(chuàng)新的影響實(shí)證研究》11000字【論文】
- 預(yù)防肺癌健康教育
- 2025中衛(wèi)輔警考試題庫(kù)
- 湖北省武漢市2025屆高三下學(xué)期二月調(diào)研考試數(shù)學(xué)試卷
- 漢語(yǔ)語(yǔ)氣詞的語(yǔ)用功能分析論文
- 光伏材料與器件-深度研究
- 高考英語(yǔ)閱讀理解題干、選項(xiàng)及近五年高頻詞匯
- 廣東省華附、省實(shí)、廣雅、深中2025屆高三四校聯(lián)考語(yǔ)文試題與答案
- 骨科專業(yè)培訓(xùn)計(jì)劃及總結(jié)
- 2025年河北省職業(yè)院校技能大賽工業(yè)互聯(lián)網(wǎng)集成應(yīng)用參考試題庫(kù)(含答案)
- 鋼結(jié)構(gòu)鋼筋大棚施工方案
評(píng)論
0/150
提交評(píng)論