




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
操作系統(tǒng)習題講解一、進程概念
二、進程同步和互斥OperatingSystemConcepts進程概念(一)問題:如果系統(tǒng)中有N個進程,運行進程最多幾個,最少幾個?就緒進程最多幾個,最少幾個?等待進程最多幾個,最少幾個?OperatingSystemConcepts解答:運行進程最多1個,最少0個; 就緒進程最多N-1個,最少0個; 等待進程最多N個,最少0個;OperatingSystemConcepts進程同步和互斥(一)問題一:用P.V操作解決下圖之同步問題getcopyputfstgOperatingSystemConcepts一個數(shù)據(jù)上的操作順序:get-copy-putcpcgpcgpgGet不能向“滿”的S中放;Copy不能從“空”的S中?。徊荒芟颉皾M”的T中放;Put不能“空”的T中取OperatingSystemConcepts(同步)信號量:{實際上也起到互斥作用}
S_Empty,T_Empty,{初值為1}
S_Full,T_Full; {初值為0}Get: BeginRepeatP(S_Empty)T_get_S();V(S_Full);Untilfalse;End Copy:BeginRepeatP(S_Full);P(T_Empty);S_copy_T();V(T_Full);V(S_Empty);Untilfalse;EndPut:BeginRepeatP(T_Full);T_put_G();V(T_Empty);Untilfalse;EndOperatingSystemConcepts進程同步和互斥(二)問題:用P.V操作解決下面問題司機進程:REPEAT啟動車輛正常駕駛到站停車UNTIL…售票員進程:REPEAT關(guān)門售票開門UNTIL…OperatingSystemConcepts信號量:
S_Door, {初值為0}
S_Stop; {初值為0}司機進程: BeginRepeatP(S_Door);
啟動;駕駛;停車;
V(S_Stop);Untilfalse;End 乘務員進程:BeginRepeat
關(guān)門;
V(S_Door);
售票;
P(S_Stop);
開門;
Untilfalse;End 同步要求:先關(guān)門,后開車; 先停車,后開門OperatingSystemConcepts第二類讀者寫者問題(寫者優(yōu)先)1)共享讀2)互斥寫、讀寫互斥3)寫者優(yōu)先于讀者(一旦有寫者,則后續(xù)讀者必須等待,喚醒時優(yōu)先考慮寫者)進程同步和互斥(三)OperatingSystemConceptsVar
mutex:semaphore;{互斥信號量,初值為1}
R:semaphore;{對應讀者等待隊列,初值為0}
W:semaphore;{對應寫者等待隊列,初值為0}{一般變量:}
Writing:Boolean;{初值false,有寫者正在寫}
rc :integer;{初值0,共享讀的讀者數(shù)}
rq :integer;{初值0,等待隊列中讀者數(shù)}
wq :integer;{初值0,等待隊列中寫者數(shù)}OperatingSystemConcepts讀者進程BeginRepeat
P(mutex); If(WritingORwq<>0) ThenBegin
rq:=rq+1;
V(mutex); P(R);
P(mutex);{resume} End;
rc:=rc+1;
V(mutex); Read();OperatingSystemConcepts
P(mutex);
rc:=rc-1; If(rc=0ANDwq<>0) ThenBegin
wq:=wq-1; Writing:=true;
V(mutex); V(W); End; ElseV(mutex);UntilfalseEndOperatingSystemConcepts寫者進程BeginRepeat
P(mutex); If(WritingORrc>0) ThenBegin
wq:=wq+1;
V(mutex); P(W); End; ElseBegin Writing:=true; V(mutex); Write();
OperatingSystemConcepts
P(mutex); If(wq<>0) ThenBegin
wq:=wq-1;
V(mutex); V(W); End ElseOperatingSystemConcepts
If(rq>0) ThenBegin Writing:=false; While(rq>0) Begin
rq:=rq-1; V(R) ; End End ElseBegin Writing:=false;
V(mutex); End EndUntilfalseOperatingSystemConcepts理發(fā)師問題:
理發(fā)店里有一位理發(fā)師,一把理發(fā)椅和N把供等候理發(fā)的顧客坐的椅子.如果沒有顧客,則理發(fā)師便在理發(fā)椅上睡覺.當一個顧客到來時,他必須先喚醒理發(fā)師.如果顧客到來時理發(fā)師正在理發(fā),則如果有空椅子,可坐下來等;否則離開。進程同步和互斥(四)OperatingSystemConcepts
Var
Sn:semaphore;{位子數(shù)目,初值為n}S:semaphore;{理發(fā)師睡覺,初值為0}
mutex:semaphore;{初值為1} 顧客進程i:P(Sn);{門外觀望}P(mutex);進門;V(mutex);V(S);等候;理發(fā);V(Sn)P(mutex);出門;V(mutex);OperatingSystemConcepts理發(fā)師進程:RepeatP(S);
P(mutex);
叫人理發(fā);
V(mutex);
理發(fā);Untilfalse;OperatingSystemConcepts問題: 推廣讀寫者問題中的消息緩沖處理。消息緩沖區(qū)為k個,有m個發(fā)送進程,n個接收進程,每個接收進程對發(fā)送來的消息都必須取一次進程同步和互斥(五)OperatingSystemConcepts解題思路:發(fā)送者發(fā)送消息后喚醒所有的接收者;所有的接收者都接收后空出緩沖區(qū);接收者接收時要修改接收次數(shù);接收計數(shù)和緩沖區(qū)的指針為臨界資源,訪問時要互斥。OperatingSystemConcepts
TypeBufferType=Record
msg:MessageType; count:integer;
mutex:semaphore;{初值為1}
empty:semaphore;{初值為1}
full:array[1..n]ofsemaphore; {初值全為0}
EndVar
mutex:semaphore;{初值為1}
s:integer; {初值為0}
buff:array[0..k-1]ofBufferType;{k是緩沖區(qū)大??;n是接收進程個數(shù)}{m是發(fā)送進程個數(shù),通過s進行“寫互斥”}OperatingSystemConcepts
ProcedureSender_i(i:integer);{i為發(fā)送進程的標號}Var s0,j:integer;BeginRepeat
P(mutex);s0:=s;s:=(s+1)modk;
V(mutex);P(buff[s0].empty);
在buff[s0].msg中寫信息;
P(buff[s0].mutex);buff[s0].count:=n;V(buff[s0].mutex);For(j:=1tondo)V(buff[s0].full[j]);Untilfalse;EndOperatingSystemConceptsProcedureRecvr(i:integer);{i為接收進程的標號}Var j:integer;Beginj:=0;RepeatP(buff[j].full[i]);
從buff[j].msg中讀信息;
P(buff[j].mutex
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 森林生態(tài)旅游服務質(zhì)量控制考核試卷
- 礦物加工自動化控制與放射性礦選效率提升考核試卷
- 電子測量儀器的光纖傳感器技術(shù)考核試卷
- 自動售貨機行業(yè)市場風險分析考核試卷
- 焊接技術(shù)在大型雕塑制作中的應用考核試卷
- 2025鷗黎(上海)信息科技有限公司招聘3人筆試參考題庫附帶答案詳解
- 繪圖計算及測量儀器制造續(xù)考核試卷
- 硅礦的冶煉加工考核試卷
- 《2025合同文件遺失應急處理方案》
- 漢中焊工實操考試試題及答案
- DB3301∕T 0451-2024 醫(yī)學美容機構(gòu)電子病歷系統(tǒng)技術(shù)規(guī)范
- 《大國浮沉500年:經(jīng)濟和地理背后的世界史》記錄
- 水工維護初級工技能鑒定理論考試題庫(含答案)
- 運維項目進度計劃
- 商場中央空調(diào)租賃協(xié)議模板
- 十八項核心制度
- 浙江省杭州市2023-2024學年六年級下學期期中模擬測試數(shù)學試卷(人教版)
- 國家開放大學《Python語言基礎》實驗4:條件分支結(jié)構(gòu)基本應用參考答案
- OTA代運營協(xié)議文檔
- 內(nèi)分泌科常見急危重癥搶救流程
- 污染源權(quán)重分析報告
評論
0/150
提交評論