版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
進(jìn)程:概念,特征,進(jìn)程控制塊,狀態(tài)及其轉(zhuǎn)換,進(jìn)程與程序的比較進(jìn)程的同步與互斥:同步和互斥,臨界資源和臨界區(qū),信號(hào)量機(jī)制線程管程第一頁(yè),共19頁(yè)。第一頁(yè),共19頁(yè)。2.下述哪些情況是對(duì)的?(1)進(jìn)程由自己創(chuàng)建;
(2)進(jìn)程由自己阻塞;
(3)進(jìn)程由自己掛起;
(4)進(jìn)程由自己解除掛起;
(5)進(jìn)程由自己?jiǎn)拘眩?/p>
(6)進(jìn)程由自己撤消。1.為什么說(shuō)PCB是進(jìn)程存在的唯一標(biāo)志?第二頁(yè),共19頁(yè)。第二頁(yè),共19頁(yè)。3.進(jìn)程和線程的關(guān)系是什么?線程是由進(jìn)程建立的,是嗎?答:進(jìn)程和線程的關(guān)系是:線程是進(jìn)程內(nèi)的一個(gè)相對(duì)獨(dú)立的可調(diào)度的執(zhí)行單元。第三頁(yè),共19頁(yè)。第三頁(yè),共19頁(yè)。進(jìn)程在創(chuàng)建時(shí),系統(tǒng)至少需要同時(shí)為該進(jìn)程創(chuàng)建一個(gè)線程,即進(jìn)程中至少要有一個(gè)或一個(gè)以上的線程,否則進(jìn)程無(wú)法被調(diào)度執(zhí)行。進(jìn)程是被分給并擁有資源的基本單元,同一進(jìn)程內(nèi)的多個(gè)線程共享該資源,但線程并不擁有該資源只是使用它們。線程不是由進(jìn)程建立的,因?yàn)樾枰獣r(shí)線程可以創(chuàng)建其他線程。第四頁(yè),共19頁(yè)。第四頁(yè),共19頁(yè)。4.下面是兩個(gè)并發(fā)執(zhí)行的程序它們能正確執(zhí)行嗎?若不能正確執(zhí)行請(qǐng)舉例說(shuō)明并改正之(X是公共變量)cobegin
varx:integer;
proceccp1(進(jìn)程p1)
vary,z:integer;
begin
x:=1;
y:=0;
ifx>=1theny:=y+1
z:=y
endproceccp2
vart,u:integer;
begin
x:=0;
t:=0;
ifx<1thent:=t+z;
u:=t
end
coend第五頁(yè),共19頁(yè)。第五頁(yè),共19頁(yè)。修改讀者寫(xiě)者問(wèn)題的算法,使之對(duì)寫(xiě)者優(yōu)先,即一旦有寫(xiě)者到達(dá),后續(xù)的讀者必須必須等待,無(wú)論是否有讀者在讀。有兩組并發(fā)進(jìn)程:讀者和寫(xiě)者,共享一組數(shù)據(jù)區(qū)要求:允許多個(gè)讀者同時(shí)執(zhí)行讀操作不允許讀者、寫(xiě)者同時(shí)操作不允許多個(gè)寫(xiě)者同時(shí)操作P(wait)、V(signal)操作(1)第六頁(yè),共19頁(yè)。第六頁(yè),共19頁(yè)。讀者操作(Reader):是否有寫(xiě)者正在寫(xiě)或請(qǐng)求寫(xiě)?讀者數(shù)+1;判斷讀者數(shù),為1則申請(qǐng)數(shù)據(jù)區(qū);釋放寫(xiě)信號(hào);讀數(shù)據(jù);讀者數(shù)-1判斷讀者數(shù),為0則釋放數(shù)據(jù)區(qū);寫(xiě)者操作(Writer):寫(xiě)者數(shù)+1;判斷寫(xiě)者數(shù),為1則申請(qǐng)寫(xiě);申請(qǐng)數(shù)據(jù)區(qū);寫(xiě)數(shù)據(jù);釋放數(shù)據(jù)區(qū);寫(xiě)者數(shù)-1;判斷寫(xiě)者數(shù),為0則釋放寫(xiě);全局變量:readcount(讀者數(shù)),0,writecount(寫(xiě)者數(shù)),0信號(hào)量:S1(資源數(shù)據(jù)區(qū)),1; Read(臨界資源readcount),1;Write(臨界資源writecount),1 W(寫(xiě)信號(hào)量),1;第七頁(yè),共19頁(yè)。第七頁(yè),共19頁(yè)。讀者操作(Reader):是否有寫(xiě)者正在寫(xiě)或請(qǐng)求寫(xiě)?讀者數(shù)+1;判斷讀者數(shù),為1則申請(qǐng)數(shù)據(jù)區(qū);釋放寫(xiě)信號(hào);讀數(shù)據(jù);讀者數(shù)-1判斷讀者數(shù),為0則釋放數(shù)據(jù)區(qū);寫(xiě)者操作(Writer):寫(xiě)者數(shù)+1;判斷寫(xiě)者數(shù),為1則申請(qǐng)寫(xiě);申請(qǐng)數(shù)據(jù)區(qū);寫(xiě)數(shù)據(jù);釋放數(shù)據(jù)區(qū);寫(xiě)者數(shù)-1;判斷寫(xiě)者數(shù),為0則釋放寫(xiě);Reader: P(W);P(Read); ifreadcount=0thenP(S1);readcount:=readcount+1;V(Read); V(W);readfile;P(Read);readcount:=readcount-1;ifreadcount=0thenV(S1);V(Read);全局變量:readcount(讀者數(shù)),0,writecount(寫(xiě)者數(shù)),0信號(hào)量:S1(資源數(shù)據(jù)區(qū)),1; Read(臨界資源readcount),1;Write(臨界資源writecount),1 W(寫(xiě)信號(hào)量),1;第八頁(yè),共19頁(yè)。第八頁(yè),共19頁(yè)。讀者操作(Reader):是否有寫(xiě)者正在寫(xiě)或請(qǐng)求寫(xiě)?讀者數(shù)+1;判斷讀者數(shù),為1則申請(qǐng)數(shù)據(jù)區(qū);允許寫(xiě)者申請(qǐng)寫(xiě);讀數(shù)據(jù);讀者數(shù)-1判斷讀者數(shù),為0則釋放數(shù)據(jù)區(qū);寫(xiě)者操作(Writer):寫(xiě)者數(shù)+1;判斷寫(xiě)者數(shù),為1則申請(qǐng)寫(xiě);申請(qǐng)數(shù)據(jù)區(qū);寫(xiě)數(shù)據(jù);釋放數(shù)據(jù)區(qū);寫(xiě)者數(shù)-1;判斷寫(xiě)者數(shù),為0則釋放寫(xiě);Writer:P(Write); ifwritecount=0thenP(W);writecount:=writecount+1;V(Write); P(S1);writefile;V(S1);P(Write);writecount:=writecount-1;ifwritecount=0thenV(W);V(Write);全局變量:readcount(讀者數(shù)),0,writecount(寫(xiě)者數(shù)),0信號(hào)量:S1(資源數(shù)據(jù)區(qū)),1; Read(臨界資源readcount),1;Write(臨界資源writecount),1 W(寫(xiě)信號(hào)量),1;第九頁(yè),共19頁(yè)。第九頁(yè),共19頁(yè)。Writer:P(Write); ifwritecount=0thenP(W);writecount:=writecount+1;V(Write); P(S1);writefile;V(S1);P(Write);writecount:=writecount-1;ifwritecount=0thenV(W);V(Write);全局變量:readcount(讀者數(shù)),0,writecount(寫(xiě)者數(shù)),0信號(hào)量:S1(資源數(shù)據(jù)區(qū)),1; Read(臨界資源readcount),1;Write(臨界資源writecount),1 W(寫(xiě)信號(hào)量),1;Reader: P(W);P(Read); ifreadcount=0thenP(S1);readcount:=readcount+1;V(Read); V(W);readfile;P(Read);readcount:=readcount-1;ifreadcount=0thenV(S1);V(Read);讀者1讀者2寫(xiě)者1W阻塞隊(duì)列第十頁(yè),共19頁(yè)。第十頁(yè),共19頁(yè)。Writer:P(Write); ifwritecount=0thenP(W);writecount:=writecount+1;V(Write); P(S1);writefile;V(S1);P(Write);writecount:=writecount-1;ifwritecount=0thenV(W);V(Write);全局變量:readcount(讀者數(shù)),0,writecount(寫(xiě)者數(shù)),0信號(hào)量:S1(資源數(shù)據(jù)區(qū)),1; Read(臨界資源readcount),1;Write(臨界資源writecount),1 W(寫(xiě)信號(hào)量),1;R(讀信號(hào)量),1Reader: P(W);P(Read); ifreadcount=0thenP(S1);readcount:=readcount+1;V(Read); V(W);readfile;P(Read);readcount:=readcount-1;ifreadcount=0thenV(S1);V(Read);P(R);V(R);第十一頁(yè),共19頁(yè)。第十一頁(yè),共19頁(yè)。P(wait)、V(signal)操作(2)如圖,試用信號(hào)量實(shí)現(xiàn)這7個(gè)進(jìn)程的同步:要求詳細(xì)解釋為進(jìn)程圖設(shè)置的每一個(gè)同步信號(hào)量的具體涵義及初值,然后為進(jìn)程圖中的每一個(gè)進(jìn)程設(shè)計(jì)P、V操作;
P1P2P5P6P3P4P7第十二頁(yè),共19頁(yè)。第十二頁(yè),共19頁(yè)。P(wait)、V(signal)操作(3)用P、V操作解決下圖之同步問(wèn)題:get進(jìn)程負(fù)責(zé)往雙緩沖區(qū)S中輸入數(shù)據(jù),copy進(jìn)程負(fù)責(zé)將雙緩沖區(qū)S中的數(shù)據(jù)復(fù)制到雙緩沖區(qū)T,put進(jìn)程負(fù)責(zé)從雙緩中區(qū)T中取出數(shù)據(jù)用于處理。提示:雙緩沖區(qū),代表有兩個(gè)緩沖區(qū),可以存儲(chǔ)兩個(gè)數(shù)據(jù)copyputSTget第十三頁(yè),共19頁(yè)。第十三頁(yè),共19頁(yè)。四個(gè)進(jìn)程A、B、C、D都要讀一個(gè)共享文件F,系統(tǒng)允許多個(gè)進(jìn)程同時(shí)讀文件F,但限制是:進(jìn)程A和C不能同時(shí)讀文件F,進(jìn)程B和D也不能同時(shí)讀文件F。請(qǐng)回答下面的問(wèn)題:(1)應(yīng)定義的信號(hào)量及初值:(2)在程序中填上適當(dāng)?shù)腜、V操作,以保證它們能正確并發(fā)工作:A()B()C()D(){{{{[1];[3];[5];[7];readF;readF;readF;readF;[2];[4];[6];[8];}}}}P(wait)、V(signal)操作(4)第十四頁(yè),共19頁(yè)。第十四頁(yè),共19頁(yè)。P(wait)、V(signal)操作(5)桌上有一空盤(pán),最多允許放一只水果。爸爸可向盤(pán)中放一個(gè)蘋(píng)果,媽媽可向盤(pán)中放一個(gè)桔子,兒子專(zhuān)等吃盤(pán)中的桔子,女兒專(zhuān)等吃蘋(píng)果。試用P、V操作實(shí)現(xiàn)爸爸、媽媽、兒子、女兒四個(gè)并發(fā)進(jìn)程的同步。第十五頁(yè),共19頁(yè)。第十五頁(yè),共19頁(yè)。5.設(shè)有n個(gè)進(jìn)程共享一互斥段對(duì)如下兩種情況1)每次只允許一個(gè)進(jìn)程進(jìn)入互斥段;2)最多允許M個(gè)進(jìn)程(M<N)同時(shí)進(jìn)入互斥段;所采用信號(hào)量是否相同?信號(hào)量值的變化范圍如何?第十六頁(yè),共19頁(yè)。第十六頁(yè),共19頁(yè)。P(Wait)、V(Signal)操作動(dòng)物園的飼養(yǎng)員喂黑熊,飼養(yǎng)員蘋(píng)果到盆中,黑熊從盆中抓走蘋(píng)果吃掉,盆中只能放一個(gè)蘋(píng)果。分別用飼養(yǎng)員進(jìn)程、黑熊進(jìn)程模擬飼養(yǎng)員喂黑熊的過(guò)程,請(qǐng)用P、V操作(即wait和signal)利用信號(hào)量機(jī)制實(shí)現(xiàn)這兩個(gè)進(jìn)程同步第十七頁(yè),共19頁(yè)。第十七頁(yè),共19頁(yè)。P(wait)、V(signal)操作如圖所示,四個(gè)進(jìn)程和四個(gè)信箱,進(jìn)程間借助相鄰信箱傳遞消息,即Pi每次從Mi中取一條消息,經(jīng)加工后送入Mi+1,其中Mi(i=0~3)分別可存放3,3,2,2個(gè)消息。初始狀態(tài)下,M0裝了3條消息,其余為空。試以P、V操作為工具,寫(xiě)出Pi(i=0~3)的同步工作算法。
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人醫(yī)療貸款合同
- 空調(diào)系統(tǒng)故障維修合同
- 2024年物流公司轉(zhuǎn)讓合同范本
- 湖南省七年級(jí)上學(xué)期語(yǔ)文期中試卷9套【附答案】
- 業(yè)主/咨詢(xún)工程師標(biāo)準(zhǔn)服務(wù)協(xié)議書(shū)樣本
- 2024自己和單位簽的勞動(dòng)合同自己沒(méi)有保留
- 2024家具買(mǎi)賣(mài)的合同模板
- 無(wú)財(cái)產(chǎn)分割離婚協(xié)議書(shū)2024年模板
- 2024年購(gòu)銷(xiāo)青年雞合同范本
- 國(guó)際技術(shù)引進(jìn)代理合同專(zhuān)業(yè)版
- 【初中化學(xué)】二氧化碳的實(shí)驗(yàn)室制取課件-2024-2025學(xué)年九年級(jí)化學(xué)人教版上冊(cè)
- 2024年湖北省公務(wù)員考試《行測(cè)》真題及答案解析
- 第4章《一元一次方程》-2024-2025學(xué)年七年級(jí)數(shù)學(xué)上冊(cè)單元測(cè)試卷(蘇科版2024新教材)
- DB3502T 148-2024中小型水庫(kù)生產(chǎn)運(yùn)行標(biāo)準(zhǔn)化管理規(guī)程
- 公司組織機(jī)構(gòu)管理制度
- 預(yù)習(xí)-21《蟬》導(dǎo)學(xué)案
- GB/T 44672-2024體外診斷醫(yī)療器械建立校準(zhǔn)品和人體樣品賦值計(jì)量溯源性的國(guó)際一致化方案的要求
- 新人教版七年級(jí)上冊(cè)生物全冊(cè)知識(shí)點(diǎn)(期末復(fù)習(xí)用)
- 2023烏魯木齊法院書(shū)記員真題
- 金屬切削原理與刀具夏云才課后參考答案
- 2024年江蘇南通市如皋市有線如皋分公司招聘筆試參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論