版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
操作系統(tǒng)作業(yè)(一)1整理ppt作業(yè)#1進(jìn)程切換時(shí)需要保存哪些現(xiàn)場(chǎng)信息?請(qǐng)盡量考慮完全。答案:進(jìn)程切換過(guò)程是進(jìn)程上下文的切換過(guò)程,進(jìn)程上下文是指進(jìn)程運(yùn)行的物理環(huán)境。包括地址映寄存器、通用寄存器、浮點(diǎn)寄存器、SP、PSW(程序狀態(tài)字)、PC(指令計(jì)數(shù)器)、以及打開(kāi)文件表等。
2整理ppt2.由核心返回目態(tài)程序時(shí),進(jìn)程的PSW和PC為何必須用一條機(jī)器指令同時(shí)恢復(fù)?答案:中斷向量中程序狀態(tài)字PSW和指令計(jì)數(shù)器PC的內(nèi)容必須由一條指令同時(shí)恢復(fù),這樣才能保證系統(tǒng)狀態(tài)由管態(tài)轉(zhuǎn)到目態(tài)的同時(shí),控制轉(zhuǎn)到上升進(jìn)程的斷點(diǎn)處繼續(xù)執(zhí)行。如果不同時(shí)恢復(fù),則只能1.先恢復(fù)PSW再恢復(fù)PC,在恢復(fù)PSW后已經(jīng)轉(zhuǎn)到目態(tài),操作系統(tǒng)恢復(fù)PC的使命無(wú)法完成2.先恢復(fù)PC再恢復(fù)PSW,PC改變后轉(zhuǎn)到操作系統(tǒng)另外區(qū)域(因?yàn)镻SW仍在系統(tǒng)狀態(tài)),PSW無(wú)法恢復(fù)3整理ppt作業(yè)#2Considerthefollowingprogram:varblocked:array[0..1]ofboolean;turn:0..1;procedureP(id:integer);beginrepeatblocked[id]:=true;whileturn<>iddobeginwhileblocked[1-id]do{nothing}turn:=idend;<Criticalsection>blocked[id]:=false;<Remainder>untilfalseend;beginblocked[0]:=false;blocked[1]:=false;turn:=0;parbeginP(0);P(1)parend;end.ThisisasoftwaresolutiontothemutualexclusionproblemproposedbyHyman.Findacounterexampletodemonstratethatthissolutionisincorrect.ItisinterestingtonotethateventheCommunicationoftheACMwasfooledonthisone.4整理pptbeginrepeatblocked[id]:=true;whileturn<>iddobeginwhileblocked[1-id]do{nothing}(1)turn:=idend;<Criticalsection>若turn=1,blocked[0]:=true,blocked[1]:=false
,P(0),P(1)并發(fā)執(zhí)行,P(0)先推進(jìn),當(dāng)P(0))執(zhí)行到whileblocked[1-id]時(shí)不滿足條件跳出循環(huán)在(1)處讓出處理機(jī)P(1)推進(jìn),P(1)執(zhí)行whileturn<>id而進(jìn)入臨界區(qū)后讓出處理機(jī),P(0),繼續(xù)也進(jìn)入臨界區(qū),不滿足正確性。5整理ppt作業(yè)#3關(guān)于讀者寫(xiě)者問(wèn)題改進(jìn)算法semaphorer_w_w,mutex,s=1;intcount=0;寫(xiě)者活動(dòng):P(s);P(r_w_w);{寫(xiě)操作};V(r_w_w);V(s);6整理ppt讀者活動(dòng):P(s);P(mutex);count++;if(count==1)p(r_w_w);V(mutex);V(s);{讀操作};P(mutex);count--;if(count==0)v(r_w_w);V(mutex);7整理ppt寫(xiě)者優(yōu)先算法intreadcount,writecount=0;semaphorersem,wsem=1;Semaphorex,y,z=1;8整理ppt
Reader:writer:
p(z)1
p(y)p(rsem)2writecount++p(x)
if(writecount==1)p(rsem)4readcount++v(y)
if(readcount==1)p(wsem)
p(wsem)5
v(x)
<write>v(rsem)3v(wsem)v(z)
p(y)<read>
writecount--p(x)
if(writecount==0)readcount--v(rsem)6
if(readcount==0)v(wsem)7v(y)
v(x)9整理ppt作業(yè)#4設(shè)系統(tǒng)有5臺(tái)類(lèi)型相同的打印機(jī),依次編號(hào)為1-5。又設(shè)系統(tǒng)有n個(gè)使用打印機(jī)的進(jìn)程,使用前申請(qǐng),使用后釋放。每個(gè)進(jìn)程都有一個(gè)進(jìn)程標(biāo)識(shí),用于區(qū)分不同的進(jìn)程。每個(gè)進(jìn)程有一個(gè)優(yōu)先數(shù),不同進(jìn)程的優(yōu)先數(shù)各異。當(dāng)有多個(gè)進(jìn)程同時(shí)申請(qǐng)打印機(jī)時(shí),按照進(jìn)程優(yōu)先數(shù)由高到低的次序?qū)嵤┓峙?。試用信?hào)量和PV操作實(shí)現(xiàn)對(duì)打印機(jī)資源的管理,即要求編寫(xiě)如下函數(shù)和過(guò)程。10整理ppt(1)函數(shù)require(pid,pri):申請(qǐng)一臺(tái)打印機(jī)。參數(shù)pid為進(jìn)程標(biāo)識(shí),其值為1-n之間的一個(gè)整數(shù);pri為進(jìn)程優(yōu)先數(shù),其值為正整數(shù)。函數(shù)返回值為所申請(qǐng)到的打印機(jī)的編號(hào),其值為1-5的一個(gè)整數(shù)。(2)過(guò)程return(prnt):釋放一臺(tái)打印機(jī)。參數(shù)prnt為所釋放的打印機(jī)的編號(hào),其值為1-5的一個(gè)整數(shù)。11整理pptintlp[5];(initialvalueis1)intcount=5;intp[N];(initialvalueis-1)semaphoreq[N];(initialvalueis0)semaphoremutex=1;12整理pptintrequire(intpid,intpri);{p(mutex);L:if(count==0){pri[pid]==pri;v(mutex)P(q[pid]);gotoL;}count--;inti;for(i=0;i<5;i++)if(lp[i]!=0){lp[i]=0;return(i);}V(mutex);}}
13整理pptintreturn(intprnt){P(mutex);lp[prnt]=1;count++;intmax,i,j;max=-1;for(j=0;j<N;j++)if(p[j]>max){max=p[j];i=j;}if(max==-1)V(mutex);else{p[i]=-1;v(q[i];}}14整理ppt2.Hoare管程實(shí)現(xiàn)SCAN算法Procedureupscan;VarI:0..200;BeginI:=headpos;
flag:=true;While(I<=199)and(count[I]=0)DoI:=I+1;IfI<=199ThenBegincount[I]:=count[I]-1;signal(cylinder[I])
flag=false;EndEnd;15整理pptProceduredownscan;VarI:-1..199;BeginI:=headpos;
flag:=true;While(I>=0)and(count[I]=0)DoI:=I-1;IfI>=0ThenBegincount[I]:=count[I]-1;signal(cylinder[I])
flag=false;EndEnd;16整理pptProcedurerelease;Beginbusy:=false;Ifdirection=upThenBeginupscan;
ifflag=truethendownscanEndElseBegindownscan;
ifflag=truethen
upscanEndEnd;17整理pptHansen管程中signal操作在喚醒條件隊(duì)列的一個(gè)進(jìn)程后執(zhí)行此操作的進(jìn)程離開(kāi)管程,在本例中signal操作在release中的upscan和downscan中執(zhí)行。如下:ProcedurereleaseBeginIfdirection=upThenBeginupscan;downscanEndElseBegindownscan;upscanEndEnd;18整理ppt當(dāng)在upscan或downscan中執(zhí)行signal操作時(shí),進(jìn)程就離開(kāi)了管城即結(jié)束了release,不會(huì)去執(zhí)行upscan或downscan后面的downscan或upscan。但是在Hoare管程中當(dāng)進(jìn)程執(zhí)行signal操作時(shí),不僅會(huì)喚醒條件隊(duì)列中的一個(gè)進(jìn)程,同時(shí)執(zhí)行此操作的進(jìn)程并不離開(kāi)管程而是在管程中的緊急隊(duì)列排隊(duì),若還沿用Hanson管程的代碼會(huì)出現(xiàn)以下情況。19整理ppt若進(jìn)程在upscan中執(zhí)行signal操作后進(jìn)入緊急隊(duì)列,當(dāng)進(jìn)程在緊急隊(duì)列被喚醒后就會(huì)繼續(xù)執(zhí)行release中的后續(xù)代碼即執(zhí)行downscan,這不符合程序的語(yǔ)義,一個(gè)進(jìn)程一次只能釋放一個(gè)資源同時(shí)也就只能喚醒一個(gè)進(jìn)程,若進(jìn)程繼續(xù)執(zhí)行downscan會(huì)執(zhí)行下一個(gè)喚醒動(dòng)作。20整理ppt讀者/寫(xiě)者問(wèn)題(寫(xiě)者優(yōu)先)1.用Ada語(yǔ)言中的會(huì)合解決讀者/寫(xiě)者問(wèn)題,要求寫(xiě)者優(yōu)先。即編寫(xiě)一個(gè)任務(wù),其中有如下四個(gè)入口:
start_read;finish_read,start_write,finish_write.
提示:可以使用嵌套的accept語(yǔ)句。21整理ppt讀者-寫(xiě)者問(wèn)題Taskreaders_writersis
entrystart_read;
entryfinish_read;
entrystart_write;
entryfinish_write;Endreaders_writes;
Task
bodyreaders_writersis;
Varread_count,write_count:integer;beginread_count:=0;write_count:=0;22整理ppt讀者-寫(xiě)者問(wèn)題
Loop
select
whenwrite_count=0=>
acceptstart_readdoread_count:=read_count+1;
endstart_read
or
whenread_count>0=>
acceptfinish_readdoread_count:=read_count-1;
endfinish_read;
or
23整理ppt讀者-寫(xiě)者問(wèn)題
whenwrite_cou
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)衛(wèi)生宣教制度
- 衛(wèi)生室聯(lián)合用藥管理制度
- 鎮(zhèn)鄉(xiāng)中心校食品衛(wèi)生制度
- 小學(xué)德育衛(wèi)生制度
- 衛(wèi)生院信息反饋制度
- 衛(wèi)生站院感巡查制度
- 衛(wèi)生系統(tǒng)雙報(bào)告制度
- 鄉(xiāng)鎮(zhèn)衛(wèi)生院重精工作制度
- 熟制品衛(wèi)生管理制度
- 焊錫職衛(wèi)生管理制度
- 2023-2024學(xué)年廣東省茂名市高一(上)期末數(shù)學(xué)試卷(含答案)
- 《課堂管理的技巧》課件
- 醫(yī)院培訓(xùn)課件:《頸椎病》
- 佛山市離婚協(xié)議書(shū)范本
- HG+20231-2014化學(xué)工業(yè)建設(shè)項(xiàng)目試車(chē)規(guī)范
- 工地春節(jié)停工復(fù)工計(jì)劃安排方案
- 連接員題庫(kù)(全)題庫(kù)(855道)
- 單元學(xué)習(xí)項(xiàng)目序列化-選擇性必修下冊(cè)第三單元為例(主題匯報(bào)課件)-統(tǒng)編高中語(yǔ)文教材單元項(xiàng)目式序列化研究
- 黑布林英語(yǔ)漁夫和他的靈魂
- 電站組件清洗措施及方案
- 冀教版五年級(jí)英語(yǔ)下冊(cè)全冊(cè)同步練習(xí)一課一練
評(píng)論
0/150
提交評(píng)論