




已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
目錄目錄.1用多線程同步方法解決生產(chǎn)者消費者問題.31.設(shè)計題目與要求.31.1設(shè)計題目.31.2設(shè)計要求.32.設(shè)計思想及系統(tǒng)平臺.32.1設(shè)計思想.32.2系統(tǒng)平臺及使用語言.33.數(shù)據(jù)結(jié)構(gòu)與模塊說明.44.源程序清單.75.運行結(jié)果與運行情況.126.調(diào)試過程.錯誤!未定義書簽。7.總結(jié).16本科生課程設(shè)計成績評定表.18操作系統(tǒng)課程設(shè)計說明書2課程設(shè)計任務(wù)書學(xué)生姓名:專業(yè)班級:指導(dǎo)教師:工作單位:計算機科學(xué)與技術(shù)學(xué)院題目:用多線程同步方法解決生產(chǎn)者消費者問題(Producer-ConsumerProblem)初始條件:1操作系統(tǒng):Linux2程序設(shè)計語言:C語言3有界緩沖區(qū)內(nèi)設(shè)有20個存儲單元,其初值為0。放入取出的數(shù)據(jù)項按增序設(shè)定為120這20個整型數(shù)。要求完成的主要任務(wù):(包括課程設(shè)計工作量及其技術(shù)要求,以及說明書撰寫等具體要求)1技術(shù)要求:1)為每個生產(chǎn)者消費者產(chǎn)生一個線程,設(shè)計正確的同步算法2)每個生產(chǎn)者和消費者對有界緩沖區(qū)進行操作后,即時顯示有界緩沖區(qū)的當(dāng)前全部內(nèi)容、當(dāng)前指針位置和生產(chǎn)者消費者線程的自定義標(biāo)識符。3)生產(chǎn)者和消費者各有兩個以上。4)多個生產(chǎn)者或多個消費者之間須共享對緩沖區(qū)進行操作的函數(shù)代碼。2設(shè)計說明書內(nèi)容要求:1)設(shè)計題目與要求2)總的設(shè)計思想及系統(tǒng)平臺、語言、工具等。3)數(shù)據(jù)結(jié)構(gòu)與模塊說明(功能與流程圖)4)給出用戶名、源程序名、目標(biāo)程序名和源程序及其運行結(jié)果。(要注明存儲各個程序及其運行結(jié)果的主機IP地址和目錄。)5)運行結(jié)果與運行情況(提示:(1)有界緩沖區(qū)可用數(shù)組實現(xiàn)。(2)編譯命令可用:cc-lpthread-o目標(biāo)文件名源文件名(3)多線程編程方法參見附件。)3.調(diào)試報告:1)調(diào)試記錄2)自我評析和總結(jié)上機時間安排:18周一五08:012:00指導(dǎo)教師簽名:年月日系主任(或責(zé)任教師)簽名:年月日操作系統(tǒng)課程設(shè)計說明書3用多線程同步方法解決生產(chǎn)者消費者問題1.設(shè)計題目與要求1.1設(shè)計題目解決生產(chǎn)者消費者(Bounded-BufferProblem)問題1.2設(shè)計要求1)每個生產(chǎn)者和消費者對有界緩沖區(qū)進行操作后,即時顯示有界緩沖區(qū)的全部內(nèi)容、當(dāng)前指針位置和生產(chǎn)者消費者線程的標(biāo)識符。2)生產(chǎn)者和消費者各有兩個以上。3)多個生產(chǎn)者或多個消費者之間須共享對緩沖區(qū)進行操作的函數(shù)代碼。2.設(shè)計思想及系統(tǒng)平臺2.1設(shè)計思想生產(chǎn)者進程與消費者進程是經(jīng)典的同步互斥關(guān)系。系統(tǒng)創(chuàng)建兩類進程:proceducer()和consumer(),分別用來描述生產(chǎn)者和消費者的行為。生產(chǎn)者與消費者問題是指若干進程通過循環(huán)緩沖池區(qū)交換數(shù)據(jù)。生產(chǎn)者進程不斷向循環(huán)緩沖池區(qū)中寫入數(shù)據(jù)(即生產(chǎn)數(shù)據(jù)),而消費者進程不斷從循環(huán)緩沖池區(qū)中讀出數(shù)據(jù)(即消費數(shù)據(jù))。循環(huán)緩沖池共有N個緩沖區(qū),緩沖區(qū)可以暫存一個產(chǎn)品,任何時刻只能有一個進程可以對循環(huán)緩沖池進行操作。只要緩沖區(qū)未滿,生產(chǎn)者就可以把產(chǎn)品送入緩沖區(qū);只要緩沖區(qū)未空,消費者就可以從緩沖區(qū)中取走物品。為了解決生產(chǎn)者和消費者問題,應(yīng)該設(shè)置信號量和變量如下:full:滿緩沖區(qū)資源信號量,初值為0;empty:空緩沖區(qū)資源信號量,初值為n;in:生產(chǎn)者指針,初值均為0;out:消費者指針,均為0;mutex:緩沖區(qū)操作的互斥信號量,初值為1利用互斥信號量mutex實現(xiàn)諸進程對緩沖池的互斥使用,利用信號量empty和full分別表示緩沖池中空緩沖池和滿緩沖區(qū)的數(shù)量。操作系統(tǒng)課程設(shè)計說明書42.2系統(tǒng)平臺及使用語言1)操作系統(tǒng):Linux2)程序設(shè)計語言:C語言3)編譯器:GCC3.數(shù)據(jù)結(jié)構(gòu)與模塊說明3.1程序自定義函數(shù)1、voidproduce(structsem_info*);這個函數(shù)是生產(chǎn)者進行的生產(chǎn)過程,為所有的生產(chǎn)者所共享。結(jié)構(gòu)體指針用來接收生產(chǎn)者線程創(chuàng)建時傳來的生產(chǎn)者的個人信息。2、voidconsumer(structsem_info*);這個函數(shù)是消費者進行的生產(chǎn)過程,為所有的消費者所共享。結(jié)構(gòu)體指針用來接收消費者線程創(chuàng)建時傳來的消費者的個人信息。3、voidsetproduce(void);這個函數(shù)是用來設(shè)置生產(chǎn)者的個數(shù)和他們的名字。4、voidsetconsumer(void);這個函數(shù)是用來設(shè)置消費者的個數(shù)和他們的名字。5、voidactivepthread(int);這個函數(shù)是用來創(chuàng)建生產(chǎn)者線程,int型參數(shù)為生產(chǎn)者的個數(shù)。6、voidactivecthread(int);這個函數(shù)是用來創(chuàng)建生產(chǎn)者線程,int型參數(shù)為生產(chǎn)者的個數(shù)。7、intgettime(void);這個函數(shù)返回來一個整數(shù),作為線程的sleep()函數(shù)的參數(shù)。8、voidmyscanf(void);這個函數(shù)用來獲取設(shè)置生產(chǎn)者和消費者的個數(shù)時的整數(shù),確保這個數(shù)字在0到MAX_BUFFER之間。3.2系統(tǒng)函數(shù)調(diào)用線程
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年福建武夷山三茶集團有限公司下屬子公司(第一批次)招聘考試筆試試題(含答案)
- 【銅川】2025年陜西銅川市事業(yè)單位招聘高層次人才13人(第三批)筆試歷年典型考題及考點剖析附帶答案詳解
- 小學(xué)憫農(nóng)教學(xué)課件
- 文庫發(fā)布:的說課課件
- 收納職業(yè)課件教學(xué)
- 《鳥鳴澗》教學(xué)課件
- 教學(xué)課件改稿怎么寫好
- 語文片段教學(xué)課件
- DB33T 1126-2016 城市軌道交通巖土工程勘察規(guī)范
- 【成都】2025年成都市科學(xué)技術(shù)協(xié)會所屬1家事業(yè)單位招聘工作人員2人筆試歷年典型考題及考點剖析附帶答案詳解
- 2025循環(huán)流化床鍋爐停(備)用維護保養(yǎng)導(dǎo)則
- 2025年7月浙江省普通高中學(xué)業(yè)水平考試歷史仿真模擬卷01(含答案)
- 學(xué)習(xí)導(dǎo)向的高校教學(xué)評價體系研究
- 03S702鋼筋混凝土化糞池圖集
- 2016-2023年浙江新高考英語讀后續(xù)寫試題真題及范文賞析
- 2023數(shù)學(xué)建模國賽A題優(yōu)秀
- 山西省貫徹《二手車流通管理辦法》實施細(xì)則
- GA 1205-2014滅火毯
- 社區(qū)工作者經(jīng)典備考題庫(必背300題)
- 2023年陜西韓城象山中學(xué)高一物理第二學(xué)期期末聯(lián)考試題(含答案解析)
- 年產(chǎn)10萬噸污水處理藥劑菌劑項目環(huán)評報告書
評論
0/150
提交評論