計算機(jī)操作系統(tǒng)中的進(jìn)程管理_第1頁
計算機(jī)操作系統(tǒng)中的進(jìn)程管理_第2頁
計算機(jī)操作系統(tǒng)中的進(jìn)程管理_第3頁
計算機(jī)操作系統(tǒng)中的進(jìn)程管理_第4頁
計算機(jī)操作系統(tǒng)中的進(jìn)程管理_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

計算機(jī)操作系統(tǒng)中的進(jìn)程管理演講人:日期:CATALOGUE目錄進(jìn)程管理概述進(jìn)程描述與控制進(jìn)程同步與通信進(jìn)程調(diào)度算法死鎖預(yù)防、檢測與解除線程概念及應(yīng)用進(jìn)程管理概述01進(jìn)程定義獨(dú)立性異步性結(jié)構(gòu)性并發(fā)性動態(tài)性進(jìn)程是操作系統(tǒng)中進(jìn)行資源分配和調(diào)度的基本單位,它是程序的執(zhí)行過程,具有動態(tài)性、并發(fā)性、獨(dú)立性、異步性和結(jié)構(gòu)性等基本特征。進(jìn)程是程序的執(zhí)行過程,具有生命周期,因創(chuàng)建而產(chǎn)生,因調(diào)度而執(zhí)行,因等待資源或事件而被阻塞,因完成任務(wù)而被撤銷。多個進(jìn)程實體同存于內(nèi)存中,能在一段時間內(nèi)同時運(yùn)行。引入進(jìn)程的目的就是為了使程序能與其他進(jìn)程的程序并發(fā)執(zhí)行,以改善資源利用率和提高系統(tǒng)吞吐量。進(jìn)程實體是一個能獨(dú)立運(yùn)行的基本單位,同時也是系統(tǒng)中獨(dú)立獲得資源和獨(dú)立調(diào)度的基本單位。進(jìn)程按各自獨(dú)立的、不可預(yù)知的速度向前推進(jìn)。每個進(jìn)程都配置一個PCB對其進(jìn)行描述,從結(jié)構(gòu)上看,進(jìn)程由程序段、數(shù)據(jù)段及PCB組成。進(jìn)程定義與特性進(jìn)程與程序關(guān)系進(jìn)程與程序關(guān)系進(jìn)程更能真實地描述并發(fā),而程序不能只有在建立了進(jìn)程后才可以并發(fā)執(zhí)行。進(jìn)程具有創(chuàng)建其他進(jìn)程的功能,而程序沒有在采用多道程序技術(shù)設(shè)計的系統(tǒng)中,往往先啟動一個然后激活其他程序運(yùn)行。不同的進(jìn)程可以包含同一程序只要該程序所對應(yīng)的數(shù)據(jù)集不同。進(jìn)程和程序的組成不同進(jìn)程的組成包括程序、數(shù)據(jù)和進(jìn)程控制塊(即進(jìn)程狀態(tài)信息)。就緒狀態(tài)當(dāng)進(jìn)程已分配到除CPU以外的所有必要資源后,只要再獲得CPU,便可立即執(zhí)行,進(jìn)程這時的狀態(tài)就稱為就緒狀態(tài)。在一個系統(tǒng)中處于就緒狀態(tài)的進(jìn)程可能有多個,通常將它們排成一個隊列,稱為就緒隊列。執(zhí)行狀態(tài)指進(jìn)程已獲得CPU,其程序正在執(zhí)行。在單處理機(jī)系統(tǒng)中,只有一個進(jìn)程處于執(zhí)行狀態(tài);在多處理機(jī)系統(tǒng)中,則有多個進(jìn)程處于執(zhí)行狀態(tài)。阻塞狀態(tài)正在執(zhí)行的進(jìn)程由于發(fā)生某事件而暫時無法繼續(xù)執(zhí)行時,便放棄處理機(jī)而處于暫停狀態(tài),亦即程序的執(zhí)行受到阻塞,把這種暫停狀態(tài)稱為阻塞狀態(tài),有時也稱為等待狀態(tài)或封鎖狀態(tài)。進(jìn)程狀態(tài)及轉(zhuǎn)換進(jìn)程描述與控制02進(jìn)程控制塊PCB是進(jìn)程存在的唯一標(biāo)識,包含進(jìn)程的描述信息和控制信息。PCB中通常包含進(jìn)程標(biāo)識符、處理機(jī)狀態(tài)、進(jìn)程調(diào)度信息和進(jìn)程控制信息等內(nèi)容。PCB的組織方式有鏈接方式和索引方式兩種,鏈接方式將同一狀態(tài)的PCB鏈接成一個隊列,索引方式則是根據(jù)進(jìn)程狀態(tài)的不同建立幾張索引表。進(jìn)程控制塊PCB進(jìn)程創(chuàng)建創(chuàng)建一個新進(jìn)程需要為其分配唯一的進(jìn)程標(biāo)識符,并申請必要的資源,如內(nèi)存空間、I/O設(shè)備等。同時,需要初始化PCB中的相關(guān)信息,如進(jìn)程狀態(tài)、優(yōu)先級等。進(jìn)程終止當(dāng)進(jìn)程完成其任務(wù)或發(fā)生異常時,需要終止該進(jìn)程并釋放其占用的資源。終止進(jìn)程時需要將其從所在隊列中移除,并回收其占用的資源。進(jìn)程創(chuàng)建與終止當(dāng)進(jìn)程需要等待某個事件發(fā)生(如I/O操作完成)時,它會將自己阻塞并放入等待隊列中。阻塞原語會將進(jìn)程狀態(tài)設(shè)置為阻塞態(tài),并將其PCB插入到相應(yīng)事件的等待隊列中。進(jìn)程阻塞當(dāng)?shù)却氖录l(fā)生時,相應(yīng)的喚醒原語會被執(zhí)行,將等待隊列中的進(jìn)程喚醒。喚醒后的進(jìn)程將被放入就緒隊列中,等待處理機(jī)分配。同時,需要修改PCB中的相關(guān)信息,如進(jìn)程狀態(tài)、等待事件等。進(jìn)程喚醒進(jìn)程阻塞與喚醒進(jìn)程同步與通信03臨界區(qū)問題多個進(jìn)程同時訪問共享資源時,可能會導(dǎo)致數(shù)據(jù)不一致或資源訪問沖突的問題?;コ怄i通過加鎖機(jī)制確保同一時間只有一個進(jìn)程能夠訪問臨界區(qū)資源。信號量使用信號量機(jī)制對臨界區(qū)資源進(jìn)行計數(shù)和訪問控制。原子操作通過硬件或軟件實現(xiàn)的操作原子性,確保臨界區(qū)代碼在執(zhí)行過程中不會被中斷。臨界區(qū)問題及解決方法信號量與PV操作信號量一個整型變量,用于表示可用資源的數(shù)量。P操作(Proberen,嘗試)請求資源,將信號量減1,若信號量小于0則進(jìn)程阻塞。V操作(Verhogen,增加)釋放資源,將信號量加1,若信號量小于等于0則喚醒等待隊列中的一個進(jìn)程。信號量與PV操作在進(jìn)程同步中的應(yīng)用實現(xiàn)進(jìn)程間的互斥與同步,保證對共享資源的正確訪問。通過信號量和PV操作實現(xiàn)生產(chǎn)者和消費(fèi)者之間的同步,避免生產(chǎn)者生產(chǎn)過多產(chǎn)品而消費(fèi)者消費(fèi)不及的情況。生產(chǎn)者-消費(fèi)者問題五個哲學(xué)家圍坐在圓桌旁,思考并進(jìn)餐。需要確保任意時刻只有一個哲學(xué)家能夠拿起左右兩邊的筷子,避免死鎖和資源浪費(fèi)。哲學(xué)家進(jìn)餐問題允許多個讀者同時讀取數(shù)據(jù),但只允許一個寫者寫入數(shù)據(jù)。需要確保讀者和寫者之間的同步,以及寫者之間的互斥。讀者-寫者問題經(jīng)典同步問題解析進(jìn)程調(diào)度算法04調(diào)度基本概念操作系統(tǒng)中的進(jìn)程調(diào)度是指按照某種策略和原則,將處理機(jī)分配給就緒隊列中的一個進(jìn)程,以執(zhí)行其任務(wù)。進(jìn)程調(diào)度是操作系統(tǒng)核心功能之一,直接影響系統(tǒng)性能。調(diào)度分類根據(jù)調(diào)度的發(fā)生時間、頻率和范圍,可以將進(jìn)程調(diào)度分為長程調(diào)度(作業(yè)調(diào)度)、中程調(diào)度(內(nèi)存調(diào)度)和短程調(diào)度(CPU調(diào)度)。調(diào)度基本概念及分類先來先服務(wù)(FCFS):按照進(jìn)程到達(dá)的先后順序進(jìn)行調(diào)度,簡單易實現(xiàn),但可能導(dǎo)致長作業(yè)等待時間過長。短作業(yè)優(yōu)先(SJF):根據(jù)進(jìn)程預(yù)計運(yùn)行時間進(jìn)行調(diào)度,優(yōu)先執(zhí)行預(yù)計運(yùn)行時間短的進(jìn)程,有利于提高系統(tǒng)吞吐量,但需要預(yù)知進(jìn)程運(yùn)行時間。優(yōu)先級調(diào)度:為每個進(jìn)程分配一個優(yōu)先級,優(yōu)先級高的進(jìn)程優(yōu)先獲得處理機(jī)??梢愿鶕?jù)進(jìn)程類型、資源需求等因素設(shè)置優(yōu)先級。時間片輪轉(zhuǎn)(RR):將CPU時間劃分為固定長度的時間片,每個進(jìn)程分配一個時間片。當(dāng)時間片用完時,進(jìn)程被切換到就緒隊列末尾等待下一個時間片。該算法兼顧了短作業(yè)和長作業(yè)的需求,但可能導(dǎo)致一定的上下文切換開銷。常見調(diào)度算法介紹算法原理:多級反饋隊列調(diào)度算法結(jié)合了優(yōu)先級調(diào)度、時間片輪轉(zhuǎn)等多種算法的思想。它將就緒隊列劃分為多個不同優(yōu)先級的隊列,每個隊列采用不同的調(diào)度策略和時間片長度。進(jìn)程根據(jù)其行為和需求被分配到不同優(yōu)先級的隊列中。優(yōu)點(diǎn):該算法能夠動態(tài)調(diào)整進(jìn)程的優(yōu)先級和時間片長度,以適應(yīng)不同負(fù)載和進(jìn)程行為的變化。它既能保證短作業(yè)的快速響應(yīng),又能避免長作業(yè)的長時間等待。同時,通過優(yōu)先級調(diào)整和時間片長度的動態(tài)變化,可以在一定程度上實現(xiàn)公平性和效率之間的平衡。實現(xiàn)方式:多級反饋隊列調(diào)度算法的實現(xiàn)需要維護(hù)多個不同優(yōu)先級的隊列,并為每個隊列設(shè)置相應(yīng)的調(diào)度策略和時間片長度。當(dāng)進(jìn)程創(chuàng)建或狀態(tài)發(fā)生變化時,根據(jù)其歷史行為和當(dāng)前需求將其放入合適的隊列中。在調(diào)度過程中,首先選擇優(yōu)先級最高的非空隊列進(jìn)行調(diào)度,若存在多個相同優(yōu)先級的隊列,則按照某種規(guī)則(如FCFS或SJF)選擇其中一個進(jìn)行調(diào)度。多級反饋隊列調(diào)度算法死鎖預(yù)防、檢測與解除05死鎖定義01死鎖是指兩個或兩個以上的進(jìn)程在執(zhí)行過程中,由于競爭資源或者由于彼此通信而造成的一種阻塞的現(xiàn)象,若無外力作用,它們都將無法向前推進(jìn)。競爭資源02當(dāng)系統(tǒng)中供多個進(jìn)程共享的資源如打印機(jī)、公用隊列等,其數(shù)目不足以滿足諸進(jìn)程的需要時,會引起諸進(jìn)程對資源的競爭而產(chǎn)生死鎖。進(jìn)程間推進(jìn)順序非法03進(jìn)程在運(yùn)行過程中,請求和釋放資源的順序不當(dāng),也同樣會導(dǎo)致產(chǎn)生進(jìn)程死鎖。死鎖定義及產(chǎn)生原因破壞“請求和保持”條件第一種方法靜態(tài)地分配資源,從而剝奪了進(jìn)程對資源的請求權(quán)利,因此破壞了“請求”條件。第二種方法規(guī)定了當(dāng)進(jìn)程請求資源得不到滿足時,它必須釋放已經(jīng)占有的所有資源,從而破壞了“保持”條件。破壞“不剝奪”條件當(dāng)某進(jìn)程請求的資源得不到滿足時,便釋放已占有的資源。破壞“環(huán)路等待”條件系統(tǒng)將所有資源按類型進(jìn)行線性排隊,并賦予不同的序號,所有進(jìn)程對資源的請求必須嚴(yán)格按資源序號遞增的順序提出,從而破壞了“環(huán)路等待”條件。死鎖預(yù)防策略死鎖檢測:為了能對系統(tǒng)是否已經(jīng)發(fā)生了死鎖進(jìn)行檢測,必須提供一種算法,利用上述信息來檢測系統(tǒng)是否已進(jìn)入死鎖狀態(tài)。死鎖解除:當(dāng)發(fā)現(xiàn)有進(jìn)程死鎖后,便應(yīng)立即把它從死鎖狀態(tài)中解脫出來,永久性地撤銷進(jìn)程或暫時地把它掛起,盤點(diǎn)資源使用情況,確定資源的占用情況。用一種數(shù)據(jù)結(jié)構(gòu)來保存資源的請求和分配信息;死鎖檢測與解除方法線程概念及應(yīng)用06線程是操作系統(tǒng)中進(jìn)行運(yùn)算調(diào)度的最小單位,它被包含在進(jìn)程之中,是進(jìn)程中的實際運(yùn)作單位。線程定義線程具有就緒、阻塞和運(yùn)行三種基本狀態(tài),并具有就緒狀態(tài)、執(zhí)行狀態(tài)和阻塞狀態(tài)之間的轉(zhuǎn)換關(guān)系。線程還具有許多屬性,如線程ID、線程狀態(tài)、優(yōu)先級、棧指針、程序計數(shù)器等。線程屬性線程定義及屬性123用戶級線程在用戶空間實現(xiàn),不依賴于操作系統(tǒng)核心,應(yīng)用開發(fā)者可以自由控制線程的創(chuàng)建、同步和調(diào)度等。用戶級線程內(nèi)核級線程由操作系統(tǒng)內(nèi)核管理和調(diào)度,線程的創(chuàng)建、同步和切換等都需要內(nèi)核的支持。內(nèi)核級線程混合實現(xiàn)方式結(jié)合了用戶級線程和內(nèi)核級線程的特點(diǎn),既可以利用用戶級線程的靈活性,又可以獲得內(nèi)核級線程的高效性。混合實現(xià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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論