版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)設(shè)計(jì)一計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)設(shè)計(jì)一一、實(shí)驗(yàn)名稱:售票員和汽車司機(jī)的進(jìn)程同步問(wèn)題二、實(shí)驗(yàn)內(nèi)容:創(chuàng)建兩個(gè)進(jìn)程模擬售票員和汽車司機(jī)的同步行為。具體內(nèi)容如下:1.司機(jī)的活動(dòng):?jiǎn)?dòng)車輛,正常行車,到站停車。2.售票員活動(dòng):關(guān)車門,售票,開車門。3.當(dāng)發(fā)車時(shí)間到,售票員關(guān)好車門后,司機(jī)才能啟動(dòng)車輛,售票員才開始售票。當(dāng)?shù)秸緯r(shí),司機(jī)停穩(wěn)車后,售票員才能打開車門,車上乘客先下車,然后站牌乘客上車。三、設(shè)計(jì)分析:司機(jī)與售票員要協(xié)同工作:一方
2、面只有售票員把門關(guān)好之后司機(jī)才可開車,因此售票員關(guān)好門之后要通知司機(jī)開車,然后售票;另一方面,也只有司機(jī)把車停下之后售票員才能開門讓乘客下車和上車,因此,此時(shí)司機(jī)應(yīng)通知售票員。汽車當(dāng)前正在始發(fā)站停車讓乘客上車,因此,必須設(shè)置一定的信號(hào)量來(lái)實(shí)現(xiàn)他們之間的同步問(wèn)題。把司機(jī)與售票員的信號(hào)量設(shè)置為全局變量,并把客車上的人數(shù):現(xiàn)在人數(shù)、下車人數(shù)、上車人數(shù)設(shè)置為全局變量;設(shè)置司機(jī)與售票員各自的線程??紤]到第一站和最后一站的問(wèn)題,應(yīng)單獨(dú)處理,故在各自
3、的線程中分情況討論:由于下車的人數(shù)是隨機(jī)的,設(shè)計(jì)時(shí)考慮到了人數(shù)可能會(huì)超過(guò)客車的最大上限的問(wèn)題。具體的思路是下面的圖示。中s1是司機(jī)的信號(hào)量,s2是售票員的信號(hào)量。正常行駛售票到站,停車P(s2)V(s2)開車門P(s1)關(guān)車門V(s1)離開車站實(shí)現(xiàn)司機(jī)與售票員之間的同步過(guò)程如下:BeginP司機(jī)P售票員HLESemaphe_driverDriver的信號(hào)量HLESemaphe_conductConduct的信號(hào)量產(chǎn)生一定范圍的隨機(jī)數(shù),可
4、避免下面程序的判斷是否超出客車的最大容量問(wèn)題intGet_rom(intminintmax)intasr((int)time(0))while(1)a=r()%(Total_num1)if(a=minDriver的線程DWDWINAPIThread_Driver(LPVOIDDriver)while(pk=Total_num)if(pk==Total_pk)WaitFSingleObject(Semaphe_driverINFINITE
5、)printf(“終點(diǎn)站到了謝謝乘坐該公交車,祝您愉快!n“)printf(“到達(dá)終點(diǎn)站時(shí)汽車上還有%d人。n“Recent_num)ReleaseSemaphe(Semaphe_conduct1NULL)return0elseif(pk==1)printf(“發(fā)車時(shí)間到,現(xiàn)在是第%d站n“pk)elseprintf(“%d站到了n“pk)if(pk!=1)printf(“司機(jī)已停車。n“)ReleaseSemaphe(Semaphe_
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 進(jìn)程同步模擬課程設(shè)計(jì)——司機(jī)和售票員問(wèn)題
- 操作系統(tǒng)課程設(shè)計(jì)——司機(jī)與售票員
- 售票員的崗位職責(zé)
- 進(jìn)程同步經(jīng)典習(xí)題
- 操作系統(tǒng)售票員與乘客
- 關(guān)于售票員的工作總結(jié)范文
- 售票員個(gè)人工作總結(jié)
- 寒假做售票員社會(huì)實(shí)踐報(bào)告
- 鐵路售票員職業(yè)技能鑒定題庫(kù)
- 寒假做售票員社會(huì)實(shí)踐報(bào)告
- 并發(fā)進(jìn)程同步算法的設(shè)計(jì)方法
- 進(jìn)程同步典型例題操作系統(tǒng)
- 售票員工作總結(jié)-售票員工作總結(jié)范本
- 2022公交車售票員寒假實(shí)習(xí)報(bào)告
- 多進(jìn)程同步方法演示“生產(chǎn)者-消費(fèi)者”問(wèn)題
- 操作系統(tǒng)課程設(shè)計(jì)報(bào)告—多進(jìn)程同步橘子蘋果問(wèn)題
- 公交售票員個(gè)人工作總結(jié)600字
- 算法課程設(shè)計(jì)---進(jìn)程通信與進(jìn)程同步機(jī)制實(shí)現(xiàn)
- 操作系統(tǒng)課程設(shè)計(jì)--進(jìn)程通信與進(jìn)程同步機(jī)制實(shí)踐
- 售票員工作流程圖
評(píng)論
0/150
提交評(píng)論