版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、淮北師范大學(xué)程序設(shè)計(jì)課程設(shè)計(jì)采用“讀寫(xiě)平等”策略的“讀者-寫(xiě)者”問(wèn)題學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)師范學(xué)號(hào)學(xué)生姓名指導(dǎo)教師姓名2012年6月16日 、設(shè)計(jì)目的與內(nèi)容課程設(shè)計(jì)的目的:操作系統(tǒng)課程設(shè)計(jì)是計(jì)算機(jī)專業(yè)重要的教學(xué)環(huán)節(jié),它為學(xué)生提供了一個(gè)既動(dòng)手又動(dòng)腦,將課本上的理論知識(shí)和實(shí)際有機(jī)的結(jié)合起來(lái),獨(dú)立分析和解決問(wèn)題的機(jī)會(huì)。進(jìn)一步鞏固和復(fù)習(xí)操作系統(tǒng)的基礎(chǔ)知識(shí)。培養(yǎng)學(xué)生結(jié)構(gòu)化程序、模塊化程序設(shè)計(jì)的方法和能力。提高學(xué)生調(diào)試程序的技巧和軟件設(shè)計(jì)的能力。提高學(xué)生分析問(wèn)題、解決問(wèn)題以及綜合利用C語(yǔ)言進(jìn)行程序設(shè)計(jì)的能力。設(shè)計(jì)內(nèi)容:用高級(jí)語(yǔ)言編寫(xiě)和調(diào)試一個(gè)采用“讀寫(xiě)平等”策略的“讀者教寫(xiě)者”問(wèn)題的模擬
2、程序。設(shè)計(jì)的要求:讀者與寫(xiě)者至少包括ID、進(jìn)入內(nèi)存時(shí)間、讀寫(xiě)時(shí)間三項(xiàng)內(nèi)容,可在界面上進(jìn)行輸入。讀者與寫(xiě)者均有兩個(gè)以上,可在程序運(yùn)行期間進(jìn)行動(dòng)態(tài)增加讀者與寫(xiě)者??勺x取樣例數(shù)據(jù)(要求存放在外部文件中),進(jìn)行讀者/寫(xiě)者、進(jìn)入內(nèi)存時(shí)間、讀寫(xiě)時(shí)間的初始化。要求將運(yùn)行過(guò)程用可視化界面動(dòng)態(tài)顯示,可隨時(shí)暫停,查看閱覽室中讀者/寫(xiě)者數(shù)目、讀者等待隊(duì)列、讀寫(xiě)時(shí)間、等待時(shí)間。讀寫(xiě)策略:讀寫(xiě)互斥、寫(xiě)寫(xiě)互斥、讀寫(xiě)平等(嚴(yán)格按照讀者與寫(xiě)者到達(dá)的順序進(jìn)入閱覽室,有寫(xiě)著到達(dá),則阻塞后續(xù)到達(dá)的讀者;有讀者到達(dá),則阻塞后續(xù)到達(dá)的寫(xiě)者)。有一個(gè)被許多進(jìn)程共享的數(shù)據(jù)區(qū),這個(gè)數(shù)據(jù)區(qū)可以是一個(gè)文件,或者主存的一塊空間,甚至可以是一組處理
3、器寄存器。有一些只讀取這個(gè)數(shù)據(jù)區(qū)的進(jìn)程()和一些只往數(shù)據(jù)區(qū)中寫(xiě)數(shù)據(jù)的進(jìn)程()。以下假設(shè)共享數(shù)據(jù)區(qū)是文件。這些讀者和寫(xiě)者對(duì)數(shù)據(jù)區(qū)的操作必須滿足以下條件:讀讀允許;讀寫(xiě)互斥;寫(xiě)寫(xiě)互斥。這些條件具體來(lái)說(shuō)就是:()任意多的讀進(jìn)程可以同時(shí)讀這個(gè)文件;()一次只允許一個(gè)寫(xiě)進(jìn)程往文件中寫(xiě);如果一個(gè)寫(xiě)進(jìn)程正在往文件中寫(xiě),禁止任何讀進(jìn)程或?qū)戇M(jìn)程訪問(wèn)文件;寫(xiě)進(jìn)程執(zhí)行寫(xiě)操作前,應(yīng)讓已有的寫(xiě)者或讀者全部退出。這說(shuō)明當(dāng)有讀者在讀文件時(shí)不允許寫(xiě)者寫(xiě)文件。二、算法的基本思想創(chuàng)建三個(gè)線性鏈表,分別為headl、head2、head3。headl寫(xiě)入序列,head2為就緒序列,head3為執(zhí)行序列。其中headl用來(lái)存放輸入進(jìn)
4、去的讀者和寫(xiě)者的信息,head2根據(jù)讀入內(nèi)存的時(shí)間將headl中的讀者寫(xiě)者的信息進(jìn)行排序,并將排完序的讀者與寫(xiě)者信息存在head2中,把head2的內(nèi)容調(diào)入到執(zhí)行序列head3中,從而執(zhí)行要求的內(nèi)容。三、主要功能模塊流程圖四、系統(tǒng)測(cè)試(列出對(duì)于給定的輸入所產(chǎn)生的輸出結(jié)果。只寫(xiě)出自己所做功能測(cè)試結(jié)果)文件為文本文件。文件內(nèi)容為:5(表示進(jìn)程數(shù))r72(表示進(jìn)程名,進(jìn)程類型,進(jìn)程開(kāi)始時(shí)間,進(jìn)程運(yùn)行時(shí)間)w23(表示進(jìn)程名,進(jìn)程類型,進(jìn)程開(kāi)始時(shí)間,進(jìn)程運(yùn)行時(shí)間)r34(表示進(jìn)程名,進(jìn)程類型,進(jìn)程開(kāi)始時(shí)間,進(jìn)程運(yùn)行時(shí)間)r53(表示進(jìn)程名,進(jìn)程類型,進(jìn)程開(kāi)始時(shí)間,進(jìn)程運(yùn)行時(shí)間)w64(表示進(jìn)程名,進(jìn)程
5、類型,進(jìn)程開(kāi)始時(shí)間,進(jìn)程運(yùn)行時(shí)間)程序運(yùn)行實(shí)例如下:1選擇2,運(yùn)行界面如下:C:DocuaentsandSettingskjsjay桌面、新建文件夾(2)Debug3.ese* 信息HI工肇出-人文查退M1.2.二*空空歹歹歹歹2Arr.J-r.J-歹歹4If7.J-7J-丸-w歹歹r.J-r.J-歹歹 IXCC:DOCUIE町SANDSErTIIGSTSJIY面、牡Debu譏4.吐寸-J.-TJ.-S50跡貂1臥一2睪1貂罰1A!A一2-2歹歹35諫或?qū)憄wipw32:KM:KMX:)(XJ信自.口lljj-幘按任意癒他續(xù)-目目數(shù)數(shù)者者234-ili4.退曲汗始時(shí)閆7執(zhí)行吋間23434 2U
6、.U-空空請(qǐng)選擇決In.!In息隹載只進(jìn)程衽旨査看進(jìn)程信息退曲:KM:KMX:)(XJ空空空2next=head1;while(head1-starttime=i)q-next=head1;head1=head1-next;q=q-next;q-next=NULL;j-next=head1;if(head1=NULL)break;p=head1;while(p!=NULL)if(p-starttime=i)k=j;while(k-next!=p)k=k-next;k-next=p-next;q-next=p;q=q-next;p=p-next;q-next=NULL;elsep=p-next;
7、13 p=head3=(process*)malloc(sizeof(process);p-next=NULL;t=1;elsewhile(p-next!=NULL)p=p-next;if(readcount0)p-next=head2;head2=head2-next;p=p-next;p-next=NULL;readcount+;if(readcount=0)&(wait(Wmutex)=1)p-next=head2;head2=head2-next;p=p-next;p-next=NULL;readcount+;elseWmutex+;if(t=1)p=head3;head3=head3
8、-next;p-next=NULL; 讀寫(xiě)平等下的寫(xiě)者信息動(dòng)態(tài)增加進(jìn)程序號(hào)讀或?qū)戦_(kāi)始時(shí)間執(zhí)行時(shí)間 輸出函數(shù)執(zhí)行執(zhí)行隊(duì)列等待隊(duì)列 離開(kāi)執(zhí)行隊(duì)列head3=head3-next;p-next=NULL;head3=q-next;q-next=NULL;free(q);voidmain()inti=0;input();while(head1!=NULL)|(head2!=NULL)|(head3!=NULL)i+;if(head1!=NULL)ready(i);if(head2!=NULL)while(head2-type=r)|(head2-type=R)reader();if(head3!=NULL)if(head3-type=w)|(head3-type=W)break;if(head2=NU
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職(收銀技能實(shí)訓(xùn))快速收銀操作階段測(cè)試試題及答案
- 2025年大學(xué)動(dòng)物醫(yī)學(xué)(動(dòng)物臨床醫(yī)學(xué))試題及答案
- 2025年大學(xué)植物保護(hù)(植物保護(hù)研究)試題及答案
- 2025年高職(畜牧獸醫(yī))獸醫(yī)技能試題及答案
- 2025年高職3D連續(xù)幀標(biāo)注(標(biāo)注規(guī)范與精度控制)試題及答案
- 行政文員職業(yè)規(guī)劃范本
- 2026天津市糧食儲(chǔ)備有限公司面向社會(huì)招聘1人備考題庫(kù)及完整答案詳解一套
- 2026交通運(yùn)輸部路網(wǎng)監(jiān)測(cè)與應(yīng)急處置中心招聘1人備考題庫(kù)(一)及參考答案詳解
- 2026廣西來(lái)賓市武宣縣政務(wù)服務(wù)和大數(shù)據(jù)發(fā)展局招聘保潔1人備考題庫(kù)及完整答案詳解一套
- 社群實(shí)戰(zhàn)培訓(xùn)課件
- 2026年榆能集團(tuán)陜西精益化工有限公司招聘?jìng)淇碱}庫(kù)及參考答案詳解一套
- 課堂變革經(jīng)驗(yàn)介紹課件
- 2026年魯教版初三政治上冊(cè)月考真題試卷(含答案)
- 物業(yè)春節(jié)前安全生產(chǎn)培訓(xùn)課件
- TJFPA 0023-2025《社會(huì)單位滅火與應(yīng)急疏散評(píng)審導(dǎo)則》
- 2026年衛(wèi)浴潔具安裝合同協(xié)議
- 建房框架結(jié)構(gòu)合同范本
- 2025年寧波市數(shù)據(jù)局直屬事業(yè)單位公開(kāi)招聘工作人員筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 民用無(wú)人機(jī)安全培訓(xùn)課件
- 廣東省2026屆高二上數(shù)學(xué)期末復(fù)習(xí)檢測(cè)試題含解析
- 醫(yī)務(wù)科科長(zhǎng)年度述職報(bào)告課件
評(píng)論
0/150
提交評(píng)論