版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
實驗報告學(xué)院〔系〕名稱:計算機(jī)與通信工程學(xué)院姓名********學(xué)號*********專業(yè)信息與計算科學(xué)班級2012級1班實驗工程實驗一:處理機(jī)調(diào)度算法的實現(xiàn)課程名稱操作系統(tǒng)課程代碼0668036實驗時間2014-11-285-6節(jié)2014-12-31-2節(jié)2014-12-55-6節(jié)實驗地點主校區(qū)7-219批改意見成績教師簽字:實驗內(nèi)容:設(shè)定系統(tǒng)中有五個進(jìn)程,每一個進(jìn)程用一個進(jìn)程控制塊表示。輸入每個進(jìn)程的“優(yōu)先數(shù)”和“要求運行時間”。為了調(diào)度方便,將五個進(jìn)程按給定的優(yōu)先數(shù)從大到小連成就緒隊列。用一單元指出隊列首進(jìn)程,用指針指出隊列的連接情況。處理機(jī)調(diào)度總是選隊首進(jìn)程運行。采用動態(tài)優(yōu)先數(shù)算法,進(jìn)程每運行一次優(yōu)先數(shù)就減“1”,同時將運行時間減“1”。假設(shè)某進(jìn)程運行時間為零,那么將其狀態(tài)置為“結(jié)束”,且退出隊列。運行所設(shè)計程序,顯示或打印逐次被選中進(jìn)程的進(jìn)程名,以及進(jìn)程控制塊的動態(tài)變化過程。實驗要求:詳細(xì)描述實驗設(shè)計思想、程序結(jié)構(gòu)及各模塊設(shè)計思路;詳細(xì)描述程序所用數(shù)據(jù)結(jié)構(gòu)及算法;明確給出測試用例和實驗結(jié)果;為增加程序可讀性,在程序中進(jìn)行適當(dāng)注釋說明;認(rèn)真進(jìn)行實驗總結(jié),包括:設(shè)計中遇到的問題、解決方法與收獲等;實驗報告撰寫要求結(jié)構(gòu)清晰、描述準(zhǔn)確邏輯性強(qiáng);實驗過程中,同學(xué)之間可以進(jìn)行討論互相提高,但絕對禁止抄襲?!緦嶒炦^程記錄〔源程序、測試用例、測試結(jié)果及心得體會等〕】源程序:類一:package實驗一;publicclassPCB{ Stringname; intpriority; inttime; Stringstate="就緒"; publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ =name; } publicintgetPriority(){ returnpriority; } publicvoidsetPriority(intpriority){ this.priority=priority; } publicintgetTime(){ returntime; } publicvoidsetTime(inttime){ this.time=time; }}類二:package實驗一;importjava.awt.event.MouseEvent;importjava.awt.event.MouseListener;importjava.util.Vector;classAdmin{ //輸出 publicvoidprint(Vector<PCB>pcbs){ for(inti=0;i<pcbs.size();i++){ System.out.println(pcbs.get(i).name+"\t"+pcbs.get(i).priority+ "\t"+pcbs.get(i).time+"\t"+pcbs.get(i).state); } } //按進(jìn)程的優(yōu)先級排序 publicvoidsort(Vector<PCB>pcbs){ for(inti=0;i<pcbs.size();i++){ for(intj=0;j<pcbs.size();j++){ if(pcbs.get(i).priority>pcbs.get(j).priority){ inttmp=pcbs.get(i).priority; pcbs.get(i).priority=pcbs.get(j).priority; pcbs.get(j).priority=tmp; Stringname=pcbs.get(i).name; pcbs.get(i).name=pcbs.get(j).name; pcbs.get(j).name=name; intt=pcbs.get(i).time; pcbs.get(i).time=pcbs.get(j).time; pcbs.get(j).time=t; } } } } //運行 publicvoidrun(Vector<PCB>pcbs){ inti=1; while(true){ System.out.println("第"+i+"次運行情況:"); pcbs.get(0).state="正在運行"; print(pcbs); pcbs.get(0).priority--; pcbs.get(0).time--; if(pcbs.get(0).time==0){ System.out.println("============================"); pcbs.get(0).state="已被移出"; System.out.println(pcbs.get(0).name+"\t"+pcbs.get(0).priority+"\t"+ pcbs.get(0).time+"\t"+pcbs.get(0).state); pcbs.remove(0); } sort(pcbs); if(pcbs.size()==0){ System.out.println("程序已結(jié)束運行"); break; } i++; } } }類三:package實驗一;importjava.awt.event.MouseEvent;importjava.awt.event.MouseListener;importjava.util.Scanner;importjava.util.Vector;importjavax.swing.JButton;importjavax.swing.JFrame;publicclassExperiment{ publicstaticvoidmain(String[]args){ Experimentex=newExperiment(); Vector<PCB>pcbs=newVector<PCB>(); System.out.println("請輸入進(jìn)程數(shù):"); Scannerinput=newScanner(System.in); intn=input.nextInt(); Adminadmin=newAdmin(); //添加進(jìn)程 for(inti=0;i<n;i++){ PCBpcb=newPCB(); System.out.println("請輸入第"+(i+1)+"個進(jìn)程的名字/優(yōu)先級/運行時間用空格隔開:"); =input.next(); pcb.priority=input.nextInt(); pcb.time=input.nextInt(); pcbs.add(pcb); } System.out.println("進(jìn)程名\t優(yōu)先級\t運行時間\t狀態(tài)"); admin.print(pcbs); //按優(yōu)先級排序 System.out.println(); System.out.println("按優(yōu)先級排序后的結(jié)果為:"); admin.sort(pcbs); System.out.println("進(jìn)程名\t優(yōu)先級\t運行時間\t狀態(tài)"); admin.print(pcbs); //運行 System.out.println(); System.out.println("進(jìn)程運行狀態(tài):"); System.out.println("進(jìn)程名\t優(yōu)先級\t運行時間\t狀態(tài)"); admin.run(pcbs); }}運行結(jié)果:請輸入進(jìn)程數(shù):5請輸入第1個進(jìn)程的名字/優(yōu)先級/運行時間用空格隔開:進(jìn)程186請輸入第2個進(jìn)程的名字/優(yōu)先級/運行時間用空格隔開:進(jìn)程263請輸入第3個進(jìn)程的名字/優(yōu)先級/運行時間用空格隔開:進(jìn)程329請輸入第4個進(jìn)程的名字/優(yōu)先級/運行時間用空格隔開:進(jìn)程454請輸入第5個進(jìn)程的名字/優(yōu)先級/運行時間用空格隔開:進(jìn)程572進(jìn)程名 優(yōu)先級 運行時間 狀態(tài)進(jìn)程1 8 6 就緒進(jìn)程2 6 3 就緒進(jìn)程3 2 9 就緒進(jìn)程4 5 4 就緒進(jìn)程5 7 2 就緒按優(yōu)先級排序后的結(jié)果為:進(jìn)程名 優(yōu)先級 運行時間 狀態(tài)進(jìn)程1 8 6 就緒進(jìn)程5 7 2 就緒進(jìn)程2 6 3 就緒進(jìn)程4 5 4 就緒進(jìn)程3 2 9 就緒進(jìn)程運行狀態(tài):進(jìn)程名 優(yōu)先級 運行時間 狀態(tài)第1次運行情況:進(jìn)程1 8 6 正在運行進(jìn)程5 7 2 就緒進(jìn)程2 6 3 就緒進(jìn)程4 5 4 就緒進(jìn)程3 2 9 就緒第2次運行情況:進(jìn)程5 7 2 正在運行進(jìn)程1 7 5 就緒進(jìn)程2 6 3 就緒進(jìn)程4 5 4 就緒進(jìn)程3 2 9 就緒第3次運行情況:進(jìn)程1 7 5 正在運行進(jìn)程2 6 3 就緒進(jìn)程5 6 1 就緒進(jìn)程4 5 4 就緒進(jìn)程3 2 9 就緒第4次運行情況:進(jìn)程2 6 3 正在運行進(jìn)程5 6 1 就緒進(jìn)程1 6 4 就緒進(jìn)程4 5 4 就緒進(jìn)程3 2 9 就緒第5次運行情況:進(jìn)程5 6 1 正在運行進(jìn)程1 6 4 就緒進(jìn)程4 5 4 就緒進(jìn)程2 5 2 就緒進(jìn)程3 2 9 就緒============================進(jìn)程5 5 0 已被移出第6次運行情況:進(jìn)程1 6 4 正在運行進(jìn)程2 5 2 就緒進(jìn)程4 5 4 就緒進(jìn)程3 2 9 就緒第7次運行情況:進(jìn)程2 5 2 正在運行進(jìn)程4 5 4 就緒進(jìn)程1 5 3 就緒進(jìn)程3 2 9 就緒第8次運行情況:進(jìn)程4 5 4 正在運行進(jìn)程1 5 3 就緒進(jìn)程2 4 1 就緒進(jìn)程3 2 9 就緒第9次運行情況:進(jìn)程1 5 3 正在運行進(jìn)程2 4 1 就緒進(jìn)程4 4 3 就緒進(jìn)程3 2 9 就緒第10次運行情況:進(jìn)程2 4 1 正在運行進(jìn)程4 4 3 就緒進(jìn)程1 4 2 就緒進(jìn)程3 2 9 就緒============================進(jìn)程2 3 0 已被移出第11次運行情況:進(jìn)程1 4 2 正在運行進(jìn)程4 4 3 就緒進(jìn)程3 2 9 就緒第12次運行情況:進(jìn)程4 4 3 正在運行進(jìn)程1 3 1 就緒進(jìn)程3 2 9 就緒第13次運行情況:進(jìn)程1 3 1 正在運行進(jìn)程4 3 2 就緒進(jìn)程3 2 9 就緒============================進(jìn)程1 2 0 已被移出第14次運行情況:進(jìn)程4 3 2 正在運行進(jìn)程3 2 9 就緒第15次運行情況:進(jìn)程4 2 1 正在運行進(jìn)程3 2 9 就緒============================進(jìn)程4 1 0 已被移出
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025冰淇淋加盟合同范文
- 基于小樣本的柑橘缺陷檢測研究
- 傳統(tǒng)車企產(chǎn)品智能化轉(zhuǎn)型路徑研究
- 2025年度城市軌道交通車輛制造與維護(hù)合同3篇
- 2025年度測繪技術(shù)培訓(xùn)與咨詢服務(wù)合同8篇
- 急性髓系白血病靶向治療新策略的探索與研究
- 基于2025年度標(biāo)準(zhǔn)的招投標(biāo)合同管理與審計要求3篇
- 2025版不銹鋼門采購及施工安裝工程合同4篇
- 2025年度高端純凈水品牌代理銷售合同范本8篇
- 二零二五年度存量房交易背景調(diào)查合同4篇
- 《醫(yī)院財務(wù)分析報告》課件
- 2025老年公寓合同管理制度
- 2024-2025學(xué)年人教版數(shù)學(xué)六年級上冊 期末綜合卷(含答案)
- 2024中國汽車后市場年度發(fā)展報告
- 感染性腹瀉的護(hù)理查房
- 天津市部分區(qū)2023-2024學(xué)年高二上學(xué)期期末考試 物理 含解析
- 《人工智能基礎(chǔ)》全套英語教學(xué)課件(共7章)
- 廢鐵收購廠管理制度
- 物品賠償單范本
- 《水和廢水監(jiān)測》課件
- 滬教版六年級數(shù)學(xué)下冊課件【全冊】
評論
0/150
提交評論