![操作系統(tǒng)使用簡單輪轉(zhuǎn)法實(shí)現(xiàn)操作系統(tǒng)進(jìn)程調(diào)度_第1頁](http://file4.renrendoc.com/view/d3b5b3ea69ef55c21cd702ee51f44353/d3b5b3ea69ef55c21cd702ee51f443531.gif)
![操作系統(tǒng)使用簡單輪轉(zhuǎn)法實(shí)現(xiàn)操作系統(tǒng)進(jìn)程調(diào)度_第2頁](http://file4.renrendoc.com/view/d3b5b3ea69ef55c21cd702ee51f44353/d3b5b3ea69ef55c21cd702ee51f443532.gif)
![操作系統(tǒng)使用簡單輪轉(zhuǎn)法實(shí)現(xiàn)操作系統(tǒng)進(jìn)程調(diào)度_第3頁](http://file4.renrendoc.com/view/d3b5b3ea69ef55c21cd702ee51f44353/d3b5b3ea69ef55c21cd702ee51f443533.gif)
![操作系統(tǒng)使用簡單輪轉(zhuǎn)法實(shí)現(xiàn)操作系統(tǒng)進(jìn)程調(diào)度_第4頁](http://file4.renrendoc.com/view/d3b5b3ea69ef55c21cd702ee51f44353/d3b5b3ea69ef55c21cd702ee51f443534.gif)
![操作系統(tǒng)使用簡單輪轉(zhuǎn)法實(shí)現(xiàn)操作系統(tǒng)進(jìn)程調(diào)度_第5頁](http://file4.renrendoc.com/view/d3b5b3ea69ef55c21cd702ee51f44353/d3b5b3ea69ef55c21cd702ee51f443535.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
《操作系統(tǒng)原理》課程設(shè)計(jì)報(bào)告課題名稱:使用簡單輪轉(zhuǎn)法實(shí)現(xiàn)操作系統(tǒng)進(jìn)程調(diào)度姓名:班級(jí):學(xué)號(hào):指導(dǎo)老師:二〇一三年十二月二十日
目錄第1章課題介紹 第1章課題介紹1.1課程設(shè)計(jì)的目的進(jìn)程是操作系統(tǒng)最重要的概念之一,進(jìn)程調(diào)度又是操作系統(tǒng)核心的主要內(nèi)容。本次課程設(shè)計(jì)是要求學(xué)生獨(dú)立地用高級(jí)語言編寫和調(diào)試一個(gè)簡單的進(jìn)程調(diào)度程序。通過本實(shí)驗(yàn)可以加深理解有關(guān)進(jìn)程控制塊、進(jìn)程隊(duì)列的概念,并體會(huì)和了解優(yōu)先權(quán)調(diào)度算法和時(shí)間片輪轉(zhuǎn)調(diào)度算法的具體實(shí)施辦法。調(diào)度算法可任意選擇或自行設(shè)計(jì)。任務(wù)一是采用簡單輪轉(zhuǎn)法。本課題可以加深對(duì)進(jìn)程調(diào)度和各種調(diào)度算法的理解,并通過課程設(shè)計(jì),讓我們更好的掌握操作系統(tǒng)的原理以及實(shí)現(xiàn)方法,加深對(duì)操作系統(tǒng)基礎(chǔ)理論和重要算法的理解,加強(qiáng)我們自身的動(dòng)手能力。1.2課程設(shè)計(jì)的要求1)設(shè)計(jì)一個(gè)有n個(gè)進(jìn)程并發(fā)的進(jìn)程調(diào)度程序。每個(gè)進(jìn)程由一個(gè)進(jìn)程控制塊(PCB)表示。進(jìn)程控制塊一般應(yīng)該包含下述信息:進(jìn)程名、進(jìn)程優(yōu)先數(shù)、進(jìn)程需要運(yùn)行的時(shí)間、占用CPU的時(shí)間以及進(jìn)程的狀態(tài)等,且可按調(diào)度算法的不同而增刪。2)調(diào)度程序應(yīng)包含1~2種不同的調(diào)度算法,運(yùn)行時(shí)可任意選一種,以利于各種算法的分析比較。3)算法應(yīng)能顯示或打印各個(gè)進(jìn)程的PID、狀態(tài)(運(yùn)行狀態(tài)R、等待狀態(tài)W等)和參數(shù)(已運(yùn)行時(shí)間等)的變化情況,便于觀察諸進(jìn)程的調(diào)度過程
第2章總體設(shè)計(jì)2.1程序流程圖輪轉(zhuǎn)法進(jìn)程調(diào)用先輸入進(jìn)程的格式及信息,然后對(duì)進(jìn)程進(jìn)行輪轉(zhuǎn)法調(diào)度,按隊(duì)列中進(jìn)程的順序依次運(yùn)行程序,每運(yùn)行完一次對(duì)其時(shí)間片相減,直到時(shí)間片用完,程序結(jié)束。輪轉(zhuǎn)法進(jìn)程調(diào)用程序流程圖如圖2-1所示:圖2-1總程序流程圖建立進(jìn)程控制塊函數(shù)input()的程序流程圖如圖2-2所示:圖2-2input()函數(shù)的程序流程圖2.2軟件模塊圖要實(shí)現(xiàn)輪轉(zhuǎn)法的進(jìn)程調(diào)度,將其功能設(shè)計(jì)為四個(gè)界面模塊,進(jìn)程控制塊模塊、進(jìn)程顯示模塊、進(jìn)程查看模塊、進(jìn)程就緒模塊。輪轉(zhuǎn)法進(jìn)程調(diào)度功能模塊圖如圖2-3所示:圖2-3輪轉(zhuǎn)法進(jìn)程調(diào)度功能模塊圖2.3設(shè)計(jì)原理系統(tǒng)將所有的就緒進(jìn)程按先來先服務(wù)的原則排成一個(gè)隊(duì)列,每次調(diào)度時(shí),把CPU分配給隊(duì)首進(jìn)程,并令其執(zhí)行一個(gè)時(shí)間片。時(shí)間片的大小從幾MS到幾百M(fèi)S。當(dāng)執(zhí)行的時(shí)間片用完時(shí),由一個(gè)計(jì)時(shí)器發(fā)出時(shí)鐘中斷請(qǐng)求,調(diào)度程序便據(jù)此信號(hào)來停止該進(jìn)程的執(zhí)行,并將它送往就緒隊(duì)列的末尾;然后再把處理機(jī)分配給就緒隊(duì)列中的新的隊(duì)首進(jìn)程,同時(shí)也讓他執(zhí)行一個(gè)時(shí)間片。這樣就可以保證就緒隊(duì)列中的所有進(jìn)程在一給定的時(shí)間內(nèi)均能獲得一時(shí)間片的處理機(jī)執(zhí)行時(shí)間。即,系統(tǒng)能在給定時(shí)間內(nèi)相應(yīng)所有用戶的請(qǐng)求。2.4設(shè)計(jì)內(nèi)容本實(shí)驗(yàn)主要是對(duì)時(shí)間片輪轉(zhuǎn)法調(diào)度的模擬。由用戶自己輸入進(jìn)程數(shù)和時(shí)間片,將所輸入的進(jìn)程按順序排成循環(huán)隊(duì)列,處理器按順序選擇進(jìn)程來執(zhí)行。每個(gè)進(jìn)程都是處于運(yùn)行R(run)、就緒W(wait)兩種狀態(tài)之一,并假設(shè)起始狀態(tài)都是就緒狀態(tài)W。正在運(yùn)行的進(jìn)程則是R狀態(tài),若某個(gè)進(jìn)程沒有結(jié)束則優(yōu)先級(jí)設(shè)最低,放到隊(duì)尾,下次循環(huán)再執(zhí)行;若進(jìn)程結(jié)束則退出隊(duì)列,并顯示此進(jìn)程已完成。
下面介紹簡單輪轉(zhuǎn)法進(jìn)程調(diào)度算法:
簡單輪轉(zhuǎn)法。進(jìn)程就緒鏈按各進(jìn)程進(jìn)入的先后次序排列,進(jìn)程每次占用處理機(jī)的輪轉(zhuǎn)時(shí)間按其重要程度登入進(jìn)程控制塊中的輪轉(zhuǎn)時(shí)間片數(shù)記錄項(xiàng)(相當(dāng)于優(yōu)先數(shù)法的優(yōu)先數(shù)記錄項(xiàng)位置)。每過一個(gè)時(shí)間片,運(yùn)行進(jìn)程占用處理機(jī)的時(shí)間片數(shù)加1,然后比較占用處理機(jī)的時(shí)間片數(shù)是否與該進(jìn)程的輪轉(zhuǎn)時(shí)間片數(shù)相等,若相等說明已到達(dá)輪轉(zhuǎn)時(shí)間,應(yīng)將現(xiàn)運(yùn)行進(jìn)程排到就緒鏈末尾,調(diào)度鏈?zhǔn)走M(jìn)程占用處理機(jī),且改變它們的進(jìn)程狀態(tài),直至所有進(jìn)程完成各自的時(shí)間片。進(jìn)程控制塊結(jié)構(gòu)如下:PCB進(jìn)程ID進(jìn)程狀態(tài)輪轉(zhuǎn)時(shí)間片數(shù)進(jìn)程所需時(shí)間片數(shù)鏈指針進(jìn)程控制塊鏈結(jié)構(gòu)如下:TAILTAILRUNR…HEADW…W…W…2.5主要功能本程序選用簡單輪轉(zhuǎn)法對(duì)n個(gè)進(jìn)程進(jìn)行調(diào)度。每個(gè)進(jìn)程處于運(yùn)行R(run)、就緒W(wait)兩種狀態(tài)之一,并假設(shè)起始狀態(tài)都是就緒狀態(tài)W,當(dāng)進(jìn)程結(jié)束則踢出隊(duì)列。為了便于處理,程序進(jìn)程的運(yùn)行時(shí)間以時(shí)間片為單位計(jì)算。2.6實(shí)現(xiàn)環(huán)境本次課程設(shè)計(jì)結(jié)合算法的特點(diǎn),采用Windows操作系統(tǒng)平臺(tái)。開發(fā)工具為MicrosoftVisualC++6.0。第3章詳細(xì)設(shè)計(jì)及思考題3.1詳細(xì)設(shè)計(jì)3.1.1數(shù)據(jù)結(jié)構(gòu)structpcb{/*定義進(jìn)程控制塊PCB*/charname[10];/*進(jìn)程的名字*/charstate;/*進(jìn)程的狀態(tài)*/intntime;/*進(jìn)程需要的運(yùn)行時(shí)間*/intrtime;/*已執(zhí)行的時(shí)間*/intltime;/*剩余需執(zhí)行的時(shí)間*/structpcb*link;}/*下一個(gè)進(jìn)程控制塊的地址*/3.1.2函數(shù)聲明main()主函數(shù)input()進(jìn)程控制塊函數(shù)insert()插入要構(gòu)造的進(jìn)程函數(shù)disp()顯示當(dāng)前進(jìn)程函數(shù) check()進(jìn)程查看函數(shù)destroy()進(jìn)程撤銷函數(shù)running()進(jìn)程就緒函數(shù)3.1.3函數(shù)input()input()/*建立進(jìn)程控制塊函數(shù)*/{inti,num;printf("\n請(qǐng)輸入進(jìn)程個(gè)數(shù):");scanf("%d",&num);for(i=1;i<=num;i++){p=getpch(PCB);printf("\n輸入第%d個(gè)進(jìn)程名:",i);scanf("%s",p->name);printf("\n輸入第%d個(gè)進(jìn)程運(yùn)行時(shí)間:",i);scanf("%d",&p->ntime);printf("\n");p->rtime=0;p->state='w';p->link=NULL;insert();/*調(diào)用insert函數(shù)把輸入的進(jìn)程插入到隊(duì)列后面*/}}3.2思考題(3) 如果增加進(jìn)程的“等待”狀態(tài),即進(jìn)程因請(qǐng)求輸入輸出等問題而掛起的狀態(tài),如何在程序中實(shí)現(xiàn)?答:阻塞→阻塞/掛起:OS通常將阻塞進(jìn)程換出,以騰出內(nèi)存空間阻塞/掛起→就緒/掛起:當(dāng)阻塞/掛起進(jìn)程等待的事件發(fā)生時(shí),可以將其轉(zhuǎn)換為就緒/掛起。就緒/掛起→就緒:OS需要調(diào)入一個(gè)進(jìn)程執(zhí)行。就緒→就緒/掛起:一般,OS掛起阻塞進(jìn)程。但是有時(shí)也會(huì)掛起就緒進(jìn)程,釋放足夠的內(nèi)存空間。新進(jìn)程→就緒/掛起(新進(jìn)程→就緒):新進(jìn)程創(chuàng)建后,可以插入到就緒隊(duì)列或就緒,掛起隊(duì)列,若無足夠的內(nèi)存分配給新進(jìn)程,則需要新進(jìn)程→就緒/掛起。圖3-1進(jìn)程的掛起和解除掛起的狀態(tài)
第4章程序測試圖4-1輸入進(jìn)程信息及時(shí)間片數(shù)圖4-2進(jìn)程運(yùn)行圖圖4-3進(jìn)程運(yùn)行圖圖4-4進(jìn)程完成圖
第5章總結(jié)經(jīng)過這次的課程設(shè)計(jì),讓我學(xué)到了很多。首先是編程,C語言是大一的課程,現(xiàn)在已經(jīng)遺忘了很多,這次的課程設(shè)計(jì)讓我又溫習(xí)了一遍C語言的知識(shí)點(diǎn)。其次,在編程中遇到了很多問題,經(jīng)過小組同學(xué)之間討論,并查看相關(guān)資料后都一并解決了,對(duì)課本及規(guī)范又有了充分地了解,實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)。因?yàn)檫@次的課程設(shè)計(jì)只有1周,所以程序做的略有粗糙,相信如果再給我們一周時(shí)間,肯定能完善該程序。小組成員各自編的程序在執(zhí)行時(shí)都有錯(cuò)誤,經(jīng)過大家相互查找錯(cuò)誤,終于把完整的程序編寫了出來,并順利完成報(bào)告,讓我明白了我們的工作是一個(gè)團(tuán)隊(duì)的工作,團(tuán)隊(duì)需要個(gè)人,個(gè)人也離不開團(tuán)隊(duì)。課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程。我覺得做課程設(shè)計(jì)同時(shí)也是對(duì)課本知識(shí)的鞏固和加強(qiáng),由于課本上的知識(shí)太多,平時(shí)課間的學(xué)習(xí)并不能很好的理解和運(yùn)用書本上的知識(shí)內(nèi)容,而且考試內(nèi)容有限,課程設(shè)計(jì)就給了我們一個(gè)很好的實(shí)踐結(jié)合的機(jī)會(huì)。平時(shí)看課本時(shí),有時(shí)問題老是弄不懂,做完課程設(shè)計(jì),那些問題就迎刃而解了。這次課程設(shè)計(jì)順利完成了,期間,程序中有幾個(gè)小組成員都沒有注意到的bug,然后在老師的指導(dǎo)下,我們又修改了程序并反復(fù)測試,終于使程序完美了。同時(shí),在老師的身上我學(xué)到了很多實(shí)用的知識(shí),我們應(yīng)該多方面考慮,不能局限在一個(gè)小空間里,要學(xué)會(huì)找出程序不足的地方并填補(bǔ)它。參考文獻(xiàn)[1]湯小丹,梁紅兵,哲風(fēng)屏,湯子瀛.計(jì)算機(jī)操作系統(tǒng).西安:西安電子科技大學(xué)出版社,2011[2]張堯?qū)W,史美林.計(jì)算
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國爽膚品項(xiàng)目投資可行性研究報(bào)告
- 潤白消斑潔面乳行業(yè)市場發(fā)展及發(fā)展趨勢與投資戰(zhàn)略研究報(bào)告
- 2025年用戶手冊(cè)行業(yè)深度研究分析報(bào)告
- 2025-2030年中國韭菜專用殺菌劑行業(yè)深度研究分析報(bào)告
- 電腦回流焊機(jī)行業(yè)行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究分析報(bào)告
- 果汁飲料生產(chǎn)建設(shè)可行性研究報(bào)告申請(qǐng)備案
- 玻璃纖維繩行業(yè)行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究分析報(bào)告
- 北京馬鈴薯淀粉項(xiàng)目申請(qǐng)報(bào)告模板參考
- 中國防火隔熱材料市場供需現(xiàn)狀及投資戰(zhàn)略研究報(bào)告
- 2025年玻璃殼項(xiàng)目可行性研究報(bào)告
- 酒店春節(jié)營銷方案
- 營銷管理方案中的定價(jià)策略與盈利模式
- 2024年西寧城市職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 2024年臨沂市高三一模(學(xué)業(yè)水平等級(jí)考試模擬試題)物理試卷
- 廣州獵德大橋三維曲面塔清水混凝土施工技術(shù)
- 我國糖尿病視網(wǎng)膜病變臨床診療指南2022解讀
- 高級(jí)茶藝師技能鑒定(協(xié)會(huì)版)備考題庫-下(多選、判斷題匯總)
- 特種設(shè)備作業(yè)人員體檢表(叉車)
- c30混凝土路面施工方案
- 加強(qiáng)師德師風(fēng)建設(shè)學(xué)校師德師風(fēng)警示教育講座培訓(xùn)課件
- 豬飼料購銷合同書
評(píng)論
0/150
提交評(píng)論