




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、進(jìn)程同步模擬實(shí)驗(yàn)姓名學(xué)號(hào)實(shí)驗(yàn)日期成績(jī)?cè)簞e班級(jí)實(shí)驗(yàn)場(chǎng)地實(shí)驗(yàn)課程名稱計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)項(xiàng)目名稱進(jìn)程同步模擬實(shí)驗(yàn)對(duì)于每一個(gè)實(shí)驗(yàn)項(xiàng)目,實(shí)驗(yàn)報(bào)告(含預(yù)習(xí))一般應(yīng)包含以下內(nèi)容:第一部分一一預(yù)習(xí)后的書面匯報(bào)。其主要內(nèi)容應(yīng)包含:*1、實(shí)驗(yàn)?zāi)康模?*2、實(shí)驗(yàn)內(nèi)容。第二部分一一實(shí)驗(yàn)結(jié)果的書面匯報(bào)。其主要內(nèi)容應(yīng)包含:*3、實(shí)驗(yàn)源代碼;*4、實(shí)驗(yàn)結(jié)果及分析(含實(shí)驗(yàn)測(cè)試輸入數(shù)據(jù), 試驗(yàn)運(yùn)行結(jié)果截圖,用簡(jiǎn)潔的語(yǔ)言總結(jié)實(shí)驗(yàn),匯報(bào)是否達(dá)到實(shí)驗(yàn)?zāi)康模?5、實(shí)驗(yàn)體會(huì)、問題討論(談體會(huì)或感想、提出建議或意見、討論 與實(shí)驗(yàn)有關(guān)的且自己感興趣的問題、回答課后思考題)。一、實(shí)驗(yàn)?zāi)康耐ㄟ^實(shí)驗(yàn)?zāi)M讀者和寫者之間的關(guān)系,了解并掌握他們之間的
2、關(guān)系及其原理。由此增加對(duì)進(jìn)程 同步的問題的了解。具體如下:1)掌握基本的同步互斥算法,理解讀者和寫者模型;2)了解windows中多線程(多進(jìn)程)的并發(fā)執(zhí)行機(jī)制,線程(進(jìn)程)間的同步和互斥;3)學(xué)習(xí)使用windows中基本的同步對(duì)象,掌握相應(yīng)的API。二、實(shí)驗(yàn)內(nèi)容用高級(jí)語(yǔ)言編寫和調(diào)試一個(gè)采用“讀寫平等”策略的“讀者寫者”問題的模擬程序。利用模擬 信號(hào)量機(jī)制實(shí)現(xiàn)讀者和寫者問題;通過用戶控制讀進(jìn)程和寫進(jìn)程,反應(yīng)讀者和寫者問題中涉及的進(jìn)程 的同步與互斥。問題描述:模擬用信號(hào)量機(jī)制實(shí)現(xiàn)讀者和寫者問題,即有兩組并發(fā)進(jìn)程:讀者和寫者,共享一組數(shù) 據(jù)區(qū),進(jìn)行讀寫操作,要求任一時(shí)刻“寫者”最多只允許一個(gè),而“
3、讀者”則允許多 個(gè)。規(guī)則說(shuō)明:允許多個(gè)讀者同時(shí)執(zhí)行讀操作;不允許讀者寫者同時(shí)操作;不允許多個(gè)寫者同時(shí)操作。三、實(shí)驗(yàn)源程序(或?qū)嶒?yàn)步驟)#include int L;int r_num;int w_num;int Wmutex=1;int Rcount=0;int Rmutex=1;int r10=0,0,0,0,0,0,0,0,0,0;int w10=0,0,0,0,0,0,0,0,0,0;int w_wait11=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1;int r_wait11=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1;void write_
4、p(int i);void write_v(int i);void radd_p(int i);void radd(int i);void read_p(int i);void radd_v(int i);void read(int i);void rsub_p(int i);void rsub(int i);void read_v(int i);void rsub_v(int i);void write(int i);void write_p(int i)/模擬寫者對(duì)Wmutex的P操作,同時(shí)也作為寫者進(jìn)程的入口Wmutex-;if (Wmutex0)w_wait-Wmutex-1=i;el
5、sewrite(i);void write(int i)wi=4;void write_v(int i)/模擬寫者對(duì)Wmutex的V操作,同時(shí)也作為讀者進(jìn)程的入口wi=0;Wmutex+;if(Wmutex=0)&(w_wait0w_num)y=w_wait0;for(x=0;xw_num;x+)w_waitx=w_waitx+1;write(y);elsey=r_wait0;for(x=0;xw_num;x+)w_waitx=w_waitx+1;for(x=0;xr_num;x+)r_waitx=r_waitx+1;radd_v(y);void radd_p(int i)/模擬讀之前對(duì)Rmu
6、tex的操作,同時(shí)也作為讀者進(jìn)程的入口Rmutex-;if(Rmutex0)r_wait-Rmutex=i;elseradd(i);void radd(int i)/Rcount 加一Rcount+;if(Rcount=1)read_p(i);elseradd_v(i);void read_p(int i)/模擬讀者對(duì) Rmutex 的 P 操作Wmutex-;if(Wmutex0)w_wait-Wmutex-1=10;r_wait0=i;elseradd_v(i);void radd_v(int i)/模擬讀者對(duì) Rmutex 的 V 操作Rmutex+;if(Rmutex=0)int x,
7、y;y=r_wait0;for(x=0;xr_num;x+)r_waitx=r_waitx+1;radd(y);read(i);void read(int i)/讀操作ri=1;void rsub_p(int i)/模擬讀之后對(duì)Rmutex的P操作,讀操作完成時(shí)調(diào)用ri=0;Rmutex-;rsub(i);void rsub(int i)/Rcount 減一Rcount-;if(Rcount=0)read_v(i);elsersub_v(i);void read_v(int i)/模擬讀者對(duì) Rmutex 的 V 操作Wmutex+;if(Wmutex=0)&(w_wait0w_num)y=w
8、_wait0;for(x=0;xw_num;x+)w_waitx=w_waitx+1;write(y);elsey=r_wait0;for(x=0;xw_num;x+)w_waitx=w_waitx+1;for(x=0;xr_num;x+)r_waitx=r_waitx+1;radd_v(y);rsub_v(i);void rsub_v(int i)/模擬讀之后對(duì) Rmutex 的 V 操作Rmutex+;int main()coutw_num;while(w_num10)coutw_num;coutr_num;while(r_num10)coutr_num;int i,x,y,a20;whi
9、le(1)cout;for(x=0;x20;x+)ax=0;coutWmutex=WmutexRcount=RcountRmutex=Rmutexendl;for(x=0;xw_num;x+)if(wx=1)cout寫者(x+1)號(hào)正在寫endl;for(x=0;xr_num;x+)if(rx=1)cout讀者(x+1)號(hào)正在寫endl;if(w_wait0=-1)cout-等待隊(duì)列空閑-endl;elsecout等待隊(duì)列中有:;for (x=0;xw_num;x+)if(w_waitx=10)for(y=0;y5;y+)if(r_waity!=1)cout-讀者=0)&(w_waitxw_n
10、um)cout-寫,(w_waitx+1);coutendl;for(x=0;xw_num;x+)int L=0;for(y=0;yw_num;y+)if(x=w waity)ax=1;L=1;if(x=1) continue;cout寫者”(x+1);if(wx=0)cout申請(qǐng)”;elsecout完成”;for(x=0;xw_num;x+)int L=0;for(y=0;yw_num;y+)if(x=w_waity)ax+w_num=1;L=1;if(x=1) continue;cout(x+1)讀者(x+1);if(rx=0)cout申請(qǐng);elsecout完成;cout(w_num+r_
11、num+1)結(jié)束endl;coutL;while(L(w_num+r_num+1)|aL-1=1)if(aL-1=1)cout該對(duì)象已經(jīng)在等待隊(duì)列中,請(qǐng)重新輸入:elsecoutL;for(x=0;xw_num;x+)if(L=(x+1)if(wx=0)write_p(x);elsewrite_v(x);break;for(x=0;xr_num;x+)if(L=(x+1+w num)if(rx=0)radd_p(x);elsersub_p(x);break;if(L=(w_num+r_num+1)return 0;回四、實(shí)驗(yàn)結(jié)果及分析回-C:UsersAdm i n istrator.PC-2
12、0140913 QRDDe5ktopDe b u gsh iya n 1 .exe: 7Umut ex=lRco Lin t =0Rmut e x=l:等待隊(duì)JU 寶閑- 、一、_ 、一 、者1申鬲寫音3申請(qǐng)寫者4申請(qǐng)寫者5串請(qǐng)寫者6申請(qǐng)1.讀者1申請(qǐng)3讀者3申請(qǐng)4讀者4庫(kù)S讀者S申請(qǐng)6讀者6申請(qǐng)14備束輸X通項(xiàng)序號(hào)XWmut e x =0Rc o Lin t =0Rmut e x=l請(qǐng)S讀者S申請(qǐng)6龍請(qǐng)輸X選項(xiàng)序號(hào):6直寫者4完成寫者S申請(qǐng)寫者6申請(qǐng)1讀者1申請(qǐng)3讀者3申請(qǐng)4讀者4申 備申請(qǐng)只結(jié)束雀堂隊(duì)列中有 亙者請(qǐng)輸乂展項(xiàng)序,請(qǐng).寫看3Umut e x =1 Rcount =0RmLit ex=l.5寫者4完成寫者S申請(qǐng)寫者6申請(qǐng)1讀者1申請(qǐng)3讀者3申請(qǐng)4讀者4申 亦讀者6申請(qǐng)14結(jié)束號(hào)N有 1 -目頁(yè) 井青-5J 待者S輸 等胃請(qǐng)Umut e x =2 Rcount =0Rnut ex
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年統(tǒng)計(jì)學(xué)考試相關(guān)數(shù)據(jù)處理試題及答案
- 吸引力與技術(shù)的美容師考試試題及答案
- 二手車現(xiàn)場(chǎng)評(píng)估準(zhǔn)備工作試題及答案
- 寵物營(yíng)養(yǎng)師考試知識(shí)點(diǎn)解析試題及答案
- 2024年美容師誠(chéng)信經(jīng)營(yíng)考量試題及答案
- 2024年小自考行政管理考試重點(diǎn)試題試題及答案
- 汽車美容器械的維護(hù)與保養(yǎng)試題及答案
- 2024-2025學(xué)年內(nèi)蒙古巴彥淖爾一中高一下學(xué)期第一次學(xué)業(yè)診斷生物及答案
- 2024年計(jì)算機(jī)基礎(chǔ)考試知識(shí)整合試題及答案
- 關(guān)于寵物營(yíng)養(yǎng)師職業(yè)倫理的討論試題及答案
- 【基于單片機(jī)的電子密碼鎖設(shè)計(jì)(論文)10000字】
- 湖南省長(zhǎng)沙市2024年中考地理試題
- 蜘蛛開店第二課時(shí) 教案
- 模擬試卷:2023-2024學(xué)年八年級(jí)下學(xué)期語(yǔ)文期中模擬考試(考試版A4)【測(cè)試范圍:1-3單元】(廣東深圳專用)
- 零星維修工程投標(biāo)方案(技術(shù)方案)
- DBJ04∕T 390-2019 基坑工程裝配式鋼支撐技術(shù)標(biāo)準(zhǔn)
- 痕跡檢驗(yàn)練習(xí)題
- 佛山市2023-2024學(xué)年高二下學(xué)期7月期末英語(yǔ)試題(解析版)
- 人教版數(shù)學(xué)四年級(jí)下冊(cè)3運(yùn)算定律《解決問題策略的多樣性》說(shuō)課稿
- 注射相關(guān)感染預(yù)防與控制(全文)
- GB 31825-2024制漿造紙單位產(chǎn)品能源消耗限額
評(píng)論
0/150
提交評(píng)論