




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Evaluation Warning: The document was created with Spire.Doc for .NET.操作系統(tǒng)統(tǒng)課程設(shè)設(shè)計報報告學(xué) 號號: 姓 名名: 班 級級: 指導(dǎo)教師: 報告日期: 一、課設(shè)目目的通過對操作作系統(tǒng)課程程的學(xué)習(xí),熟熟悉進(jìn)程程的概念念、進(jìn)程程的管理理與存儲儲、進(jìn)程程的調(diào)度度,通過過實踐深深入理解解進(jìn)程的的調(diào)度算算法。二、課設(shè)任任務(wù)要求編寫一一個程序序,可以以創(chuàng)建若若干個虛虛擬進(jìn)程,并并對若干干個虛擬擬進(jìn)程進(jìn)進(jìn)行調(diào)度度,調(diào)度度策略為為時間片片輪轉(zhuǎn)法法,主要要任務(wù)包包括: 進(jìn)程的個個數(shù),進(jìn)進(jìn)程的內(nèi)內(nèi)容(即即進(jìn)程的的功能序序列)來來源于一一個進(jìn)程
2、程序列描描述文件件,另外外調(diào)度運(yùn)運(yùn)行結(jié)果果輸出到到一個運(yùn)運(yùn)行日志志文件; 設(shè)計PCCB適用于于時間片片輪轉(zhuǎn)法法; 建立進(jìn)程程隊列; 實現(xiàn)時間間片輪轉(zhuǎn)轉(zhuǎn)調(diào)度算算法,盡盡量可視視化的展展示調(diào)度度的動態(tài)態(tài)過程。 eq oac(,5) 總結(jié)程序序設(shè)計的的開發(fā)過過程:需需求分析析、系統(tǒng)統(tǒng)設(shè)計、系系統(tǒng)實現(xiàn)現(xiàn)及文檔檔的收集集和整理理。三、實驗方方法與設(shè)設(shè)計分析析每個進(jìn)程有有一個進(jìn)進(jìn)程控制制塊( PCCB)表示示。進(jìn)程程控制塊塊可以包包含如下下信息:進(jìn)程程名、優(yōu)優(yōu)先數(shù)、到到達(dá)時間間、需要運(yùn)運(yùn)行時間間、已用用CPU時間、進(jìn)進(jìn)程狀態(tài)態(tài)等等。進(jìn)程的優(yōu)先先數(shù)及需需要的運(yùn)運(yùn)行時間間可以事事先人為為地指定定(也可可以由隨
3、隨機(jī)數(shù)產(chǎn)產(chǎn)生)。進(jìn)進(jìn)程的到到達(dá)時間間為輸入入進(jìn)程的的時間。進(jìn)程的運(yùn)行行時間以以時間片片為單位位進(jìn)行計計算。每個進(jìn)程的的狀態(tài)可可以是就就緒 W(Waiit)、運(yùn)運(yùn)行R(Run)、或或完成F(Finnishh)三種種狀態(tài)之之一。就緒進(jìn)程獲獲得 CPPU后都只只能運(yùn)行行一個時時間片。用用已占用用CPU時間加1來表示示。如果運(yùn)行一一個時間間片后,進(jìn)進(jìn)程的已已占用 CPPU時間已已達(dá)到所所需要的的運(yùn)行時時間,則則撤消該該進(jìn)程,如如果運(yùn)行行一個時時間片后后進(jìn)程的的已占用用CPU時間還還未達(dá)所所需要的的運(yùn)行時時間,也也就是進(jìn)進(jìn)程還需需要繼續(xù)續(xù)運(yùn)行,此此時應(yīng)將將進(jìn)程的的優(yōu)先數(shù)數(shù)減1(即降降低一級級),然然后把
4、它它插入就就緒隊列列等待CPU。每進(jìn)行一次次調(diào)度程程序都打打印一次次運(yùn)行進(jìn)進(jìn)程、就就緒隊列列、以及及各個進(jìn)進(jìn)程的 PCCB,以便便進(jìn)行檢檢查。重復(fù)以上過過程,直直到所要要進(jìn)程都都完成為為止四、程序流流程圖開始開始設(shè)置時間片設(shè)置時間片選擇選擇增加增加進(jìn)程 是結(jié)束進(jìn)程結(jié)束進(jìn)程PCB順序繼續(xù)增加PCB順序繼續(xù)增加調(diào)度進(jìn)程調(diào)度進(jìn)程結(jié)束打印進(jìn)程PC結(jié)束打印進(jìn)程PCB順序循環(huán)循環(huán)五、程序源源代碼#inclludee sttdaffx.hh#inclludee #inclludee #inclludee #inclludee #inclludee #inclludee usingg nammesppacee
5、 sttd;ofstrreamm myyfille(bb.txtt,iios:appp|ioss:ttrunnc);typeddef strructt noode chaar nnamee100;/*進(jìn)程程名*/ intt rooundd; /*進(jìn)程程分配的的時間片片*/ intt cpputiime; /*進(jìn)程程消耗的的CUPP時間*/ intt neeedttimee; /*進(jìn)程程需要的的CUPP時間*/ intt coountt; /*進(jìn)程運(yùn)運(yùn)行時間間*/ chaar sstatte; /*進(jìn)程程的狀態(tài)態(tài):RR:運(yùn)運(yùn)行,W:等待,F:結(jié)束束*/ strructt noode *neext
6、;/*指向向下一個個進(jìn)程的的指針*/ PCB;PCB *finnishh,*rreaddy,*taiil,*runn;/*指向三三個隊列列的隊首首的指針針,taail為為就緒隊隊列的隊隊尾指針針*/ int NN;/*定義進(jìn)程程的數(shù)目目*/ void firrstiin(voiid) iif(rreaddy!=NULLL) ruun=rreaddy; reeadyy=reeadyy-nnextt; ruun-staate=R; ruun-nexxt=NNULLL; eelsee runn=NUULL; void prtt1(ccharr a)couttnamme cpuutimme neeed
7、tiime coountt rrounnd sstatteenndl;myfiilennamee ;myffilee cpuutimme;myffilee neeedttimee;myffilee couunt ;mmyfiile rrounnd;myffilee staateeendll; void prtt2(ccharr a,PCBB *pp) couttnnamee cpuutimme neeedttimee ccounnt rouund staateenndl;myfiilenaame ;myyfillecpuutimme ;myyfilleneeedtiime ;myffileec
8、counnt ;mmyfiilerooundd ;myffileesstatteneext; p=ffiniish; whiile(p!=NULLL) prrt2(alggo,pp); p=p-nexxt; gettchaar();void inssertt(PCCB *q) ttaill-nnextt=q; ttaill=q; qq-nnextt=NUULL; void rcrreatte_ttaskk(chhar alggo) PCBB *pp; intt n,timme; chaar nna110; reaady=NULLL; finnishh=NUULL; runn=NUULL; co
9、uutNN; forr(n=0;nnN;n+) p=(PCBB*)mmallloc(sizeeof(PCBB); couutEnnterr thhe nnamee off prroceess:nna; couutEnnterr thhe ttimee off prroceess:ttimee; strrcpyy(p-naame,na); p-cpuutimme=00; p-neeedtiime=timme; p-couunt=0; p-staate=W; p-rouund=2; if(reaady!=NUULL) innsert(p); elsse pp-nnextt=reeadyy; rre
10、addy=pp; ttaill=p; run=reaady; readdy=rreaddy-nexxt; run-sttatee=RR; coutt創(chuàng)建成成功。coountt=rrun-rooundd) rrun-coountt=0; iif(rreaddy!=NULLL) ruun-staate=W; innserrt(rrun); fiirsttin(); pprt(alggo);void rouundrrun(chaar aalgoo) whiile(runn!=NNULLL) runn-ccputtimee=ruun-cpuutimme+11; runn-nneeddtimme=rru
11、n-neeedttimee-1; runn-ccounnt=rrun-coountt+1; if(runn-nneeddtimme=0) rrun-neext=finnishh; ffiniish=runn; rrun-sttatee=FF; rrun=NULLL; iif(reeadyy!=NNULLL) fiirsttin(); ellse if(rrun-coountt=rrun-rooundd) runn-ccounnt=00; if(rreaddy!=NULLL) ruun-staate=W; innserrt(rrun); fiirsttin(); prrt(aalgoo); vo
12、id caiidann() couut*主頁*enndl; couut*11.I 創(chuàng)建若若干進(jìn)程程*enndl; couut*22.C 進(jìn)程進(jìn)進(jìn)行查看看*enndl; couut*33.O 進(jìn)程進(jìn)進(jìn)行調(diào)度度*enndl; couut*44.H 結(jié)束束 *allgo;if(aalgoo=i|allgo=II) rccreaate_tassk(aalgoo); eelsee if(aalgoo=c|allgo=CC) cchakkan(alggo); elsee if(aalgoo=o|allgo=OO)rouundrrun(alggo);elsee if(aalgoo=h|allgo=HH)go
13、tto lloopp2;gotoo looop11;loop22: myfiile.cloose();retuurn 0;六、運(yùn)行結(jié)結(jié)果七、問題及及解決方方法 (1) 處理器器調(diào)度總總是選隊隊首進(jìn)程程運(yùn)行。采采用動態(tài)態(tài)改變優(yōu)優(yōu)先數(shù)的的辦法,進(jìn)進(jìn)程每運(yùn)運(yùn)行一次次優(yōu)先數(shù)數(shù)就減“1”。由于于本實習(xí)習(xí)是模擬擬處理器器調(diào)度,所所以,對對被選中中的進(jìn)程程并不實實際的啟啟動運(yùn)行行,而是是執(zhí)行(2) 進(jìn)進(jìn)程運(yùn)行行一次后后,若要要求運(yùn)行行時間0,則再再將它加加入隊列列(按優(yōu)優(yōu)先數(shù)大大小插入入,且置置隊首標(biāo)標(biāo)志);若要求求運(yùn)行時時間=00,則把把它的狀狀態(tài)修改改成“結(jié)束”(E),且且退出隊隊列。(3) 若若“就緒
14、”狀態(tài)的的進(jìn)程隊隊列不為為空,則則重復(fù)上上面(11)和(22)的步步驟,直直到所有有進(jìn)程都都成為“結(jié)束”狀態(tài)。(4) 在在所設(shè)計計的程序序中應(yīng)有有顯示或或打印語語句,能能顯示或或打印每每次被選選中進(jìn)程程的進(jìn)程程名以及及運(yùn)行一一次后進(jìn)進(jìn)程隊列列的變化化。(5) 為為五個進(jìn)進(jìn)程任意意確定一一組“優(yōu)先數(shù)數(shù)”和“要求運(yùn)運(yùn)行時間間”,啟動動所設(shè)計計的處理理器調(diào)度度程序,顯顯示或打打印逐次次被選中中進(jìn)程的的進(jìn)程名名以及進(jìn)進(jìn)程控制制塊的動動態(tài)變化化過程。八、心得體體會操作系統(tǒng)是是計算機(jī)機(jī)系統(tǒng)中中必不可可少的系系統(tǒng)軟件件。它是是計算機(jī)機(jī)系統(tǒng)中中各種資資源的管管理者和和各種活活動的組組織者、指指揮者。操操作系統(tǒng)統(tǒng)采用時時間片法法調(diào)度進(jìn)進(jìn)程,使系統(tǒng)統(tǒng)資源得得到充分分的利用用,用戶也也可以花花更少的的時間完完成更多多的工作作,這次次模擬系系統(tǒng)調(diào)度度進(jìn)程,讓讓我明白白了系統(tǒng)統(tǒng)時間片片的調(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45365-2025紡織品保濕效果的測定蒸發(fā)熱板測微氣候法
- GB/T 3543.11-2025農(nóng)作物種子檢驗規(guī)程第11部分:品種質(zhì)量品種真實性鑒定
- 2024年電網(wǎng)考試要點回顧:試題及答案
- 鉆石市場的動態(tài)觀察試題及答案
- 2024年系統(tǒng)分析師復(fù)習(xí)必讀試題及答案
- 2025yy房屋租賃代理合同
- 2025合同法律風(fēng)險防控:租賃合同法律風(fēng)險及其防范措施
- 跨學(xué)科視角下的初中物理教學(xué)策略與實施路徑
- 智能化質(zhì)檢設(shè)備的使用試題及答案
- 食品質(zhì)量監(jiān)管政策與質(zhì)檢員考試試題及答案
- Java基礎(chǔ)實踐教程-Java編程基礎(chǔ)
- 養(yǎng)殖烏龜入門知識培訓(xùn)課件
- 高等職業(yè)學(xué)校建設(shè)標(biāo)準(zhǔn)(2022年版)
- 無人機(jī)的生產(chǎn)流程
- 油漆修繕施工方案
- 山東省濟(jì)南市2022-2023學(xué)年高一下學(xué)期期中考試語文試題(解析版)
- 獎學(xué)金評定模型
- 室外管網(wǎng)工程-工程施工進(jìn)度計劃表
- 學(xué)生發(fā)展核心素養(yǎng)與語文學(xué)科核心素養(yǎng)(王光龍老師)
- 耳部銅砭刮痧技術(shù)評分標(biāo)準(zhǔn)
- 向拉齊尼巴依卡同志學(xué)習(xí)ppt
評論
0/150
提交評論