操作系統(tǒng)C-進(jìn)程調(diào)度算法試驗(yàn)報(bào)告_第1頁
操作系統(tǒng)C-進(jìn)程調(diào)度算法試驗(yàn)報(bào)告_第2頁
操作系統(tǒng)C-進(jìn)程調(diào)度算法試驗(yàn)報(bào)告_第3頁
操作系統(tǒng)C-進(jìn)程調(diào)度算法試驗(yàn)報(bào)告_第4頁
操作系統(tǒng)C-進(jìn)程調(diào)度算法試驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、華北科技學(xué)院計(jì)算機(jī)系綜合性實(shí)驗(yàn)實(shí)驗(yàn)報(bào)告課程名稱操作系統(tǒng)C實(shí)驗(yàn)學(xué)期 2012 至 2013 學(xué)年 第 2學(xué)期學(xué)生所在系部計(jì)算機(jī)系年級(jí) 2010 專業(yè)班級(jí)網(wǎng)絡(luò)B10學(xué)生姓名 學(xué)號(hào)任課教師杜杏菁實(shí)驗(yàn)成績計(jì)算機(jī)系制華北科技學(xué)院計(jì)算機(jī)系綜合性實(shí)驗(yàn)報(bào)告操作系統(tǒng)C課程綜合性實(shí)驗(yàn)報(bào)告開課實(shí)驗(yàn)室:基礎(chǔ)六機(jī)房2013年 6月 3日實(shí)驗(yàn)題目進(jìn)程調(diào)度算法模擬一、實(shí)驗(yàn)?zāi)康耐ㄟ^對(duì)進(jìn)程調(diào)度算法的模擬,進(jìn)一步理解進(jìn)程的基本概念,加深對(duì)進(jìn)程運(yùn)行狀態(tài)和進(jìn)程調(diào)度過程、 調(diào)度算法的理解。二、設(shè)備與環(huán)境.硬件設(shè)備:PC機(jī)一臺(tái).軟件環(huán)境:安裝 Windows操作系統(tǒng)或者Linux操作系統(tǒng),并安裝相關(guān)的程序開發(fā)環(huán)境,如 C C+Java等

2、編程語言環(huán)境。三、實(shí)驗(yàn)內(nèi)容(1)用C語言(或其它語言,如 Java)實(shí)現(xiàn)對(duì)N個(gè)進(jìn)程采用某種進(jìn)程調(diào)度算法(如動(dòng)態(tài)優(yōu)先權(quán) 調(diào)度)的調(diào)度。(2)每個(gè)用來標(biāo)識(shí)進(jìn)程的進(jìn)程控制塊PCB可用結(jié)構(gòu)來描述,包括以下字段:進(jìn)程標(biāo)識(shí)數(shù)ID。進(jìn)程優(yōu)先數(shù)PRIORITY ,并規(guī)定優(yōu)先數(shù)越大的進(jìn)程,其優(yōu)先權(quán)越高。進(jìn)程已占用 CPU時(shí)間CPUTIME。進(jìn)程還需占用的 CPU時(shí)間ALLTIME 。當(dāng)進(jìn)程運(yùn)行完畢時(shí),ALLTIME變?yōu)?。進(jìn)程的阻塞時(shí)間 STARTBLOCK ,表示當(dāng)進(jìn)程再運(yùn)行 STARTBLOCK個(gè)時(shí)間片后,進(jìn)程將進(jìn) 入阻塞狀態(tài)。進(jìn)程被阻塞的時(shí)間 BLOCKTIME ,表示已阻塞的進(jìn)程再等待BLOCKTIME

