操作系統(tǒng)實驗報告生產(chǎn)者消費者問題(共16頁).doc
《操作系統(tǒng)實驗報告生產(chǎn)者消費者問題(共16頁).doc》由會員分享,可在線閱讀,更多相關(guān)《操作系統(tǒng)實驗報告生產(chǎn)者消費者問題(共16頁).doc(16頁珍藏版)》請在匯文網(wǎng)上搜索。
1、精選優(yōu)質(zhì)文檔-傾情為你奉上課 程 設(shè) 計 說 明 書 山 東 科 技 大 學(xué) 2014年 1 月 1 日課 程 設(shè) 計 任 務(wù) 書一、課程設(shè)計題目: 生產(chǎn)者消費者問題 二、課程設(shè)計主要參考資料(1)計算機操作系統(tǒng)(修訂版)湯子瀛西安電子科技大學(xué)出版社。(2)數(shù)據(jù)結(jié)構(gòu) 嚴(yán)蔚敏 清華大學(xué)出版社(3)操作系統(tǒng)概念第六版三、課程設(shè)計應(yīng)解決的主要問題:(1) 了解信號量的使用 (2) 理解生產(chǎn)者消費者問題模型 (3) 掌握真確使用同步機制的方法 (4) 實現(xiàn)生產(chǎn)者消費者進程的互斥與同步 四、課程設(shè)計相關(guān)附件(如:圖紙、軟件等): 程序源代碼 五、任務(wù)發(fā)出日期: 2013-12-1 課程設(shè)計完成日期: 2
2、014-12-25 指導(dǎo)教師簽字: 系主任簽字: 指導(dǎo)教師對課程設(shè)計的評語成績: 指導(dǎo)教師簽字: 年 月 日專心-專注-專業(yè)生產(chǎn)者消費者問題一、設(shè)計目的1、了解信號量的使用2、加深對信號量機制的理解3、通過研究Linux 的進程機制和信號量實現(xiàn)生產(chǎn)者消費者問題的并發(fā)控制.4、掌握基本的同步互斥算法,理解生產(chǎn)者與消費者模型5、了解多線程(多進程)的并發(fā)執(zhí)行機制,線程(進程)間的同步與互斥二、設(shè)計要求1、理解生產(chǎn)者與消費者問題模型,掌握解決問題的算法思想2、掌握正確使用同步機制的方法 3、每個生產(chǎn)者和消費者對有界緩沖區(qū)進行操作后,即時顯示有界緩沖區(qū)的全部內(nèi)容,當(dāng)前指針位置和生產(chǎn)者/消費者線程的標(biāo)識
3、符. 4、 生產(chǎn)者和消費者各有兩個以上. 5、 多個生產(chǎn)者或多個消費者之間須有共享對緩沖區(qū)進行操作的函數(shù)代碼.三、設(shè)計說明(含系統(tǒng)框圖和(或)主要算法的流程圖) 生產(chǎn)者流程圖 消費者流程圖有n個生產(chǎn)者和m個消費者,連接在具有k個單位緩沖區(qū)的有界環(huán)轉(zhuǎn)緩沖上,故又稱有界緩沖問題。其中Pi和Cj都是并發(fā)進程,只要緩沖區(qū)未滿,生產(chǎn)者進程Pi所生產(chǎn)的產(chǎn)品就可投入緩沖區(qū);類似地,只要緩沖區(qū)非空,消費者進程Cj就可以從緩沖區(qū)取走并消耗產(chǎn)品。生產(chǎn)者消費者問題是典型的進程同步問題,這些進程必須按照一定的生產(chǎn)率和消費率來訪問共享緩沖區(qū),用P、V操作解決生產(chǎn)者和消費者共享單緩沖區(qū)的問題,可設(shè)置兩個信號量empty和
4、full,其初值分別為1和0,empty指示能否向緩沖區(qū)放入產(chǎn)品,full指示能否從緩沖區(qū)取出產(chǎn)品。為了使其協(xié)調(diào)工作,必須使用一個信號量mutex(初值為1),以限制生產(chǎn)者和消費者互斥地對緩沖區(qū)進行存取,另用兩個信號量empty1(初值為緩沖區(qū)大小)和full1(初值為0),以保證生產(chǎn)者不向已滿的緩沖區(qū)中放入產(chǎn)品,消費者不從空緩沖區(qū)中取產(chǎn)品。生產(chǎn)者功能描述:在同一個進程地址空間內(nèi)執(zhí)行兩個線程。生產(chǎn)者線程生產(chǎn)物品,然后將物品放置在一個空緩沖區(qū)中供消費者線程消費。當(dāng)生產(chǎn)者線程生產(chǎn)物品時,如果沒有空緩沖區(qū)可用,那么生產(chǎn)者線程必須等待消費者線程釋放出一個空緩沖區(qū)。消費者功能描述:消費者線程從緩沖區(qū)獲得
5、物品,然后釋放緩沖區(qū),當(dāng)消費者線程消費物品時,如果沒有滿的緩沖區(qū),那么消費者線程將被阻塞,直到新的物品被生產(chǎn)出來。 在實現(xiàn)本程序的生產(chǎn)者消費者模型時,具體地通過以下同步對象實現(xiàn)互斥:設(shè)一個互斥量Mutex,以實現(xiàn)生產(chǎn)者在查詢和保留緩沖區(qū)的下一個空位置時進行互斥。每一個生產(chǎn)者用一個信號量與消費者同步,通過設(shè)置Full實現(xiàn),該組信號量用于表示相應(yīng)產(chǎn)品以生產(chǎn)。同時用一個表示空緩沖區(qū)數(shù)目的信號量Empty進行類似的同步,指示緩沖區(qū)中是否存在空位置,以便開始生產(chǎn)下一個產(chǎn)品。 數(shù)據(jù)結(jié)構(gòu)及部分函數(shù)描述類SeqSquare:對類SeqSquare的聲明及其中一些函數(shù)class SeqSquarepublic:
- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
20 積分
下載 | 加入VIP,下載共享資源 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 操作系統(tǒng) 實驗 報告 生產(chǎn)者 消費者 問題 16