OS4(同步軟硬件方法)_第1頁
OS4(同步軟硬件方法)_第2頁
OS4(同步軟硬件方法)_第3頁
OS4(同步軟硬件方法)_第4頁
OS4(同步軟硬件方法)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、操作系統(tǒng)、3.3進程同步、3.3.1進程同步的基本概念3.3.2信號機3.3經(jīng)典進程同步問題3.3.4進程間通信、操作系統(tǒng)、正常運行、反向停止、駕駛、售票、車門、關(guān)門、司機合作與競爭、合作、操作系統(tǒng)、相互合作、資源競爭、駕駛員和售票員、多個打印者、計算者和打印者、流程之間存在兩種關(guān)系,協(xié)調(diào)這些關(guān)系的流程流程流程流程的同步、操作系統(tǒng)、競爭者關(guān)系:流程同步的主要挑戰(zhàn):確保所有流程能夠相互排斥地訪問臨界資源合作關(guān)系:3.3.1流程同步的基本概念、操作系統(tǒng)、計算流程、打印流程、將計算結(jié)果發(fā)送到Buffer、Buffer中的數(shù)量、Buffer、互斥、互斥、已完成數(shù)據(jù)計算、將打印流程與計算流程同步、操作系

2、統(tǒng)、1。對于重要資源、計算機的某些硬件和軟件資源,多個進程訪問(重要的是寫入或修改)時,一次只能由一個進程使用的資源必須相互排斥,稱為重要資源。打印機、內(nèi)存變量、指針、陣列等是重要資源。生活示例:電話等。重要資源必須以互斥的方式共享資源。操作系統(tǒng)、2、關(guān)鍵區(qū)域、從每個進程訪問關(guān)鍵資源的程序段稱為關(guān)鍵區(qū)域。操作系統(tǒng)、訪問關(guān)鍵資源的循環(huán)過程、Until false、Entry section、Critical section、Exit section、Remainder section,Repeat,轉(zhuǎn)到zone:在進入critical zone之前驗證是否可以進入critical zone的代碼

3、。如果可以進入“臨界區(qū)域”,則通常設(shè)置相應(yīng)的“臨界區(qū)域訪問中”標(biāo)志。臨界區(qū)域:進程訪問臨界資源的代碼片段;終止區(qū)域:用于清除訪問過程中的臨界區(qū)域標(biāo)志。剩馀區(qū)域:代碼的剩馀部分。操作系統(tǒng)、入口、臨界區(qū)域、關(guān)閉區(qū)域、入口區(qū)域、臨界區(qū)域、關(guān)閉區(qū)域、關(guān)閉區(qū)域、.進程1、進程2、訪問區(qū)域、終止區(qū)域部分的角色、操作系統(tǒng)、3、同步機制必須遵守的指令、空閑狀態(tài):其他進程不在重要區(qū)域;使用中:現(xiàn)有處理位于臨界區(qū)域。有限的等待:等待進入臨界區(qū)域的過程不能死亡。允許等待:不能進入臨界區(qū)域的進程、必須釋放CPU的進程(例如,切換到阻塞狀態(tài))、操作系統(tǒng)、4、進程互斥軟件方法(補充)、算法1:強制循環(huán)(單標(biāo)志)、設(shè)置公用

4、整數(shù)變量turn:說明可以進入臨界區(qū)域的進程標(biāo)識進入修改結(jié)束區(qū)域中的turn值:在流程Pi結(jié)束后,將turn更改為j。缺點:不考慮進程的實際需要,強制返回臨界區(qū)域。發(fā)生資源利用率下降:在Pj使用臨界區(qū)域之前,Pi無法再次使用臨界區(qū)域。有兩個進程Pi,Pj。其中Pi如下圖所示。操作系統(tǒng),算法2:鎖定變量方法(雙標(biāo)志,首次確定),優(yōu)點:不交替進入,可以繼續(xù)使用缺點。Pi和Pj可以同時進入臨界區(qū)域。按以下順序運行時,pi pj pj也將同時進入:設(shè)置標(biāo)志數(shù)組標(biāo)志flag:說明進程是否在臨界區(qū)域,初始值為FALSE。檢查后修正:檢查其他處理是否在重要區(qū)域中,如果不在,則修正重要區(qū)域中處理的旗標(biāo)。在出口

5、區(qū)域中修改此流程的標(biāo)志。操作系統(tǒng)、算法3:鎖定變量方法(雙標(biāo)志、后檢查);缺點:Pi和Pj都可能無法進入臨界區(qū)域。如果按以下順序運行,將無法進入限制區(qū)域(Pi Pj Pi Pj):與算法2相似,2的區(qū)別在于修改后檢查。防止兩個進程同時進入臨界區(qū)域。操作系統(tǒng)、算法4(Petersons Algorithm):算法1和算法3相結(jié)合的初始修正、后確認、等待后修正、正確的算法turn=j;可進入流程(當(dāng)標(biāo)志也修改時)修改入口區(qū)域后檢查和并發(fā)修改順序:檢查相對flag如果沒有臨界區(qū)域,則進入空閑狀態(tài),則輸入或turn檢查:如果保存了更晚的分配值,則以后的流程將等待;更快的流程將先等待,然后再進入。OS,

6、5,Test-and-Set命令,讀取互斥硬件方法(補充)、標(biāo)志,然后將其設(shè)置為true boolean ts(boolean * lock)boolean old;Old=* lock* lock=TRUEReturn oldLock表示資源的兩種狀態(tài)。TRUE表示占用,F(xiàn)ALSE表示空閑,充分利用軟件方法,非常有限,實施太復(fù)雜,需要高編程技術(shù)(例如不適用于多個過程)??梢允褂锰囟ǖ挠布钤趩蝹€命令中完成讀寫操作,因此不會中斷讀寫操作。操作系統(tǒng)、通過TS的流程互不相容、通過TS的流程互不相容:為每個關(guān)鍵資源設(shè)置公用布爾變量lock,初始值為FALSE時在輸入?yún)^(qū)域使用TS進行檢查:在流程處于

7、臨界狀態(tài)時重復(fù)檢查。檢查通過,直到其他進程終止。boolean ts(boolean * lock)boolean old;Old=* lock* lock=TRUEReturn old交換、操作系統(tǒng)、Swap命令(或Exchange命令)和兩個單詞(字節(jié))的內(nèi)容。void SWAP(int *a,int * b)int temp;temp=* a;* a=* b;* b=temp、操作系統(tǒng)、通過Swap命令互斥算法、通過Swap互斥進程:每個臨界資源設(shè)置公共布爾變量lock,初始值為FALSE。每個進程包含專用布爾變量key、voidswap (int * a,int * b) int temp、Temp=* a;* a=* b;* b=temp,操作系統(tǒng)、硬件方法的優(yōu)點和缺點,適合多進程,在單處理器或多處理器上簡單,其準確性驗證可以跨多個關(guān)鍵區(qū)域支

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論