3、 個(gè)時(shí)間片后,將轉(zhuǎn)換成就緒狀態(tài)。進(jìn)程犬態(tài)STATE。隊(duì)列指針NEXT ,用來將PCB排成隊(duì)列。(3)優(yōu)先數(shù)改變的原則:進(jìn)程在就緒隊(duì)列中呆一個(gè)時(shí)間片,優(yōu)先數(shù)增加1。進(jìn)程每運(yùn)行一個(gè)時(shí)間片,優(yōu)先數(shù)減3。(4)為了清楚地觀察每個(gè)進(jìn)程的調(diào)度過程,程序應(yīng)將每個(gè)時(shí)間片內(nèi)的進(jìn)程的情況顯示出來,包括正在運(yùn)行的進(jìn)程,處于就緒隊(duì)列中的進(jìn)程和處于阻塞隊(duì)列中的進(jìn)程。華北科技學(xué)院計(jì)算機(jī)系綜合性實(shí)驗(yàn)報(bào)告四、實(shí)驗(yàn)結(jié)果及分析.實(shí)驗(yàn)代碼#include #includeusing namespace std;struct programchar name;/* 進(jìn)程名*/ TOC o 1-5 h z int atime;/* 到

4、達(dá)時(shí)間*/int stime;/* 服務(wù)時(shí)間*/int ftime;/* 完成時(shí)間*/int rtime;/* 周轉(zhuǎn)時(shí)間*/float qrtime;/*帶權(quán)周轉(zhuǎn)時(shí)間*/;void xianshi(struct program a,int n)int i,j;struct program t;/*將進(jìn)程按時(shí)間排序*/printf(根據(jù)到達(dá)時(shí)間重新排序:n);printf(*進(jìn)程*到達(dá)時(shí)間 *服務(wù)時(shí)間*n);for(j=0;jn-1;j+)for(i=0;iai+1.atime) t.atime=ai.atime;ai.atime=ai+1.atime;ai+1.atime=t.atime;t.

