優(yōu)先數(shù)調(diào)度算法_第1頁
優(yōu)先數(shù)調(diào)度算法_第2頁
優(yōu)先數(shù)調(diào)度算法_第3頁
優(yōu)先數(shù)調(diào)度算法_第4頁
優(yōu)先數(shù)調(diào)度算法_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、湖北師范學(xué)院操作系統(tǒng)實(shí)驗(yàn)報(bào)告學(xué)生學(xué)號: 2011115010820學(xué)生班級:1108學(xué)生姓名:M指導(dǎo)老師:李曉瑾完成時(shí)間:2013年12月28號實(shí)習(xí)題目:優(yōu)先數(shù)調(diào)度算法程序中使用的數(shù)據(jù)結(jié)構(gòu)及符號說明:創(chuàng)建一個(gè)Process類存放進(jìn)程,進(jìn)程中創(chuàng)建四個(gè)私有成員,private Stiiiig name;/進(jìn)程名private Integer time;/運(yùn)行時(shí)間private Integer power;/優(yōu)先級private Stiiiig status = ”R;進(jìn)程狀態(tài)類中創(chuàng)建公有方法 setName (), getName (), setTmie (), getTmie (), setPo

2、wer (), getPower (), setStatus(),getStatus ( )o源程序及注釋:public class TmieManage /* J* param args the conmiand line arguments*/public static void niaiii(Stimg args) TmieManage tm = new TimeManage();tm input。;tm.iun();System.out.pnntln(H運(yùn)行完畢);)/*建立一個(gè)list,存放進(jìn)程*/private AirayList list = new ArrayListQ;/*創(chuàng)

3、建input()方法*/private void mput() (System, out.pnntln(H 請輸入進(jìn)程的數(shù)量(int);Seamier scan = new Scamier(System.in);mt num = scan.nextliitQ;fbr (iiit i = 1; i= num; i+) Process pro = new Process();System.out.prmtliiC,輸入進(jìn)程+ i + 的進(jìn)程名(String)優(yōu)先級(int)運(yùn)行時(shí)間(int)”);pio.setName(scaii.nextQ);pro.setPowei(scan.nextInt(

4、);pro.setTuue(scan.nextInt();pro. set Statu s( ”W”); list.add(pro);)*獲得hst中的優(yōu)先級最大的那個(gè)進(jìn)程號(在list中的位置)*paiam listiemin /返回 int 型 */public hit getMax(List list) (Iteiator iter = list.iterator。; mt max = 100: int i = 0, k = 0; while (iter.hasNext() Process pro = (Process) iter.next();if (pro.getPower() ma

5、x) max = pro.getPower(); k = i; 1 J 1+; return k; ) /*進(jìn)程運(yùn)行的具體過程*/private void mnQ AnayList list! = (AirayList) list.cloneQ;TuneManage tm = new TimeManage();mtrn=M/第幾次運(yùn)行wliile (Histl.isEmptyO) int flag = 0;/作為標(biāo)志。1表示因?yàn)檫M(jìn)程運(yùn)行時(shí)間減為0后,完全銷毀int max = tm.getMax(listl);Process pro = (Process) listl.get(max);Sys

6、tem.out.pnndn(”第”+ m + ”次運(yùn)行現(xiàn)在正在運(yùn)行的進(jìn)程:”);System. out.println(”進(jìn)程號優(yōu)先級剩余運(yùn)行時(shí)間運(yùn)行狀態(tài)”);System.out.piiiitlii(pio.getName() + MH+ pio.getPowerQ + (pro.getTmieO - 1) + HR); int time = pro.getTmie(); pro.setTiine(time -1);/修改運(yùn)行時(shí)間 pro.setPower(pro.getPowerQ - 1)J/修改優(yōu)先級 listl.set(max, pro);/將己經(jīng)修改后的進(jìn)程放回原來的list 3i

7、f(tmie-l) = O) (/如果進(jìn)程的運(yùn)行時(shí)間己經(jīng)減為0時(shí),撤銷該進(jìn)程System.out.pimthi(H進(jìn)程“ + pro.getNaine() + “ 結(jié)束運(yùn)行l(wèi)ist 1 .remove(max); flag+;表示因?yàn)闀r(shí)間運(yùn)行結(jié)束,而銷毀。方便在1誼2中撤銷進(jìn)程判斷AiiayList list2 = new AirayList();/目的是復(fù)制一個(gè) list,輸出余下的幾個(gè) 進(jìn)程list2 = (AirayList) list 1.clone。;/list2.addAll(list 1);/將 listl 復(fù)制給 list2Lf(flag= 0) (/若果時(shí)間運(yùn)行結(jié)束后,前面己

8、經(jīng)被銷毀了,則表示為1,這里就不需要?jiǎng)h除 了list2 .remove(max);/將己經(jīng)輸出了的一個(gè)進(jìn)程撤銷if (!list2.isEmptyO) 如果沒有了等待進(jìn)程,則不用輸出System. outpnndn(”第“+ (rn+) + “次運(yùn)行等待運(yùn)行的進(jìn)程:, else (System.out.pimtlii(沒有等待的進(jìn)程! );m+; 運(yùn)行次數(shù)也需要加1wlule (!list2.isEmpty() 將剩余的其他幾個(gè)進(jìn)程輸出來hit max2 = tin.getMax(list2);Process proc = (Process) Iist2.get(niax2)/輸出的時(shí)候選擇優(yōu)

9、先級最大的一個(gè)進(jìn)程System.out.pimthi(進(jìn)程號優(yōu)先級剩余運(yùn)行時(shí)間運(yùn)行狀態(tài)”);System.out.priiitlii(pioc.getNaine() + H+ pioc.getPower() +HH+ proc.getTune() + ”WH);Iist2.remove(niax2)y/每次輸出了一個(gè)進(jìn)程之后,將這個(gè)進(jìn)程銷毀)流程圖:L戛攔打印運(yùn)行作業(yè),運(yùn)行一次蕓程優(yōu)先羞=伉撅 -1.廷行時(shí)間=近行仃間4判枝共您是否 運(yùn)行充早物出各個(gè)遂程法亍信況至束運(yùn)行結(jié)果截圖:輸入兩個(gè)進(jìn)程:進(jìn)程名:pl,優(yōu)先級:5,運(yùn)行時(shí)間:2 進(jìn)程名:p2,優(yōu)先級:4,運(yùn)行時(shí)間:3 運(yùn)行結(jié)果截圖如下:run*礙禽入注程的教量Gnth 2輸入進(jìn)105走程名(String)優(yōu)匏(int)定行時(shí)間(int) pl 5 2瑜入進(jìn)程2的走程W (String)伉羌級(int)歪行時(shí)間(int) p2 4 3 第L次近行現(xiàn)在正在運(yùn)行的送塾 送程號優(yōu)先通瀏余運(yùn)嚀時(shí)間運(yùn)行狀態(tài) TOC o 1-5 h z P1-5R第次運(yùn)容等待運(yùn)行的注程: 注程號優(yōu)先紜崽會(huì)運(yùn)行時(shí)間p2-43R第2次迄行現(xiàn)在正在運(yùn)行的注程】 送程號伉先級剩余運(yùn)行時(shí)間運(yùn)行狀恣pl4 0R注程P1皓束適行 第2次運(yùn)容等待運(yùn)行的注程: 遂程號優(yōu)先皺明豪適行時(shí)間適行狀志p243第3次運(yùn)行現(xiàn)在正

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論