版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
進(jìn)程的描述與控制2023-2026ONEKEEPVIEWREPORTINGWENKUDESIGNWENKUDESIGNWENKUDESIGNWENKUDESIGNWENKU目錄CATALOGUE進(jìn)程基本概念進(jìn)程描述方法進(jìn)程控制原語及操作線程概念及多線程模型進(jìn)程同步與互斥問題死鎖問題及處理方法進(jìn)程基本概念PART01動態(tài)性進(jìn)程是程序的執(zhí)行過程,具有生命周期,包括創(chuàng)建、就緒、運行、阻塞和終止等狀態(tài)。進(jìn)程定義進(jìn)程是操作系統(tǒng)中進(jìn)行資源分配和調(diào)度的基本單位,它是程序的執(zhí)行過程,具有動態(tài)性、并發(fā)性、獨立性和異步性等特征。并發(fā)性多個進(jìn)程可以在同一時間段內(nèi)并發(fā)執(zhí)行,提高系統(tǒng)資源利用率。異步性進(jìn)程的執(zhí)行順序和執(zhí)行時間是不確定的,由操作系統(tǒng)根據(jù)調(diào)度算法和資源情況來決定。獨立性進(jìn)程是操作系統(tǒng)中獨立存在的實體,擁有獨立的內(nèi)存空間和系統(tǒng)資源。進(jìn)程定義及特征程序是靜態(tài)的指令集合,而進(jìn)程是程序的執(zhí)行過程,具有動態(tài)性。程序可以脫離機器長期保存,而進(jìn)程是暫時的,隨著程序的執(zhí)行而創(chuàng)建和消亡。進(jìn)程是程序的執(zhí)行過程,程序是進(jìn)程的代碼部分。一個程序可以對應(yīng)多個進(jìn)程,而一個進(jìn)程只能對應(yīng)一個程序。進(jìn)程與程序關(guān)系程序與進(jìn)程的聯(lián)系程序與進(jìn)程的區(qū)別進(jìn)程的狀態(tài)包括創(chuàng)建態(tài)、就緒態(tài)、運行態(tài)、阻塞態(tài)和終止態(tài)。進(jìn)程狀態(tài)進(jìn)程正在被創(chuàng)建時的狀態(tài)。創(chuàng)建態(tài)進(jìn)程已分配到除CPU以外的所有必要資源,等待獲得CPU時的狀態(tài)。就緒態(tài)進(jìn)程狀態(tài)及轉(zhuǎn)換運行態(tài):進(jìn)程獲得CPU并正在執(zhí)行時的狀態(tài)。阻塞態(tài):進(jìn)程因等待某種事件發(fā)生(如I/O操作)而暫時不能執(zhí)行時的狀態(tài)。終止態(tài):進(jìn)程已完成其任務(wù)或遇到無法克服的錯誤而終止執(zhí)行時的狀態(tài)。狀態(tài)轉(zhuǎn)換:進(jìn)程的狀態(tài)轉(zhuǎn)換包括創(chuàng)建、就緒、運行、阻塞和終止等狀態(tài)之間的轉(zhuǎn)換。例如,當(dāng)一個新的進(jìn)程被創(chuàng)建時,它進(jìn)入創(chuàng)建態(tài);當(dāng)它被調(diào)度到CPU上執(zhí)行時,它進(jìn)入運行態(tài);當(dāng)它等待某種事件發(fā)生時,它進(jìn)入阻塞態(tài);當(dāng)它完成任務(wù)或遇到錯誤時,它進(jìn)入終止態(tài)。進(jìn)程狀態(tài)及轉(zhuǎn)換進(jìn)程描述方法PART02PCB是進(jìn)程存在的唯一標(biāo)識,包含進(jìn)程的標(biāo)識符、狀態(tài)、優(yōu)先級等控制和管理信息。PCB的作用PCB的組織方式PCB的內(nèi)容PCB可以采用線性方式或鏈接方式進(jìn)行組織,以便于對進(jìn)程進(jìn)行查找和管理。PCB通常包含進(jìn)程標(biāo)識符、處理機狀態(tài)、進(jìn)程調(diào)度信息、進(jìn)程控制信息等。030201進(jìn)程控制塊PCB將處于同一狀態(tài)的所有進(jìn)程的PCB鏈接在一起的數(shù)據(jù)結(jié)構(gòu)稱為進(jìn)程隊列。進(jìn)程隊列將系統(tǒng)中所有進(jìn)程的PCB鏈接在一起的數(shù)據(jù)結(jié)構(gòu)稱為進(jìn)程鏈表。進(jìn)程鏈表對進(jìn)程隊列和鏈表的主要操作包括創(chuàng)建、撤銷、阻塞、喚醒等。隊列與鏈表的操作進(jìn)程隊列與鏈表進(jìn)程間通信與同步機制進(jìn)程間通信是指在不同進(jìn)程之間傳遞數(shù)據(jù)和信息的技術(shù),常見的進(jìn)程間通信方式有管道、消息隊列、信號量等。同步機制同步機制用于協(xié)調(diào)多個進(jìn)程之間的執(zhí)行順序,以確保它們能夠正確地共享資源和協(xié)同工作。常見的同步機制有互斥鎖、條件變量、信號量等。進(jìn)程間通信與同步的實現(xiàn)不同的操作系統(tǒng)提供了不同的進(jìn)程間通信和同步機制的實現(xiàn)方式,例如Unix/Linux中的管道、FIFO、消息隊列、信號量等,Windows中的郵槽、命名管道等。進(jìn)程間通信進(jìn)程控制原語及操作PART03創(chuàng)建原語Create01創(chuàng)建一個新的進(jìn)程映像,包括PCB和相應(yīng)的程序、數(shù)據(jù)等02分配必要的資源,如內(nèi)存空間、I/O設(shè)備等將新進(jìn)程的狀態(tài)設(shè)置為就緒態(tài),并將其插入就緒隊列03若進(jìn)程處于執(zhí)行狀態(tài),則立即停止該進(jìn)程的執(zhí)行,并設(shè)置調(diào)度標(biāo)志為真,以指示該進(jìn)程被終止后應(yīng)重新進(jìn)行調(diào)度若進(jìn)程還有子孫進(jìn)程,則應(yīng)將其所有子孫進(jìn)程予以終止將被終止進(jìn)程(PCB)從所在隊列(或鏈表)中移將該進(jìn)程所擁有的全部資源,或者歸還給其父進(jìn)程或系統(tǒng),或者歸還給創(chuàng)建該進(jìn)程的用戶從PCB集合中找到要終止的進(jìn)程的PCB終止原語Terminate阻塞原語Block當(dāng)進(jìn)程由于某種原因不能繼續(xù)運行時,將調(diào)用阻塞原語Block把自己阻塞。具體執(zhí)行過程是:立即停止當(dāng)前進(jìn)程的執(zhí)行;把進(jìn)程控制塊中的現(xiàn)行狀態(tài)由“執(zhí)行”改為“阻塞”,并將其插入到具有相同實體的阻塞隊列中。喚醒原語Wakeup當(dāng)被阻塞的進(jìn)程所期待的事件出現(xiàn)時,如I/O完成或者其所期待的數(shù)據(jù)已經(jīng)到達(dá),則由有關(guān)進(jìn)程(比如,用完并釋放了該I/O設(shè)備的進(jìn)程)調(diào)用喚醒原語Wakeup,將等待該事件的進(jìn)程喚醒。具體執(zhí)行過程是:把被阻塞的進(jìn)程從等待該事件的阻塞隊列中移出;將其PCB中的現(xiàn)行狀態(tài)由“阻塞”改為“就緒”,然后再將該PCB插入到就緒隊列中。阻塞原語Block和喚醒原語Wakeup掛起原語Suspend將指定進(jìn)程或處于阻塞狀態(tài)的同類進(jìn)程掛起。具體執(zhí)行過程是:檢查被掛起進(jìn)程的狀態(tài),若處于活動狀態(tài),則將其改為靜止?fàn)顟B(tài);若采用的是“掛起是獨立的”方式,則應(yīng)利用某種機制使該進(jìn)程以后不再被調(diào)度;若采用的是“掛起是下屬的”方式,則應(yīng)將其父進(jìn)程也掛起;若被掛起的進(jìn)程正在執(zhí)行,則應(yīng)立即停止執(zhí)行,并設(shè)置調(diào)度標(biāo)志為真,以指示該進(jìn)程被掛起后應(yīng)重新進(jìn)行調(diào)度。激活原語Activate將指定進(jìn)程激活。具體執(zhí)行過程是:把指定進(jìn)程從靜止隊列中移出;若采用“激活是獨立的”方式,則應(yīng)再將進(jìn)程的靜止?fàn)顟B(tài)改為活動狀態(tài);若采用“激活是下屬的”方式,則應(yīng)將其所有祖先也都激活;如果采用的是“多層激活”方式,則應(yīng)將其所有子孫進(jìn)程都激活。掛起原語Suspend和激活原語Activate線程概念及多線程模型PART04ABCD線程定義及屬性與同屬一個進(jìn)程的其他線程共享進(jìn)程所擁有的全部資源。線程是進(jìn)程內(nèi)的一個執(zhí)行單元,是進(jìn)程內(nèi)可調(diào)度實體。線程有就緒、阻塞和運行三種基本狀態(tài),也有創(chuàng)建狀態(tài)和終止?fàn)顟B(tài)。每個線程有自己的線程ID、寄存器組值、棧和棧指針、程序計數(shù)器PC、局部存儲區(qū)等。用戶級線程ULT與內(nèi)核級線程KLT用戶級線程ULT不依賴于操作系統(tǒng)核心,由應(yīng)用進(jìn)程利用線程庫提供創(chuàng)建、同步、調(diào)度和管理線程的函數(shù)來控制用戶線程。內(nèi)核級線程KLT依賴于操作系統(tǒng)核心,由內(nèi)核的內(nèi)部需求進(jìn)行創(chuàng)建和撤銷。多對一模型多個用戶級線程映射到一個內(nèi)核級線程,線程管理在用戶空間完成,內(nèi)核意識不到多線程的存在。一對一模型一個用戶級線程映射到一個內(nèi)核級線程,每個用戶進(jìn)程有與用戶級線程同數(shù)量的內(nèi)核級線程。多對多模型n個用戶級線程映射到m個內(nèi)核級線程(n>=m),克服了多對一模型和一對一模型并發(fā)度小的缺點,又充分利用了多核處理器資源。多線程模型比較進(jìn)程同步與互斥問題PART05臨界區(qū)問題多個進(jìn)程同時訪問共享資源時,可能會導(dǎo)致數(shù)據(jù)不一致或資源訪問沖突。解決方案通過同步機制來協(xié)調(diào)進(jìn)程的執(zhí)行順序,確保同一時間只有一個進(jìn)程能夠訪問臨界區(qū)。臨界區(qū)問題與解決方案信號量是一個整型變量,用于表示可用資源的數(shù)量或進(jìn)程的執(zhí)行狀態(tài)。信號量定義通過P操作申請資源,若資源可用則獲取資源并繼續(xù)執(zhí)行;通過V操作釋放資源,使其他等待的進(jìn)程得以執(zhí)行。P/V操作實現(xiàn)進(jìn)程間的同步與互斥,保證對共享資源的正確訪問。信號量的作用信號量機制Semaphore管程是一種特殊的軟件模塊,提供了一組公共變量和同步操作,用于實現(xiàn)進(jìn)程間的同步與互斥。管程定義管程由Monitor結(jié)構(gòu)和過程兩部分組成,Monitor結(jié)構(gòu)包括共享變量和同步隊列,過程實現(xiàn)對共享變量的操作。Monitor結(jié)構(gòu)進(jìn)程通過調(diào)用管程的過程來訪問共享變量,管程通過同步隊列和條件變量來協(xié)調(diào)進(jìn)程的執(zhí)行順序,確保對共享變量的正確訪問。Monitor工作原理管程Monitor實現(xiàn)同步互斥死鎖問題及處理方法PART06死鎖是指兩個或兩個以上的進(jìn)程在執(zhí)行過程中,由于競爭資源或者由于彼此通信而造成的一種阻塞的現(xiàn)象,若無外力作用,它們都將無法向前推進(jìn)。死鎖概念互斥條件、請求和保持條件、不剝奪條件、環(huán)路等待條件。產(chǎn)生條件死鎖概念及產(chǎn)生條件破壞互斥條件允許進(jìn)程同時訪問某些資源。但是,有些資源是不能被多個進(jìn)程同時訪問的,這是由資源本身屬性所決定的,因此,這種辦法通常不可行。破壞不剝奪條件當(dāng)一進(jìn)程占有的資源又被其他進(jìn)程請求時,可以采用資源剝奪方式。破壞環(huán)路等待條件為了破壞環(huán)路等待條件,可采用順序資源分配法。首先給系統(tǒng)中的資源編號,規(guī)定每個進(jìn)程必須按編號遞增的順序請求資源,同類資源(即編號相同的資源)一次申請完。破壞請求和保持條件進(jìn)程在運行前申請得到所有的資源,在其所需資源未滿足前,不使其投入運行。一旦投入運行后,這些資源就一直歸它所有,該進(jìn)程就不會請求其他任何資源了。死鎖預(yù)防策略分析銀行家算法該算法是由艾茲格·迪杰斯特拉在1965年為T.H.E.系統(tǒng)設(shè)計的一種避免死鎖產(chǎn)生的算法。它以一個銀行借貸系統(tǒng)的模擬來實現(xiàn)資源的分配和回收,保證系統(tǒng)的安全運行。安全性算法通過判斷系統(tǒng)是否處于安全狀態(tài)來避免死鎖的發(fā)生。如果系統(tǒng)處于安全狀態(tài),則可以分配資源;否則,不分配資源。死鎖避免算法介紹死鎖檢測與恢復(fù)方法通過定時運行死鎖檢測算法來發(fā)現(xiàn)死鎖。常見的死鎖檢測算法有資源分配圖算法和銀行家算法等。死鎖檢測當(dāng)檢測到死鎖時,需要采取一些措施來恢復(fù)系統(tǒng)的正常運行。常見的死鎖恢復(fù)方法有進(jì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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 可再生能源電解水制氫耦合合成氨系統(tǒng)集成與技術(shù)經(jīng)濟評價
- 二零二五年度汽車維修保養(yǎng)套餐銷售代理居間服務(wù)合同
- 應(yīng)急預(yù)案落地實施
- 科技行業(yè)的會計工作總結(jié)
- 二零二五個人向金融機構(gòu)借款合同終止條件合同模板4篇
- 二零二五年度鋼構(gòu)橋梁建造與維護(hù)服務(wù)合同
- 游戲中心前臺工作心得
- 工業(yè)園區(qū)綜治工作中心上墻制度
- 二零二五版石料運輸車輛運輸責(zé)任保險合同范本6篇
- 進(jìn)出口行業(yè)客戶開發(fā)總結(jié)
- 企業(yè)新員工培訓(xùn)師帶徒方案
- 2025屆河南省鄭州一中高三物理第一學(xué)期期末學(xué)業(yè)水平測試試題含解析
- 美容美發(fā)行業(yè)衛(wèi)生管理規(guī)范
- 個體工商戶章程(標(biāo)準(zhǔn)版)
- 河南省安陽市2024年中考一模語文試卷(含答案)
- 廢舊物資買賣合同極簡版
- TD/T 1044-2014 生產(chǎn)項目土地復(fù)墾驗收規(guī)程(正式版)
- 2024年湖南現(xiàn)代物流職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫及答案1套
- 垃圾桶創(chuàng)新設(shè)計說明書
- 2024年正定縣國資產(chǎn)控股運營集團限公司面向社會公開招聘工作人員高頻考題難、易錯點模擬試題(共500題)附帶答案詳解
- 蔚來汽車技術(shù)
評論
0/150
提交評論