“讀寫(xiě)平等”策略的“讀者寫(xiě)者”問(wèn)題實(shí)驗(yàn)報(bào)告_第1頁(yè)
“讀寫(xiě)平等”策略的“讀者寫(xiě)者”問(wèn)題實(shí)驗(yàn)報(bào)告_第2頁(yè)
“讀寫(xiě)平等”策略的“讀者寫(xiě)者”問(wèn)題實(shí)驗(yàn)報(bào)告_第3頁(yè)
“讀寫(xiě)平等”策略的“讀者寫(xiě)者”問(wèn)題實(shí)驗(yàn)報(bào)告_第4頁(yè)
“讀寫(xiě)平等”策略的“讀者寫(xiě)者”問(wèn)題實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論