



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)用文案華北科技學(xué)院計(jì)算機(jī)學(xué)院綜合性實(shí)驗(yàn)實(shí)驗(yàn)報(bào)告課程名稱計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)學(xué)期2014至2015學(xué)年第一 學(xué)期學(xué)生所在系部計(jì)算機(jī)學(xué)院年級(jí)2012專業(yè)班級(jí)計(jì)科 B121學(xué)生姓名張傳輝學(xué)號(hào)201207014117任課教師王祥仲實(shí)驗(yàn)成績(jī)計(jì)算機(jī)學(xué)院制標(biāo)準(zhǔn)文檔華北科技學(xué)院計(jì)算機(jī)學(xué)院綜合性實(shí)驗(yàn)報(bào)告操作系統(tǒng)課程綜合性實(shí)驗(yàn)報(bào)告開課實(shí)驗(yàn)室:基礎(chǔ)六2014年 11月 30 日進(jìn)程調(diào)度算法模擬程序設(shè)計(jì)實(shí)驗(yàn)題目一、實(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)境1. 硬件設(shè)備: PC機(jī)一臺(tái)2. 軟件環(huán)境:安裝 Windows操作系統(tǒng)或者 Li
2、nux 操作系統(tǒng),并安裝相關(guān)的程序開發(fā)環(huán)境,如 C C+Java 等編程語言環(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)度算法、先來先服務(wù)算法、短進(jìn)程優(yōu)先算法、時(shí)間片輪轉(zhuǎn)調(diào)度算法)調(diào)度執(zhí)行的模擬。( 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)?0。進(jìn)程的阻塞時(shí)間 STARTBLOCK,表示當(dāng)進(jìn)
3、程再運(yùn)行 STARTBLOCK個(gè)時(shí)間片后,進(jìn)程將進(jìn)入阻塞狀態(tài)。進(jìn)程被阻塞的時(shí)間 BLOCKTIME,表示已阻塞的進(jìn)程再等待 BLOCKTIME個(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)程。( 5)分析程序運(yùn)行的結(jié)果,談一下自己的認(rèn)識(shí)。第 1 頁華北科技學(xué)院計(jì)算機(jī)學(xué)院綜合性實(shí)驗(yàn)報(bào)告代碼:import ja
4、va.io.BufferedReader;import java.io.InputStreamReader;public class FCFSANDSJF private static int i;private int j;private int temp;private int m;private int n;private int process_number;private int arrival_time;private int services_time;private int start_time;private int completion_time;private int t
5、urn_around_time;private double add1;private double add2;private double add3;private double add4;private double right_turn_around_time;private void FCFS()System.out.println("n=FCFS先來先服務(wù)算法=");System.out.println("n到達(dá)時(shí)間是: ");for(i=0;i<process_number;i+)System.out.print(arrival_tim
6、ei+"t");System.out.println("n服務(wù)時(shí)間是: ");for(i=0;i<process_number;i+)System.out.print(services_timei+"t");第 2 頁華北科技學(xué)院計(jì)算機(jī)學(xué)院綜合性實(shí)驗(yàn)報(bào)告System.out.println("n開始時(shí)間是: ");for(i=0;i<process_number;i+)ni=arrival_timei;mi=i;for(i=0;i<process_number-1;i+)for(j=i+1;j&l
7、t;process_number;j+)if(ni>nj)temp=ni;ni=nj;nj=temp;temp=mi;mi=mj;mj=temp;start_timem0=arrival_timem0;for(i=1;i<process_number;i+)if(arrival_timemi<start_timemi-1+services_timemi-1)start_timemi=start_timemi-1+services_timemi-1;elsestart_timemi=arrival_timemi;for(i=0;i<process_number;i+)Sy
8、stem.out.print(start_timei+"t");System.out.println("n完成時(shí)間是: ");for(i=0;i<process_number;i+)completion_timei=start_timei+services_timei;第 3 頁華北科技學(xué)院計(jì)算機(jī)學(xué)院綜合性實(shí)驗(yàn)報(bào)告for(i=0;i<process_number;i+)System.out.print(completion_timei+"t");System.out.println("n周轉(zhuǎn)時(shí)間是: "
9、);for(i=0;i<process_number;i+)turn_around_timei=completion_timei-arrival_timei;for(i=0;i<process_number;i+)System.out.print(turn_around_timei+"t");add1=0;for(i=0;i<process_number;i+)add1=add1+turn_around_timei;System.out.println("n平均周轉(zhuǎn)時(shí)間是:"+add1/process_number);System.ou
10、t.println("n帶權(quán)周轉(zhuǎn)時(shí)間是:");for(i=0;i<process_number;i+)right_turn_around_timei=turn_around_timei*1.0/services_timei;for(i=0;i<process_number;i+)System.out.print(right_turn_around_timei+"t");System.out.println("n平均帶權(quán)周轉(zhuǎn)時(shí)間是:");add2=0;for(i=0;i<process_number;i+)add2=a
11、dd2+right_turn_around_timei;System.out.println(add2/process_number);第 4 頁華北科技學(xué)院計(jì)算機(jī)學(xué)院綜合性實(shí)驗(yàn)報(bào)告private void SJF()System.out.println("n=SJF:短作業(yè)優(yōu)先算法=");System.out.println("n到達(dá)時(shí)間是: ");for(i=0;i<process_number;i+)System.out.print(arrival_timei+"t");System.out.println("n
12、服務(wù)時(shí)間是: ");for(i=0;i<process_number;i+)System.out.print(services_timei+"t");System.out.println("n開始時(shí)間是: ");m0=0;for(i=0;i<process_number-1;i+)if(arrival_timei>arrival_timei+1)m0=i+1;for(i=0;i<process_number;i+)ni=services_timei;mi+1=i;for(i=0;i<process_number-1
13、;i+)for(j=i+1;j<process_number;j+)if(ni>nj)temp=ni;ni=nj;nj=temp;temp=mi+1;mi+1=mj+1;mj+1=temp;第 5 頁華北科技學(xué)院計(jì)算機(jī)學(xué)院綜合性實(shí)驗(yàn)報(bào)告for(i=1;i<process_number+1;i+)if(m0=mi)for(j=i;j<process_number;j+)mj=mj+1;start_timem0=arrival_timem0;for(i=1;i<process_number;i+)if(arrival_timemi<start_timemi-1+
14、services_timemi-1)start_timemi=start_timemi-1+services_timemi-1;elsestart_timemi=arrival_timemi;for(i=0;i<process_number;i+)System.out.print(start_timei+"t");System.out.println("n完成時(shí)間是: ");for(i=0;i<process_number;i+)completion_timei=start_timei+services_timei;for(i=0;i<
15、process_number;i+)System.out.print(completion_timei+"t");System.out.println("n周轉(zhuǎn)時(shí)間是: ");for(i=0;i<process_number;i+)turn_around_timei=completion_timei-arrival_timei;第 6 頁華北科技學(xué)院計(jì)算機(jī)學(xué)院綜合性實(shí)驗(yàn)報(bào)告for(i=0;i<process_number;i+)System.out.print(turn_around_timei+"t");add3=0;f
16、or(i=0;i<process_number;i+)add3=add3+turn_around_timei;System.out.println("n平均周轉(zhuǎn)時(shí)間是:"+add3/process_number);System.out.println("n帶權(quán)周轉(zhuǎn)時(shí)間是:");for(i=0;i<process_number;i+)right_turn_around_timei=turn_around_timei*1.0/services_timei;for(i=0;i<process_number;i+)System.out.prin
17、t(right_turn_around_timei+"t");System.out.println("n平均帶權(quán)周轉(zhuǎn)時(shí)間是:");add4=0;for(i=0;i<process_number;i+)add4=add4+right_turn_around_timei;System.out.println(add4/process_number);public static void main(String args) throws ExceptionSystem.out.println("請(qǐng)輸入進(jìn)程數(shù):");FCFSANDSJF
18、 wo=new FCFSANDSJF();BufferedReader buf=null;buf=new BufferedReader(new InputStreamReader(System.in);String str1=null;str1=buf.readLine();第 7 頁華北科技學(xué)院計(jì)算機(jī)學(xué)院綜合性實(shí)驗(yàn)報(bào)告cess_number=Integer.parseInt(str1);wo.arrival_time=new cess_number;wo.services_time=new cess_number;wo.start_time=n
19、ew cess_number+1;pletion_time=new cess_number+1;wo.turn_around_time=new cess_number+1;wo.right_turn_around_time=new cess_number+1;wo.m=new cess_number+1;wo.n=new cess_number;String str=null;String str2=null;System.out.println("n請(qǐng)輸入各進(jìn)程到達(dá)時(shí)間
20、");for(i=0;i<cess_number;i+)str=buf.readLine();wo.arrival_timei=Integer.parseInt(str);System.out.println("n請(qǐng)輸入各個(gè)進(jìn)程服務(wù)時(shí)間");for(i=0;i<cess_number;i+)str2=buf.readLine();wo.services_timei=Integer.parseInt(str2);System.out.println("該進(jìn)程數(shù)為 "+cess_number);Sys
21、tem.out.println("n到達(dá)時(shí)間為 ");for(i=0;i<cess_number;i+)System.out.print(wo.arrival_timei+"t");System.out.println("n服務(wù)時(shí)間為: ");for(i=0;i<cess_number;i+)System.out.print(wo.services_timei+"t");第 8 頁華北科技學(xué)院計(jì)算機(jī)學(xué)院綜合性實(shí)驗(yàn)報(bào)告System.out.println("n=先來先服務(wù)【 0】 =");System.out.println("n=短作業(yè)優(yōu)先【 1】 =");System.out.println("n=退出系統(tǒng)【 2】 =");String str3=null;str3=buf.readLine();i=Integer.parseInt(str3);while(i!=2)switch(i)case 0:wo.FCFS();break;case 1:wo.SJF();break;default:System.out.println("n輸入有誤,請(qǐng)重新輸入");Syst
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 科研課題申報(bào) 評(píng)審書
- 課題申報(bào)書優(yōu)美用語
- 綜合能源服務(wù)課題申報(bào)書
- 課題申報(bào)書基于兒童立場(chǎng)
- 中學(xué)課題立項(xiàng)申報(bào)書
- 輔導(dǎo)員方面課題申報(bào)書
- 員工解除勞務(wù)合同范例
- 京東服裝租賃合同范本
- 合作協(xié)議合同范本格式
- 員工曠工辭退合同范本
- 中小學(xué)食堂財(cái)務(wù)培訓(xùn)
- 2025年煤礦從業(yè)人員安全培訓(xùn)考試題庫
- 四年級(jí)數(shù)學(xué)(四則混合運(yùn)算帶括號(hào))計(jì)算題專項(xiàng)練習(xí)與答案
- 《商務(wù)溝通-策略、方法與案例》課件 第七章 自我溝通
- 2024解析:第十二章機(jī)械效率-基礎(chǔ)練(解析版)
- 建筑工程項(xiàng)目合作備忘錄
- 2024年湖南省中考數(shù)學(xué)試卷含答案
- 靈活用工管理
- 全媒體運(yùn)營師試題庫(含答案)
- 2024至2030年中國礦用隔爆型監(jiān)控?cái)z像儀行業(yè)投資前景及策略咨詢研究報(bào)告
- 大學(xué)生職業(yè)素養(yǎng)訓(xùn)練(第六版)課件 第二單元學(xué)習(xí)職業(yè)禮儀
評(píng)論
0/150
提交評(píng)論