版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
操作系統(tǒng)課件第4章1目錄contents進(jìn)程管理進(jìn)程同步與通信死鎖及處理策略線程、多線程編程技術(shù)進(jìn)程調(diào)度算法及評價總結(jié)回顧與拓展延伸201進(jìn)程管理3進(jìn)程是操作系統(tǒng)中進(jìn)行資源分配和調(diào)度的基本單位,是程序的執(zhí)行過程。進(jìn)程具有動態(tài)性、并發(fā)性、獨(dú)立性、異步性等特征。進(jìn)程與程序的區(qū)別:程序是靜態(tài)的,進(jìn)程是動態(tài)的;程序是永久的,進(jìn)程是暫時的;進(jìn)程更能真實地描述并發(fā),而程序不能。進(jìn)程概念及特征4進(jìn)程的基本狀態(tài)進(jìn)程狀態(tài)與轉(zhuǎn)換就緒狀態(tài)、執(zhí)行狀態(tài)、阻塞狀態(tài)。進(jìn)程狀態(tài)的轉(zhuǎn)換就緒->執(zhí)行、執(zhí)行->就緒、執(zhí)行->阻塞、阻塞->就緒。中斷、異常、系統(tǒng)調(diào)用等。引起進(jìn)程狀態(tài)轉(zhuǎn)換的典型事件5PCB的組織方式線性方式、鏈接方式、索引方式。PCB的作用作為獨(dú)立運(yùn)行基本單位的標(biāo)志;能實現(xiàn)間斷性運(yùn)行方式;提供進(jìn)程管理所需要的信息;提供進(jìn)程調(diào)度所必須的信息;實現(xiàn)與其他進(jìn)程的同步與通信。進(jìn)程控制塊PCB6進(jìn)程創(chuàng)建與終止引起創(chuàng)建進(jìn)程的事件:用戶登錄、作業(yè)調(diào)度、提供服務(wù)、應(yīng)用請求等。創(chuàng)建進(jìn)程的步驟:申請空白PCB;為新進(jìn)程分配資源;初始化PCB;將新進(jìn)程插入就緒隊列。引起進(jìn)程終止的事件:正常結(jié)束、異常結(jié)束(越界錯誤、保護(hù)錯誤、非法指令、特權(quán)指令錯、運(yùn)行超時、等待超時、算術(shù)運(yùn)算錯、I/O故障)、外界干預(yù)(操作員或操作系統(tǒng)干預(yù)、父進(jìn)程請求、父進(jìn)程終止)。終止進(jìn)程的步驟:根據(jù)被終止進(jìn)程的標(biāo)識符,從PCB集合中檢索出該進(jìn)程的PCB,從中讀出該進(jìn)程的狀態(tài);若被終止進(jìn)程正處于執(zhí)行狀態(tài),應(yīng)立即終止該進(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)程所擁有的全部資源,或者歸還給其父進(jìn)程或系統(tǒng),將被終止進(jìn)程(PCB)從所在隊列(或鏈表)中移出,等待其它程序來收集信息。702進(jìn)程同步與通信8讓權(quán)等待當(dāng)進(jìn)程不能進(jìn)入臨界區(qū)時,應(yīng)立即釋放處理器,防止進(jìn)程忙等待。有限等待保證請求進(jìn)入臨界區(qū)的進(jìn)程不會無限期地等待??臻e讓進(jìn)當(dāng)無進(jìn)程處于臨界區(qū)時,允許一個請求進(jìn)入臨界區(qū)的進(jìn)程立即進(jìn)入。臨界區(qū)問題的定義多個進(jìn)程并發(fā)執(zhí)行時,由于共享資源而導(dǎo)致的競態(tài)條件問題?;コ鈼l件確保同一時刻只有一個進(jìn)程能夠進(jìn)入臨界區(qū)。臨界區(qū)問題與解決方法9信號量與PV操作信號量的定義一個整型變量,用于表示資源的數(shù)量或狀態(tài)。P操作(Proberen,測試)申請資源,若資源可用則分配并繼續(xù)執(zhí)行;否則進(jìn)程等待。V操作(Verhogen,增加)釋放資源,喚醒等待該資源的進(jìn)程。信號量的使用通過PV操作實現(xiàn)進(jìn)程間的同步與互斥。10生產(chǎn)者-消費(fèi)者問題使用信號量解決生產(chǎn)者和消費(fèi)者之間的同步問題,確保生產(chǎn)者生產(chǎn)的產(chǎn)品能夠被消費(fèi)者正確消費(fèi)。哲學(xué)家進(jìn)餐問題通過合理分配資源和設(shè)置狀態(tài),避免哲學(xué)家們同時拿起左右兩只筷子而導(dǎo)致的死鎖問題。讀者-寫者問題允許多個讀者同時讀取數(shù)據(jù),但只允許一個寫者寫入數(shù)據(jù),確保數(shù)據(jù)的一致性和完整性。經(jīng)典同步問題及其解法11在內(nèi)存中開辟一塊共享區(qū)域,不同進(jìn)程可以通過對該區(qū)域的讀寫實現(xiàn)通信。需要注意同步與互斥問題。共享內(nèi)存信號是一種簡單的通信方式,用于通知接收進(jìn)程某個事件已經(jīng)發(fā)生;信號量則可用于實現(xiàn)更復(fù)雜的同步與互斥操作。信號和信號量進(jìn)程間通過發(fā)送和接收消息進(jìn)行通信。消息可以是有固定格式的數(shù)據(jù)結(jié)構(gòu),也可以是任意的字節(jié)流。消息傳遞管道是一種半雙工的通信方式,數(shù)據(jù)只能單向流動,通常用于具有親緣關(guān)系的進(jìn)程之間的通信。管道通信進(jìn)程通信方式及實現(xiàn)1203死鎖及處理策略13死鎖概念及產(chǎn)生條件死鎖概念死鎖是指兩個或兩個以上的進(jìn)程在執(zhí)行過程中,由于競爭資源或者由于彼此通信而造成的一種阻塞的現(xiàn)象,若無外力作用,它們都將無法向前推進(jìn)。產(chǎn)生條件互斥條件、請求和保持條件、不剝奪條件、環(huán)路等待條件。14破壞環(huán)路等待條件對資源進(jìn)行排序,要求進(jìn)程按順序申請資源,即每個進(jìn)程只能按序申請資源,釋放資源則遵循相反的順序。破壞互斥條件允許進(jìn)程同時訪問某些資源。但是,有些資源是不能被多個進(jìn)程同時訪問的,這是由資源本身屬性所決定的,因此,這種辦法通常不可行。破壞請求和保持條件進(jìn)程在運(yùn)行前申請所有需要的資源,且僅當(dāng)該進(jìn)程所要資源均可滿足時才給予一次性分配,這樣能使進(jìn)程在申請資源時不會持有任何資源。破壞不剝奪條件允許系統(tǒng)搶占已分配給進(jìn)程的資源,但這種方式一般考慮進(jìn)程優(yōu)先級,通常優(yōu)先級低的進(jìn)程所擁有的資源會被優(yōu)先級高的進(jìn)程搶占。死鎖預(yù)防方法15該算法用于分配資源之前預(yù)先判斷系統(tǒng)是否處于安全狀態(tài),若是,才分配,否則不分配。銀行家算法利用有向圖描述系統(tǒng)資源和進(jìn)程狀態(tài),通過檢測有向圖是否存在環(huán)路來判斷系統(tǒng)是否處于死鎖狀態(tài)。資源分配圖算法死鎖避免算法16死鎖檢測通過定時運(yùn)行死鎖檢測程序來判斷系統(tǒng)是否發(fā)生死鎖。具體方法可采用資源分配圖算法或等待圖算法。死鎖恢復(fù)當(dāng)檢測到死鎖時,需要采取措施來解除死鎖。常見的解除死鎖的方法有搶占資源和回滾操作。搶占資源是指從一個或多個死鎖進(jìn)程中搶占足夠數(shù)量的資源,使得其他進(jìn)程可以繼續(xù)執(zhí)行;回滾操作是指將一個或多個死鎖進(jìn)程回滾到某個狀態(tài),以解除死鎖。死鎖檢測與恢復(fù)方法1704線程、多線程編程技術(shù)18線程是操作系統(tǒng)中進(jìn)行運(yùn)算調(diào)度的最小單位,它被包含在進(jìn)程之中,是進(jìn)程中的實際運(yùn)作單位。線程定義線程具有就緒、阻塞和運(yùn)行三種基本狀態(tài),同時擁有一些基本屬性,如線程ID、線程優(yōu)先級、線程棧大小等。線程屬性線程是進(jìn)程的一個實體,是CPU調(diào)度和分派的基本單位,它是比進(jìn)程更小的能獨(dú)立運(yùn)行的基本單位。線程與進(jìn)程的關(guān)系線程概念及屬性19線程具有新建、就緒、運(yùn)行、阻塞和死亡五種狀態(tài)。線程狀態(tài)線程在不同狀態(tài)之間可以發(fā)生轉(zhuǎn)換,如新建線程可以轉(zhuǎn)換為就緒狀態(tài),運(yùn)行狀態(tài)的線程可以因為等待資源或I/O操作而被阻塞,阻塞狀態(tài)的線程在獲得資源或I/O操作完成后可以轉(zhuǎn)換為就緒狀態(tài)等。狀態(tài)轉(zhuǎn)換線程狀態(tài)與轉(zhuǎn)換20多線程概念多線程可以通過繼承Thread類或?qū)崿F(xiàn)Runnable接口來實現(xiàn)。其中,繼承Thread類需要重寫run()方法,而實現(xiàn)Runnable接口需要實現(xiàn)run()方法。多線程實現(xiàn)方式線程間通信多線程編程中,線程間通信是一個重要的問題??梢酝ㄟ^共享內(nèi)存、消息隊列、信號量等方式實現(xiàn)線程間通信。多線程編程技術(shù)是指在一個進(jìn)程中創(chuàng)建多個線程,這些線程可以并發(fā)執(zhí)行,從而提高程序的執(zhí)行效率。多線程編程技術(shù)21VS由于多個線程可能同時訪問共享資源,因此需要一種機(jī)制來確保對共享資源的訪問是互斥的,這就是線程同步。常見的線程同步機(jī)制包括互斥鎖、讀寫鎖、條件變量等。線程通信線程通信是指線程之間傳遞信息的過程。常見的線程通信機(jī)制包括信號量、消息隊列、管道等。這些機(jī)制可以幫助實現(xiàn)線程間的協(xié)同工作,提高程序的執(zhí)行效率。線程同步線程同步與通信機(jī)制2205進(jìn)程調(diào)度算法及評價23操作系統(tǒng)中的調(diào)度是指按照某種策略和方法,將處理機(jī)分配給進(jìn)程或線程,以實現(xiàn)多道程序并發(fā)執(zhí)行的過程。調(diào)度定義根據(jù)調(diào)度的發(fā)生時機(jī)和目的,可分為長期調(diào)度(作業(yè)調(diào)度)、中期調(diào)度(內(nèi)存調(diào)度)和短期調(diào)度(進(jìn)程/線程調(diào)度)。調(diào)度類型負(fù)責(zé)實現(xiàn)調(diào)度的程序稱為調(diào)度器,它是操作系統(tǒng)內(nèi)核的一部分。調(diào)度器調(diào)度基本概念和類型24先來先服務(wù)(FCFS)按照進(jìn)程到達(dá)的先后順序進(jìn)行調(diào)度,簡單易實現(xiàn),但可能導(dǎo)致長作業(yè)等待時間過長。根據(jù)進(jìn)程的服務(wù)時間進(jìn)行調(diào)度,服務(wù)時間短的進(jìn)程優(yōu)先得到處理機(jī),有利于提高系統(tǒng)吞吐量,但對長作業(yè)不利。為每個進(jìn)程分配一個優(yōu)先級,優(yōu)先級高的進(jìn)程優(yōu)先得到處理機(jī)??梢愿鶕?jù)進(jìn)程類型、資源需求等因素確定優(yōu)先級。將處理機(jī)時間劃分為固定長度的時間片,每個進(jìn)程輪流執(zhí)行一個時間片。當(dāng)時間片用完或進(jìn)程主動放棄處理機(jī)時,調(diào)度器選擇下一個進(jìn)程執(zhí)行。短作業(yè)優(yōu)先(SJF)優(yōu)先級調(diào)度時間片輪轉(zhuǎn)(RR)常見調(diào)度算法介紹25實時任務(wù)特性實時任務(wù)具有明確的完成時限和可預(yù)測性要求,因此實時系統(tǒng)調(diào)度需要滿足這些特性。速率單調(diào)調(diào)度(RM)根據(jù)任務(wù)的周期進(jìn)行調(diào)度,周期短的任務(wù)優(yōu)先級高。適用于周期性實時任務(wù)。最早截止時間優(yōu)先(EDF)根據(jù)任務(wù)的截止時間進(jìn)行調(diào)度,截止時間早的任務(wù)優(yōu)先級高。適用于非周期性實時任務(wù)。實時系統(tǒng)調(diào)度策略03020126多處理器系統(tǒng)中,可以將處理器分配給不同的進(jìn)程或線程,以提高并行處理能力。常見的分配策略包括靜態(tài)分配、動態(tài)分配和混合分配。多處理器系統(tǒng)中,各個處理器的負(fù)載可能不均衡,需要通過負(fù)載均衡技術(shù)來平衡各個處理器的負(fù)載,提高系統(tǒng)整體性能。常見的負(fù)載均衡算法包括基于任務(wù)的負(fù)載均衡、基于處理器的負(fù)載均衡和基于動態(tài)反饋的負(fù)載均衡等。處理器分配策略負(fù)載均衡多處理器調(diào)度技術(shù)2706總結(jié)回顧與拓展延伸28文件系統(tǒng)的基本概念、文件結(jié)構(gòu)和訪問方法進(jìn)程與線程的概念、狀態(tài)和調(diào)度算法操作系統(tǒng)的基本概念、功能和分類內(nèi)存管理的基本原理、分頁和分段技術(shù)設(shè)備管理的基本原理、I/O控制方式和設(shè)備驅(qū)動程序關(guān)鍵知識點(diǎn)總結(jié)回顧010302040529案例分析1案例分析2案例
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 成人營養(yǎng)膳食方案
- 2025江蘇省沿海開發(fā)集團(tuán)有限公司招聘工作人員(第三批)17人考試筆試模擬試題及答案解析
- 注意力訓(xùn)練匯報課
- 患者未解大便宣教
- 2025年渭南市蒲城縣高新醫(yī)院招聘( 5人)考試筆試備考題庫及答案解析
- 中班音樂雪花課件
- 主題班會活動策劃與實施
- 西南民族大學(xué)2026年人才引進(jìn)考試筆試模擬試題及答案解析
- 2025版神經(jīng)性耳聾引起的病征分析及護(hù)理建議
- 星外來客課件
- 2026屆八省聯(lián)考(T8聯(lián)考)2026屆高三年級12月檢測訓(xùn)練地理試卷(含答案詳解)
- 2025民生銀行總行資產(chǎn)經(jīng)營管理部社會招聘筆試題庫帶答案解析
- 公益性公墓建設(shè)項目竣工驗收報告
- 2026年上海工程技術(shù)大學(xué)單招職業(yè)傾向性測試題庫參考答案詳解
- 2025黑龍江大興安嶺地區(qū)韓家園林業(yè)局工勤崗位人員招聘40人備考考點(diǎn)試題及答案解析
- 2025年陜煤澄合礦業(yè)有限公司招聘(570人)筆試備考題庫附答案解析
- 2025年保密觀知識競賽題庫(含參考答案)
- 2025山西朔州市兩級法院司法輔助人員招聘16人筆試考試備考試題及答案解析
- 危險化學(xué)品應(yīng)急救援員崗位招聘考試試卷及答案
- 物業(yè)餐飲安全協(xié)議書
- 生物統(tǒng)計學(xué)期末復(fù)習(xí)題庫及答案
評論
0/150
提交評論