




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
進程的描述與控制2023-2026ONEKEEPVIEWREPORTINGWENKUDESIGNWENKUDESIGNWENKUDESIGNWENKUDESIGNWENKU目錄CATALOGUE進程基本概念進程描述方法進程控制原語及操作線程概念及多線程模型進程同步與互斥問題死鎖問題及處理方法進程基本概念PART01動態(tài)性進程是程序的執(zhí)行過程,具有生命周期,包括創(chuàng)建、就緒、運行、阻塞和終止等狀態(tài)。進程定義進程是操作系統(tǒng)中進行資源分配和調(diào)度的基本單位,它是程序的執(zhí)行過程,具有動態(tài)性、并發(fā)性、獨立性和異步性等特征。并發(fā)性多個進程可以在同一時間段內(nèi)并發(fā)執(zhí)行,提高系統(tǒng)資源利用率。異步性進程的執(zhí)行順序和執(zhí)行時間是不確定的,由操作系統(tǒng)根據(jù)調(diào)度算法和資源情況來決定。獨立性進程是操作系統(tǒng)中獨立存在的實體,擁有獨立的內(nèi)存空間和系統(tǒng)資源。進程定義及特征程序是靜態(tài)的指令集合,而進程是程序的執(zhí)行過程,具有動態(tài)性。程序可以脫離機器長期保存,而進程是暫時的,隨著程序的執(zhí)行而創(chuàng)建和消亡。進程是程序的執(zhí)行過程,程序是進程的代碼部分。一個程序可以對應(yīng)多個進程,而一個進程只能對應(yīng)一個程序。進程與程序關(guān)系程序與進程的聯(lián)系程序與進程的區(qū)別進程的狀態(tài)包括創(chuàng)建態(tài)、就緒態(tài)、運行態(tài)、阻塞態(tài)和終止態(tài)。進程狀態(tài)進程正在被創(chuàng)建時的狀態(tài)。創(chuàng)建態(tài)進程已分配到除CPU以外的所有必要資源,等待獲得CPU時的狀態(tài)。就緒態(tài)進程狀態(tài)及轉(zhuǎn)換運行態(tài):進程獲得CPU并正在執(zhí)行時的狀態(tài)。阻塞態(tài):進程因等待某種事件發(fā)生(如I/O操作)而暫時不能執(zhí)行時的狀態(tài)。終止態(tài):進程已完成其任務(wù)或遇到無法克服的錯誤而終止執(zhí)行時的狀態(tài)。狀態(tài)轉(zhuǎn)換:進程的狀態(tài)轉(zhuǎn)換包括創(chuàng)建、就緒、運行、阻塞和終止等狀態(tài)之間的轉(zhuǎn)換。例如,當一個新的進程被創(chuàng)建時,它進入創(chuàng)建態(tài);當它被調(diào)度到CPU上執(zhí)行時,它進入運行態(tài);當它等待某種事件發(fā)生時,它進入阻塞態(tài);當它完成任務(wù)或遇到錯誤時,它進入終止態(tài)。進程狀態(tài)及轉(zhuǎn)換進程描述方法PART02PCB是進程存在的唯一標識,包含進程的標識符、狀態(tài)、優(yōu)先級等控制和管理信息。PCB的作用PCB的組織方式PCB的內(nèi)容PCB可以采用線性方式或鏈接方式進行組織,以便于對進程進行查找和管理。PCB通常包含進程標識符、處理機狀態(tài)、進程調(diào)度信息、進程控制信息等。030201進程控制塊PCB將處于同一狀態(tài)的所有進程的PCB鏈接在一起的數(shù)據(jù)結(jié)構(gòu)稱為進程隊列。進程隊列將系統(tǒng)中所有進程的PCB鏈接在一起的數(shù)據(jù)結(jié)構(gòu)稱為進程鏈表。進程鏈表對進程隊列和鏈表的主要操作包括創(chuàng)建、撤銷、阻塞、喚醒等。隊列與鏈表的操作進程隊列與鏈表進程間通信與同步機制進程間通信是指在不同進程之間傳遞數(shù)據(jù)和信息的技術(shù),常見的進程間通信方式有管道、消息隊列、信號量等。同步機制同步機制用于協(xié)調(diào)多個進程之間的執(zhí)行順序,以確保它們能夠正確地共享資源和協(xié)同工作。常見的同步機制有互斥鎖、條件變量、信號量等。進程間通信與同步的實現(xiàn)不同的操作系統(tǒng)提供了不同的進程間通信和同步機制的實現(xiàn)方式,例如Unix/Linux中的管道、FIFO、消息隊列、信號量等,Windows中的郵槽、命名管道等。進程間通信進程控制原語及操作PART03創(chuàng)建原語Create01創(chuàng)建一個新的進程映像,包括PCB和相應(yīng)的程序、數(shù)據(jù)等02分配必要的資源,如內(nèi)存空間、I/O設(shè)備等將新進程的狀態(tài)設(shè)置為就緒態(tài),并將其插入就緒隊列03若進程處于執(zhí)行狀態(tài),則立即停止該進程的執(zhí)行,并設(shè)置調(diào)度標志為真,以指示該進程被終止后應(yīng)重新進行調(diào)度若進程還有子孫進程,則應(yīng)將其所有子孫進程予以終止將被終止進程(PCB)從所在隊列(或鏈表)中移將該進程所擁有的全部資源,或者歸還給其父進程或系統(tǒng),或者歸還給創(chuàng)建該進程的用戶從PCB集合中找到要終止的進程的PCB終止原語Terminate阻塞原語Block當進程由于某種原因不能繼續(xù)運行時,將調(diào)用阻塞原語Block把自己阻塞。具體執(zhí)行過程是:立即停止當前進程的執(zhí)行;把進程控制塊中的現(xiàn)行狀態(tài)由“執(zhí)行”改為“阻塞”,并將其插入到具有相同實體的阻塞隊列中。喚醒原語Wakeup當被阻塞的進程所期待的事件出現(xiàn)時,如I/O完成或者其所期待的數(shù)據(jù)已經(jīng)到達,則由有關(guān)進程(比如,用完并釋放了該I/O設(shè)備的進程)調(diào)用喚醒原語Wakeup,將等待該事件的進程喚醒。具體執(zhí)行過程是:把被阻塞的進程從等待該事件的阻塞隊列中移出;將其PCB中的現(xiàn)行狀態(tài)由“阻塞”改為“就緒”,然后再將該PCB插入到就緒隊列中。阻塞原語Block和喚醒原語Wakeup掛起原語Suspend將指定進程或處于阻塞狀態(tài)的同類進程掛起。具體執(zhí)行過程是:檢查被掛起進程的狀態(tài),若處于活動狀態(tài),則將其改為靜止狀態(tài);若采用的是“掛起是獨立的”方式,則應(yīng)利用某種機制使該進程以后不再被調(diào)度;若采用的是“掛起是下屬的”方式,則應(yīng)將其父進程也掛起;若被掛起的進程正在執(zhí)行,則應(yīng)立即停止執(zhí)行,并設(shè)置調(diào)度標志為真,以指示該進程被掛起后應(yīng)重新進行調(diào)度。激活原語Activate將指定進程激活。具體執(zhí)行過程是:把指定進程從靜止隊列中移出;若采用“激活是獨立的”方式,則應(yīng)再將進程的靜止狀態(tài)改為活動狀態(tài);若采用“激活是下屬的”方式,則應(yīng)將其所有祖先也都激活;如果采用的是“多層激活”方式,則應(yīng)將其所有子孫進程都激活。掛起原語Suspend和激活原語Activate線程概念及多線程模型PART04ABCD線程定義及屬性與同屬一個進程的其他線程共享進程所擁有的全部資源。線程是進程內(nèi)的一個執(zhí)行單元,是進程內(nèi)可調(diào)度實體。線程有就緒、阻塞和運行三種基本狀態(tài),也有創(chuàng)建狀態(tài)和終止狀態(tài)。每個線程有自己的線程ID、寄存器組值、棧和棧指針、程序計數(shù)器PC、局部存儲區(qū)等。用戶級線程ULT與內(nèi)核級線程KLT用戶級線程ULT不依賴于操作系統(tǒng)核心,由應(yīng)用進程利用線程庫提供創(chuàng)建、同步、調(diào)度和管理線程的函數(shù)來控制用戶線程。內(nèi)核級線程KLT依賴于操作系統(tǒng)核心,由內(nèi)核的內(nèi)部需求進行創(chuàng)建和撤銷。多對一模型多個用戶級線程映射到一個內(nèi)核級線程,線程管理在用戶空間完成,內(nèi)核意識不到多線程的存在。一對一模型一個用戶級線程映射到一個內(nèi)核級線程,每個用戶進程有與用戶級線程同數(shù)量的內(nèi)核級線程。多對多模型n個用戶級線程映射到m個內(nèi)核級線程(n>=m),克服了多對一模型和一對一模型并發(fā)度小的缺點,又充分利用了多核處理器資源。多線程模型比較進程同步與互斥問題PART05臨界區(qū)問題多個進程同時訪問共享資源時,可能會導(dǎo)致數(shù)據(jù)不一致或資源訪問沖突。解決方案通過同步機制來協(xié)調(diào)進程的執(zhí)行順序,確保同一時間只有一個進程能夠訪問臨界區(qū)。臨界區(qū)問題與解決方案信號量是一個整型變量,用于表示可用資源的數(shù)量或進程的執(zhí)行狀態(tài)。信號量定義通過P操作申請資源,若資源可用則獲取資源并繼續(xù)執(zhí)行;通過V操作釋放資源,使其他等待的進程得以執(zhí)行。P/V操作實現(xiàn)進程間的同步與互斥,保證對共享資源的正確訪問。信號量的作用信號量機制Semaphore管程是一種特殊的軟件模塊,提供了一組公共變量和同步操作,用于實現(xiàn)進程間的同步與互斥。管程定義管程由Monitor結(jié)構(gòu)和過程兩部分組成,Monitor結(jié)構(gòu)包括共享變量和同步隊列,過程實現(xiàn)對共享變量的操作。Monitor結(jié)構(gòu)進程通過調(diào)用管程的過程來訪問共享變量,管程通過同步隊列和條件變量來協(xié)調(diào)進程的執(zhí)行順序,確保對共享變量的正確訪問。Monitor工作原理管程Monitor實現(xiàn)同步互斥死鎖問題及處理方法PART06死鎖是指兩個或兩個以上的進程在執(zhí)行過程中,由于競爭資源或者由于彼此通信而造成的一種阻塞的現(xiàn)象,若無外力作用,它們都將無法向前推進。死鎖概念互斥條件、請求和保持條件、不剝奪條件、環(huán)路等待條件。產(chǎn)生條件死鎖概念及產(chǎn)生條件破壞互斥條件允許進程同時訪問某些資源。但是,有些資源是不能被多個進程同時訪問的,這是由資源本身屬性所決定的,因此,這種辦法通常不可行。破壞不剝奪條件當一進程占有的資源又被其他進程請求時,可以采用資源剝奪方式。破壞環(huán)路等待條件為了破壞環(huán)路等待條件,可采用順序資源分配法。首先給系統(tǒng)中的資源編號,規(guī)定每個進程必須按編號遞增的順序請求資源,同類資源(即編號相同的資源)一次申請完。破壞請求和保持條件進程在運行前申請得到所有的資源,在其所需資源未滿足前,不使其投入運行。一旦投入運行后,這些資源就一直歸它所有,該進程就不會請求其他任何資源了。死鎖預(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)死鎖。常見的死鎖檢測算法有資源分配圖算法和銀行家算法等。死鎖檢測當檢測到死鎖時,需要采取一些措施來恢復(fù)系統(tǒng)的正常運行。常見的死鎖恢復(fù)方法有進程終止、資源搶占和進程
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- eva原料出口合同標準文本
- 全案設(shè)計整套合同標準文本
- 代墊款合同標準文本
- 會議贊助合同范例
- 代人簽合同樣本
- 形式與政策教育
- lpr利率貸款合同標準文本
- 佛山新房購房合同標準文本
- 共同銷售合同標準文本
- 公務(wù)員簽勞動合同標準文本
- 常見業(yè)務(wù)場景網(wǎng)絡(luò)安全建設(shè)VISIO圖合集(27個類型)v2023
- 純堿生產(chǎn)工(初級)考試題及答案
- 工程施工分包協(xié)議書
- 金融知識與服務(wù)考核試卷
- 消化系統(tǒng)(人體解剖生理學(xué))
- 臨床醫(yī)學(xué)科研設(shè)計的基本原則和設(shè)計要點
- 班組長的領(lǐng)導(dǎo)方式與技巧
- DL-T5190.1-2022電力建設(shè)施工技術(shù)規(guī)范第1部分:土建結(jié)構(gòu)工程
- TD/T 1044-2014 生產(chǎn)項目土地復(fù)墾驗收規(guī)程(正式版)
- (高清版)JTGT 3331-07-2024 公路膨脹土路基設(shè)計與施工技術(shù)規(guī)范
- 基金會公益慈善項目管理辦法
評論
0/150
提交評論