


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)2014級本科操作系統(tǒng)實(shí)驗(yàn)報(bào)告(實(shí)驗(yàn)4)學(xué)生姓名曾帥學(xué)號 院系軟件學(xué)院任課教師范國祥實(shí)驗(yàn)TAXXX實(shí)驗(yàn)地點(diǎn)軟件學(xué)院三樓實(shí)驗(yàn)室實(shí)驗(yàn)時(shí)間2016年06月2日 星期四實(shí)驗(yàn)題目進(jìn)程同步實(shí)驗(yàn)學(xué)時(shí)1學(xué)時(shí)實(shí)驗(yàn)?zāi)康模杭由顚M(jìn)程與互斥概念的認(rèn)識; 掌握信號量的使用,并應(yīng)用它解決生產(chǎn)者消費(fèi)者問題; 掌握信號量的實(shí)現(xiàn)原理。實(shí)驗(yàn)內(nèi)容及要求:本次實(shí)驗(yàn)的基本內(nèi)容是:在Ubuntu下編寫程序“pc.c”,用信號量解決經(jīng)典的生產(chǎn)者消費(fèi)者問題。完成下面的功能:建立一個(gè)生產(chǎn)者進(jìn)程,N個(gè)消費(fèi)者進(jìn)程(N1);
2、 用文件建立一個(gè)共享緩沖區(qū); 生產(chǎn)者進(jìn)程依次向緩沖區(qū)寫入整數(shù)0,1,2,.,M(M=500); 消費(fèi)者進(jìn)程從緩沖區(qū)讀數(shù),每次讀一個(gè),并將讀出的數(shù)字從緩沖區(qū)刪除,然后將本進(jìn)程ID和數(shù)字輸出到標(biāo)準(zhǔn)輸出; 緩沖區(qū)同時(shí)最多只能保存10個(gè)數(shù)。注:pc.c中將會用到sem_open()、sem_close()、sem_wait()和sem_post()等信號量相關(guān)的系統(tǒng)調(diào)用。實(shí)驗(yàn)過程描述、結(jié)果及思考:簡要描述實(shí)驗(yàn)過程(含操作步驟及看到的結(jié)果)。在ubuntu下,用系統(tǒng)提供的sem_open()、sem_close()、sem_wait()和sem_post()等信號量相關(guān)的系統(tǒng)調(diào)用編寫pc.c程序。在ub
3、untu上編譯并運(yùn)行pc.c,檢查運(yùn)行結(jié)果。問題回答:(1)在pc.c中去掉所有與信號量有關(guān)的代碼,再運(yùn)行程序,執(zhí)行效果有變化嗎?為什么會這樣?答:在去掉與信號量有關(guān)的代碼后,執(zhí)行結(jié)果Customer的消費(fèi)數(shù)據(jù)沒有按遞增的順序輸出,且fread()函數(shù)將產(chǎn)生錯(cuò)誤。因?yàn)闆]有信號量P(S)控制,導(dǎo)致生產(chǎn)者可能在緩沖區(qū)滿后繼續(xù)生產(chǎn),導(dǎo)致沒有被消費(fèi)的數(shù)據(jù)被覆蓋,使得消費(fèi)者消費(fèi)的數(shù)據(jù)不是遞增序列。同時(shí),沒有信號量V(S)控制,導(dǎo)致消費(fèi)者可能在讀取所有數(shù)據(jù)后仍然繼續(xù)讀取,導(dǎo)致讀取的數(shù)據(jù)無效。沒有mutex信號量控制導(dǎo)致出現(xiàn)多進(jìn)程并發(fā)訪問緩沖區(qū),導(dǎo)致出現(xiàn)fread()錯(cuò)誤。(2)實(shí)驗(yàn)的設(shè)計(jì)者在第一次編寫生產(chǎn)
4、者消費(fèi)者程序的時(shí)候,是這么做的:Producer() P(Mutex); /互斥信號量 生產(chǎn)一個(gè)產(chǎn)品item; P(Empty); /空閑緩存資源 將item放到空閑緩存中; V(Full); /產(chǎn)品資源 V(Mutex);Consumer() P(Mutex); P(Full); 從緩存區(qū)取出一個(gè)賦值給item; V(Empty); 消費(fèi)產(chǎn)品item; V(Mutex); 這樣可行嗎?如果可行,那么它和標(biāo)準(zhǔn)解法在執(zhí)行效果上會有什么不同?如果不可行,那么它有什么問題使它不可行?答:這樣不可行。程序在某種情況下會出現(xiàn)死鎖狀態(tài)。例如:當(dāng)mutex = 1,并且生產(chǎn)者要進(jìn)入生產(chǎn)一個(gè)數(shù)據(jù),假設(shè)此時(shí)empty = 0,mutex = 0,P(empty)后小于0,生產(chǎn)者進(jìn)程進(jìn)入等待在信號量empty的等待隊(duì)列上面調(diào)用schedule(),可是此時(shí)并未解鎖,即mutex.value值仍然為0。它們都等待在信號量mutex上面。同理,消費(fèi)者進(jìn)程也是如此,若mutex.value = 1,full.value = 0,在執(zhí)行完P(guān)(mutex)P(full)之后,mutex = 0,并且將消費(fèi)者進(jìn)程
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司房屋安全管理辦法
- 智慧場館業(yè)務(wù)管理辦法
- 自動化專業(yè)學(xué)生的就業(yè)前景與職業(yè)發(fā)展
- 退役磷酸鐵鋰正極衍生磷化鐵活性材料在鋰氧氣電池中的應(yīng)用探究
- 金融基礎(chǔ)理論課程知識體系優(yōu)化
- 堿溶處理對硅藻土保水滲透性能的作用機(jī)制探討
- 餐飲業(yè)新店開業(yè)策劃全攻略
- 功能文體學(xué)視角下的歐洲小說人物塑造深度解讀
- 高校心理危機(jī)干預(yù)機(jī)制建設(shè)與實(shí)施研究
- 晉江市封控區(qū)管理辦法
- 余料使用管理制度
- 農(nóng)業(yè)面源防治課件
- 2025至2030中國氨基吡啶行業(yè)項(xiàng)目調(diào)研及市場前景預(yù)測評估報(bào)告
- 2025-2030中國商業(yè)展示道具市場應(yīng)用前景及投資價(jià)值評估報(bào)告
- 2025年甘肅省武威市民勤縣西渠鎮(zhèn)人民政府選聘專業(yè)化管理村文書筆試參考題庫及1套完整答案詳解
- 防洪防汛安全知識試題及答案
- T/CCMA 0137-2022防撞緩沖車
- 江蘇省2025年中職職教高考文化統(tǒng)考數(shù)學(xué)試題答案
- 浙江省公路工程監(jiān)理用表-監(jiān)理旁站記錄2025
- 產(chǎn)科促宮縮藥
- 2024年貴州省余慶縣事業(yè)單位公開招聘醫(yī)療衛(wèi)生崗筆試題帶答案
評論
0/150
提交評論