下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)與信息技術(shù)學(xué)院綜合性、設(shè)計(jì)性實(shí)驗(yàn)報(bào)告專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)年級(jí)/班級(jí):08級(jí)計(jì)科一班2010—2011學(xué)年第一學(xué)期課程名稱計(jì)算機(jī)操作系統(tǒng)指導(dǎo)教師本組成員學(xué)號(hào)姓名實(shí)驗(yàn)地點(diǎn)計(jì)算機(jī)學(xué)院過(guò)街天橋機(jī)房C區(qū)實(shí)驗(yàn)時(shí)間2010.11.282010.12.52010.12.122010.12.19項(xiàng)目名稱處理機(jī)調(diào)度實(shí)驗(yàn)類型設(shè)計(jì)性實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)先來(lái)先服務(wù)算法的模擬加深對(duì)進(jìn)程概念和進(jìn)程調(diào)度過(guò)程的理解。實(shí)驗(yàn)儀器或設(shè)備每人一臺(tái)計(jì)算機(jī),硬件要求:CPUPII以上,64M內(nèi)存,100M硬盤空間即可;軟件要求:Linux操作系統(tǒng)。總體設(shè)計(jì)(設(shè)計(jì)原理、設(shè)計(jì)方案及流程等)設(shè)計(jì)原理:在作業(yè)調(diào)度中采用先來(lái)先服務(wù)(FCFS)調(diào)度算法時(shí),每次調(diào)度都是都是從后備作業(yè)隊(duì)列中選擇一個(gè)或多個(gè)最先進(jìn)入該隊(duì)列的作業(yè),將它們調(diào)入內(nèi)存,為它們分配資源、創(chuàng)建進(jìn)程,然后放入就緒隊(duì)列中。設(shè)計(jì)方案及流程:四.實(shí)驗(yàn)步驟(包括主要步驟、代碼分析等)主要步驟:(1)、創(chuàng)建一個(gè)PCB鏈表來(lái)模擬進(jìn)程排隊(duì)的隊(duì)列(2)、判斷當(dāng)前隊(duì)列是否為空。若為空,表明所有進(jìn)程已執(zhí)行完畢,若不為空且當(dāng)前時(shí)間>=進(jìn)程到達(dá)時(shí)間,則運(yùn)行進(jìn)程,按先來(lái)先服務(wù)原則,從當(dāng)前就緒隊(duì)列中選擇一個(gè)最先進(jìn)入該隊(duì)列的進(jìn)程,進(jìn)程完或發(fā)生某事件而阻塞后再運(yùn)行下一個(gè)進(jìn)程,否則,等待。(3)、當(dāng)前進(jìn)程運(yùn)行完,出隊(duì)列,運(yùn)行下一個(gè)在等待隊(duì)列中的進(jìn)程,直至隊(duì)列中的所有進(jìn)程運(yùn)行完畢為止。代碼分析:#include<stdio.h>#include<conio.h>#include<process.h>#defineN20 //進(jìn)程名字最多支持20個(gè)字符typedefstructpcb{ charpname[N]; //進(jìn)程名字 intruntime; //估計(jì)進(jìn)程運(yùn)行所需時(shí)間 intarrivetime; //進(jìn)程到達(dá)時(shí)間 charstate; //進(jìn)程狀態(tài) structpcb*next;//連接指針}PCB;PCBhead_input; //鏈表的頭PCB*queue_head,*queue_end;//模擬隊(duì)列的頭和尾指針//FILE*f; //文件保存intsum_turnaroundtime=0;//總周轉(zhuǎn)時(shí)間intnum; //總進(jìn)程數(shù)目staticcharR='r',C='c';unsignedlongcurrent; //系統(tǒng)當(dāng)前時(shí)間,按秒計(jì)算voidinputprocess(); //創(chuàng)建進(jìn)程的子函數(shù),按照到達(dá)時(shí)間進(jìn)入隊(duì)列voidrunreadyprocess(); //運(yùn)行就緒的隊(duì)列voidrunreadyprocess(){ inti=0,time,runtime1; PCB*p1; while(queue_end!=NULL) { i++; p1=queue_end;while((unsignedlong)p1->arrivetime>current)//如果到達(dá)時(shí)間大于當(dāng)前時(shí)間,等待 current++; printf("NO.%3dprocess%shasstarted!\n",i,p1->pname); time=0;runtime1=p1->runtime; while(p1->runtime>0)//運(yùn)行進(jìn)程,先來(lái)先服務(wù),運(yùn)行完先來(lái)的,再運(yùn)行下一個(gè) { p1->runtime--; time++; current++; printf("NO.%3dprocess%shasrun%ds,stillhas%dstocomplete!\n",i,p1->pname,time,runtime1-time); } p1->state=C;//進(jìn)程運(yùn)行完,更改狀態(tài) printf("NO.%3dprocess%shascompleted!\n",i,p1->pname);printf("NO.%3dprocess%s'sturnaround_timeis:%d\n",i,p1->pname,current-p1->arrivetime); printf("\n"); sum_turnaroundtime+=current-p1->arrivetime; queue_end=queue_head->next; queue_head=queue_end; } }voidinputprocess(){ PCB*p1,*p2; printf("Howmanyprocessesdoyouwanttorun:"); //fprintf(f,"Howmanyprocessesdoyouwanttorun:"); scanf("%d",&num); //fprintf(f,"%d\n",&num); p1=&head_input; p2=p1; p1->next=newPCB; p1=p1->next; for(inti=0;i<num;i++)//創(chuàng)建num個(gè)進(jìn)程 { printf("NO.%3dprocessesinputpname:",i+1); //fprintf(f,"NO.%3dprocessesinputpname:",i+1); scanf("%s",p1->pname); //fprintf(f,"%s\n",p1->pname); printf("NO.%3dprocessesruntime:",i+1); //fprintf(f,"NO.%3dprocessesruntime:",i+1); scanf("%d",&(p1->runtime)); //fprintf(f,"%d\n",&(p1->runtime)); printf("NO.%3dprocessesarrivetime:",i+1); //fprintf(f,"NO.%3dprocessesarrivetime:",i+1); scanf("%d",&(p1->arrivetime)); //fprintf(f,"%d\n\n",&(p1->arrivetime)); printf("\n"); p1->state=R; p1->next=newPCB; p2=p1; p1=p1->next; } deletep1; p1=NULL; p2->next=NULL;}voidmain(){ //f=fopen("result.txt","w"); current=0; inputprocess(); queue_head=&head_input; queue_end=queue_head->next; queue_head=queue_end; runreadyprocess(); printf("Theaverageturnaround_timeofalltheprocessesis:%d\n",sum_turnaroundtime/num); //system("typeresult.txt");}結(jié)果分析與總結(jié):結(jié)果如下:分析:結(jié)果中進(jìn)程運(yùn)行的順序?yàn)閜rocesspro1、processpro2、processpro3、processpro4、processpro5,與輸入順序一致,根據(jù)先來(lái)先服務(wù)算法的思想來(lái)看,結(jié)果是正確的??偨Y(jié):實(shí)驗(yàn)結(jié)果顯示,本實(shí)驗(yàn)正確模擬了動(dòng)態(tài)優(yōu)先級(jí)調(diào)度算法,每次都是調(diào)度優(yōu)先權(quán)最高的進(jìn)程運(yùn)行,在優(yōu)先權(quán)相同的情況下,按照FCFS原則進(jìn)行調(diào)度,優(yōu)先權(quán)隨著進(jìn)程的推進(jìn)和在就緒隊(duì)列中等待時(shí)間的增加而實(shí)現(xiàn)了動(dòng)態(tài)變化。處理及調(diào)度的算法有一定的難度,因?yàn)槠淅碚撋系碾y度,但是通過(guò)學(xué)習(xí)讓我對(duì)其有了更加深入的
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- BIM工程師-全國(guó)《BIM應(yīng)用技能資格》押題密卷2
- 滬科版八年級(jí)物理全一冊(cè)《第三章光的世界》單元檢測(cè)卷帶答案
- 廣州版小學(xué)五年級(jí)英語(yǔ)下冊(cè)知識(shí)點(diǎn)和練習(xí)題
- 遞推技術(shù)在信號(hào)處理中的使用
- 利用壓縮空氣實(shí)現(xiàn)大規(guī)模儲(chǔ)能
- 2024高中地理第四章地表形態(tài)的塑造章末知識(shí)整合學(xué)案新人教版必修1
- 2024高中生物第二章動(dòng)物與人體生命活動(dòng)的調(diào)節(jié)第1節(jié)通過(guò)神經(jīng)系統(tǒng)的調(diào)節(jié)訓(xùn)練含解析新人教版必修3
- 2024高考地理一輪復(fù)習(xí)第十五單元區(qū)域生態(tài)環(huán)境建設(shè)考法精練含解析
- 2024高考化學(xué)一輪復(fù)習(xí)第5章物質(zhì)結(jié)構(gòu)與性質(zhì)元素周期律第15講原子結(jié)構(gòu)核外電子排布規(guī)律學(xué)案
- 2024高考?xì)v史一輪復(fù)習(xí)方案專題三現(xiàn)代中國(guó)的政治建設(shè)祖國(guó)統(tǒng)一與對(duì)外關(guān)系第7講現(xiàn)代中國(guó)的政治建設(shè)與祖國(guó)統(tǒng)一教學(xué)案+練習(xí)人民版
- 青島版(五年制)四年級(jí)下冊(cè)小學(xué)數(shù)學(xué)全冊(cè)導(dǎo)學(xué)案(學(xué)前預(yù)習(xí)單)
- 退學(xué)費(fèi)和解協(xié)議書(shū)模板
- 課程評(píng)價(jià)與持續(xù)改進(jìn)計(jì)劃
- 2024年版美國(guó)結(jié)直腸外科醫(yī)師協(xié)會(huì)《肛周膿腫、肛瘺、直腸陰道瘺的臨床實(shí)踐指南》解讀
- 2024至2030年中國(guó)對(duì)氯甲苯行業(yè)市場(chǎng)全景調(diào)研及發(fā)展趨勢(shì)分析報(bào)告
- 智能教育輔助系統(tǒng)運(yùn)營(yíng)服務(wù)合同
- 心功能分級(jí)及護(hù)理
- 事業(yè)單位招錄公共基礎(chǔ)知識(shí)(政治)模擬試卷10(共258題)
- 溝通技巧-考試試題及答案
- 重慶育才中學(xué)2025屆化學(xué)九上期末教學(xué)質(zhì)量檢測(cè)試題含解析
- 中央2024年國(guó)家藥品監(jiān)督管理局中國(guó)食品藥品檢定研究院招聘筆試歷年典型考題及考點(diǎn)附答案解析
評(píng)論
0/150
提交評(píng)論