



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、進程同步實驗報告實驗三進程的同步一、實驗?zāi)康?、了解進程同步和互斥的概念及實現(xiàn)方法;2、更深一步的了解fork()的系統(tǒng)調(diào)用方式。二、實驗內(nèi)容1、預(yù)習(xí)操作系統(tǒng)進程同步的概念及實現(xiàn)方法。2、編寫一段源程序,用系統(tǒng)調(diào)用fork()創(chuàng)建兩個子進程,當(dāng)此程序運行時,在系統(tǒng)中有一個父進程和兩個子進程活動。讓每一個進程在屏幕上顯示一個字符:父進程顯示字符“a”;子進程分別顯示字符“b”和字符“c”。程序的輸出是什么?分析原因。3、閱讀模擬火車站售票系統(tǒng)和實現(xiàn)進程的管道通信源代碼,查閱有關(guān)進程創(chuàng)建、進程互斥、進程同步的系統(tǒng)功能調(diào)用或api,簡要解釋例程中用到的系統(tǒng)功能或api的用法,并編輯、編譯、運行程序,
2、記錄程序的運行結(jié)果,嘗試給出合理的解釋。4、(選做)修改問題2的代碼,使得父子按順序顯示字符“a”;“b”、“c”編輯、編譯、運行。記錄程序運行結(jié)果。三、設(shè)計思想1、程序框架(1)創(chuàng)建兩個子進程:(2)售票系統(tǒng): (3)管道通信: 先創(chuàng)建子進程,然后對內(nèi)容加鎖,將輸出語句存入緩存,并讓子進程自己進入睡眠,等待別的進程將其喚醒,最后解鎖;第二個子進程也執(zhí)行這樣的過程。父進程等待子進程后讀內(nèi)容并輸出。(4)修改程序(1):在子進程的輸出語句前加上sleep()語句,即等待父進程執(zhí)行完以后再輸出。2、用到的文件系統(tǒng)調(diào)用函數(shù)(1)創(chuàng)建兩個子進程:fork()(2)售票系統(tǒng):dword winapi f
3、un1proc(lpvoid lppartameter);createthread(null,0,fun1proc,null,0,null);closehandle(hthread1);(handle)createmutex(null,false,null);sleep(4000)(sleep調(diào)用進程進入睡眠狀態(tài)(封鎖), 直到被喚醒);waitforsingleobject(hmutex,infinite);releasemutex(hmutex);(3)管道通信:pipe(fd),fd: int fd2,其中: fd0 、fd1文件描述符(讀、寫);lockf( fd,function,b
4、yte)(fd: 文件描述符;function: 1: 鎖定 0:解鎖;byte: 鎖定的字節(jié)數(shù),0: 從當(dāng)前位置到文件尾);write(fd,buf,byte)、read(fd,buf,byte) (fd: 文件描述符;buf : 信息傳送的源(目標(biāo))地址;byte: 傳送的字節(jié)數(shù));sleep(5);exit(0);read(fd0,s,50)(4)修改程序(1):fork(); sleep();四、調(diào)試過程1、測試數(shù)據(jù)設(shè)計(1)創(chuàng)建兩個子進程: 運行結(jié)果: (2)售票系統(tǒng): 運行結(jié)果: (3)管道通信: 運行結(jié)果: (4)修改程序(1): 2、測試結(jié)果分析 (1)調(diào)用fork()創(chuàng)建一個
5、子進程,當(dāng)運行到第一個子進程輸出了b ,當(dāng)父進程運行時創(chuàng)建另一個子進程。所以出現(xiàn)了a ,b ,c 。還有可能是a ,c ,b 等等。(2)兩個線程相互切換,直到把票賣完停止。(3)由pipe(fd)創(chuàng)建了一個管道(信號緩沖區(qū)),創(chuàng)建一個進程將信息寫入buf ;再將buf 寫入文件,再由父進程將信息讀取出來輸出。pipe()調(diào)用可以創(chuàng)建一個管道(通信緩沖區(qū))。當(dāng)調(diào)用成功時,我們可以訪問文件描述符fd0、fd1(其中fd0是用來讀的文件描述符,而fd1是用來寫的文件描述符)。lockf()函數(shù)允許將文件區(qū)域用作信號量(監(jiān)視鎖),或用于控制對鎖定進程的訪問(強制模式記錄鎖定)。wait(0)可以用來
6、實現(xiàn)父子進程的同步。(4)在子進程的輸出語句前加上sleep()語句,即等待父進程執(zhí)行完以后再輸出。五、總結(jié) 運行結(jié)果: 1、調(diào)試過程中遇到的主要問題及解決過程 (1)在修改程序(1)時,最開始使用了read()、schedual()、lock(),但是編譯出現(xiàn)錯誤。解決方法:使用sleep()函數(shù)。(2)exit()缺少頭文件。解決方法:加頭文件#include。(2)sleep()等linux系統(tǒng)調(diào)用缺少頭文件。解決方法:加頭文件#include2、體會和收獲。通過這次實驗我知道了在不同的位置創(chuàng)建子進程執(zhí)行的結(jié)果是不一樣的,因為一次調(diào)用有兩次返回;同時學(xué)到了更多的windows和linux的系統(tǒng)調(diào)用函數(shù),也知道了一些新概念,比如句柄的的創(chuàng)建和關(guān)閉;學(xué)會了管道的概
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國酒杯(酒具)市場運營現(xiàn)狀及投資前景規(guī)劃研究報告
- 2025-2030年中國西樂器制造市場發(fā)展?fàn)顩r及前景趨勢分析報告
- 岳西事業(yè)編招聘年考試真題及答案解析事業(yè)單位真題
- 長江大學(xué)文理學(xué)院《區(qū)域分析方法計量地理學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025甘肅省建筑安全員《A證》考試題庫及答案
- 常州工程職業(yè)技術(shù)學(xué)院《化工環(huán)保與安全概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 石家莊城市經(jīng)濟職業(yè)學(xué)院《第二語言教學(xué)法》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南安全技術(shù)職業(yè)學(xué)院《商業(yè)倫理與會計職業(yè)操守》2023-2024學(xué)年第二學(xué)期期末試卷
- 汕頭大學(xué)《財政與金融》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江師范大學(xué)行知學(xué)院《公共部門績效評估》2023-2024學(xué)年第二學(xué)期期末試卷
- 《豐收之歌》精選教學(xué)課件
- 【青島版《科學(xué)》】四年級下冊第一單元1 《運動與力》 教學(xué)設(shè)計
- 2022春蘇教版五年級下冊科學(xué)全冊單元課件全套
- 小學(xué)期末班級頒獎典禮動態(tài)PPT模板
- 液堿生產(chǎn)工序及生產(chǎn)流程敘述
- 圖解調(diào)音臺使用說明(共14頁)
- 人民軍隊性質(zhì)宗旨和優(yōu)良傳統(tǒng)教育課件教案
- 心理抗壓能力測試例題
- 操作系統(tǒng)試題
- 電子秤校驗記錄表
- (完整word)外研版八年級下冊英語課文電子版
評論
0/150
提交評論