5、name=;=ai+1.name;ai+1.name=;t.stime=ai.stime;ai.stime=ai+1.stime;ai+1.stime=t.stime;華北科技學(xué)院計(jì)算機(jī)系綜合性實(shí)驗(yàn)報(bào)告for(i=0;in;i+)printf(%c%d%d |n,,An);ai.atime,ai.stime);printf( void fcfs(struct program a,int n)int i;int time=0;for(i=0;in;i+)time=time+ai.stime;ai.ftime=time;ai.rtime=ai.

6、ftime-ai.atime;ai.qrtime=(float)ai.rtime/ai.stime;printf(nFCFS 算法:n);周轉(zhuǎn)時(shí) 間* 帶權(quán)周轉(zhuǎn)時(shí) 間printf(* 進(jìn)程*到 達(dá) 時(shí) 間*完成時(shí) 間*n);for(i=0;in;i+)printf(%c%d%.2d%.2d%.2f|n,,ai.atime,ai.ftime,ai.rtime,ai.qrtime);printf(An);void main()int i,m;華北科技學(xué)院計(jì)算機(jī)系綜合性實(shí)驗(yàn)報(bào)告struct program pro4;/*創(chuàng)建進(jìn)程*/printf(* 先來先服務(wù)算法 *n);printf

7、(請(qǐng)輸入進(jìn)程的數(shù)目:n);scanf(%d,&m);i=m;for(i=0;proi.atimeproi.stime;xianshi(pro,m);fcfs(pro,m);getchar();.實(shí)驗(yàn)結(jié)果進(jìn)程的初始化,先輸入進(jìn)程的數(shù)目。創(chuàng)建3個(gè)進(jìn)程,并且分別給它們的進(jìn)程ID、到達(dá)時(shí)間、服務(wù)時(shí)間賦值。華北科技學(xué)院計(jì)算機(jī)系綜合性實(shí)驗(yàn)報(bào)告首先根據(jù)到達(dá)時(shí)間重新將進(jìn)程按由小到大的順序排序,然后再使用FCFS算法,模擬進(jìn)程快調(diào)度過程。華北科技學(xué)院計(jì)算機(jī)系綜合性實(shí)驗(yàn)報(bào)告.實(shí)驗(yàn)結(jié)果分析本次進(jìn)程調(diào)度算法采用的是先來先服務(wù)(FCFS)調(diào)度算法,這是一種最簡(jiǎn)單的調(diào)度算法,該算法既可以用于作業(yè)調(diào)度,

8、也可以用于進(jìn)程調(diào)度。再作業(yè)調(diào)度中采用該算法時(shí),每次調(diào)度都是從后備作業(yè)隊(duì)列中選擇一個(gè)或多個(gè)最先進(jìn)入該隊(duì)列的作業(yè),將它們調(diào)入內(nèi)存,為它們分配資源、創(chuàng)建進(jìn)程,然后放入就緒隊(duì)列。再進(jìn)程調(diào)度中采用FCFS算法時(shí),則每次調(diào)度是從就緒隊(duì)列中選擇一個(gè)最先進(jìn)入該隊(duì)列的進(jìn)程,為之分配處理機(jī),使之投入運(yùn)行。該進(jìn)程一直運(yùn)行到完成或發(fā)生某事件而后才放棄處理機(jī)。此次實(shí)驗(yàn)輸入了 n個(gè)進(jìn)程為例子。它們的名稱分別為a,b,c,達(dá)到時(shí)間分別為 2,0,1需要服務(wù)的時(shí)間分別為3,2,5。然后根據(jù)它們的到達(dá)時(shí)間進(jìn)行重新排列,插入就緒隊(duì)列之中。之后,再通過 FCFS算法為它們分配處理機(jī),進(jìn)行處理。將它們的完成時(shí)間記錄到自身的成員變量f

9、time之中,然后通過公式:周轉(zhuǎn)時(shí)間 =完成時(shí)間-達(dá)到時(shí)間,計(jì)算出周轉(zhuǎn)時(shí)間。再通過公式:帶權(quán)周轉(zhuǎn)時(shí)間 = 周轉(zhuǎn)時(shí)間/服務(wù)時(shí)間。計(jì)算出帶權(quán)周轉(zhuǎn)時(shí)間。可以看出,采用 FCFS算法,先來的進(jìn)程優(yōu)先服務(wù), 它們的帶權(quán)周轉(zhuǎn)時(shí)間都要比之后的進(jìn)程要短。華北科技學(xué)院計(jì)算機(jī)系綜合性實(shí)驗(yàn)報(bào)告五、實(shí)驗(yàn)心得經(jīng)過這次課程設(shè)計(jì),把課本中的理論知識(shí)轉(zhuǎn)化為實(shí)踐,在一定程度上加深了對(duì)優(yōu)先級(jí)數(shù)調(diào)度和循環(huán)調(diào)度算法的理解, 同時(shí)提高了我的動(dòng)手編程能力。 雖然在編程的過程中, 遇到了很多的 困難。但是我掌握了很多東西 。我掌握了先來先服務(wù)的進(jìn)程調(diào)度算法,掌握了程控制塊的定義, 也掌握了對(duì)就緒隊(duì)列, 完成隊(duì)列中節(jié)點(diǎn)的選擇和插入。 操作系

10、統(tǒng)中的一個(gè)核心的問題就是進(jìn)程調(diào) 度問題。對(duì)于不同的作業(yè)條件,情況,特點(diǎn),都有不同的需求和特性。所以采用合理的有針對(duì)性 的進(jìn)程調(diào)度算法至關(guān)重要。采用的正確的進(jìn)程調(diào)度算法,不僅可以讓多個(gè)進(jìn)程并發(fā)執(zhí)行,而且還可以最大化的利用處理機(jī)的工作時(shí)間。這種高效率的調(diào)度策略使得計(jì)算機(jī)能夠很良好的協(xié)調(diào)各個(gè)進(jìn)程或作業(yè)之間的調(diào)度,從而使得計(jì)算機(jī)的運(yùn)算速度有了極大地提高。此外,我也對(duì)其它的調(diào)度方法同樣有了一個(gè)深刻的了解,而且在對(duì)C語言的使用上有了一個(gè)新的高度,希望在以后的試驗(yàn)中做的更好。在將來的學(xué)習(xí)中,我將繼續(xù)努力加深理解操作系統(tǒng)的工作原理。計(jì)算機(jī)操作系統(tǒng)中運(yùn)用到了很多知識(shí),我想我們從這門課中學(xué)到的東西不僅僅只是書本上這么點(diǎn)東西,可以說操作系統(tǒng)是所有的其他計(jì)算機(jī)知識(shí)的基礎(chǔ),但是它也借鑒了很多其

溫馨提示

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

評(píng)論

0/150

提交評(píng)論