進(jìn)程調(diào)度模擬系統(tǒng)設(shè)計(jì).doc_第1頁(yè)
進(jìn)程調(diào)度模擬系統(tǒng)設(shè)計(jì).doc_第2頁(yè)
進(jìn)程調(diào)度模擬系統(tǒng)設(shè)計(jì).doc_第3頁(yè)
進(jìn)程調(diào)度模擬系統(tǒng)設(shè)計(jì).doc_第4頁(yè)
進(jìn)程調(diào)度模擬系統(tǒng)設(shè)計(jì).doc_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

武漢理工大學(xué)操作系統(tǒng)課程設(shè)計(jì)說明書目 錄1 需求分析 32 整體功能及設(shè)計(jì) 43 編程實(shí)現(xiàn) 84 使用說明13 5 運(yùn)行結(jié)果與運(yùn)行情況156 自我評(píng)析和總結(jié)197 附錄208 參考文21課程設(shè)計(jì)任務(wù)書學(xué)生姓名: 鐘僥 專業(yè)班級(jí): 軟件0504 指導(dǎo)教師: 劉春 工作單位: 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 題 目: 進(jìn)程調(diào)度模擬系統(tǒng)的設(shè)計(jì)強(qiáng)占式高優(yōu)先級(jí)優(yōu)先、時(shí)間片輪轉(zhuǎn)、最高響應(yīng)比優(yōu)先調(diào)度算法 初始條件:1預(yù)備內(nèi)容:閱讀操作系統(tǒng)的處理機(jī)管理章節(jié)內(nèi)容,對(duì)進(jìn)程調(diào)度的功能以及進(jìn)程調(diào)度算法有深入的理解。2實(shí)踐準(zhǔn)備:掌握一種計(jì)算機(jī)高級(jí)語(yǔ)言的使用。要求完成的主要任務(wù): 1模擬進(jìn)程調(diào)度,分別采用強(qiáng)占式高優(yōu)先級(jí)優(yōu)先、時(shí)間片輪轉(zhuǎn)、最高響應(yīng)比優(yōu)先調(diào)度算法。能夠處理以下的情形: 能夠選擇不同的調(diào)度算法(要求中給出的調(diào)度算法); 能夠輸入進(jìn)程的基本信息,如進(jìn)程名、優(yōu)先級(jí)、到達(dá)時(shí)間和運(yùn)行時(shí)間等; 根據(jù)選擇的調(diào)度算法顯示進(jìn)程調(diào)度隊(duì)列; 根據(jù)選擇的調(diào)度算法計(jì)算平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間。2設(shè)計(jì)報(bào)告內(nèi)容應(yīng)說明: 課程設(shè)計(jì)目的與功能; 需求分析,數(shù)據(jù)結(jié)構(gòu)或模塊說明(功能與框圖); 源程序的主要部分; 運(yùn)行結(jié)果與運(yùn)行情況分析; 自我評(píng)價(jià)與總結(jié):i)你認(rèn)為你完成的設(shè)計(jì)哪些地方做得比較好或比較出色;ii)什么地方做得不太好,以后如何改正;iii)從本設(shè)計(jì)得到的收獲(在編寫,調(diào)試,執(zhí)行過程中的經(jīng)驗(yàn)和教訓(xùn));iv)完成本題是否有其他的其他方法(如果有,簡(jiǎn)要說明該方法);v)對(duì)實(shí)驗(yàn)題的評(píng)價(jià)和改進(jìn)意見,請(qǐng)你推薦設(shè)計(jì)題目。時(shí)間安排:設(shè)計(jì)安排一周:周1、周2:完成程序分析及設(shè)計(jì)。周2、周3:完成程序調(diào)試及測(cè)試。周4、周5:撰寫課程設(shè)計(jì)報(bào)告。指導(dǎo)教師簽名: 年 月 日系主任(或責(zé)任教師)簽名: 年 月 日進(jìn)程調(diào)度模擬系統(tǒng)設(shè)計(jì)報(bào)告-強(qiáng)占式高優(yōu)先級(jí)優(yōu)先、時(shí)間片輪轉(zhuǎn)、最高響應(yīng)比優(yōu)先.1需求分析1.1 功能需求模擬進(jìn)程調(diào)度,分別采用強(qiáng)占式高優(yōu)先級(jí)優(yōu)先、時(shí)間片輪轉(zhuǎn)、最高響比優(yōu)先調(diào)度算法。能夠處理以下的情形: 能夠選擇不同的調(diào)度算法(要求中給出的調(diào)度算法); 能夠輸入進(jìn)程的基本信息,如進(jìn)程名、優(yōu)先級(jí)、到達(dá)時(shí)間和運(yùn)行時(shí)間等; 根據(jù)選擇的調(diào)度算法顯示進(jìn)程調(diào)度隊(duì)列; 根據(jù)選擇的調(diào)度算法計(jì)算平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間。1.1.1時(shí)間片輪轉(zhuǎn)法時(shí)間片輪轉(zhuǎn)法是指系統(tǒng)將所有就緒進(jìn)程按FIFO規(guī)則排隊(duì),按一定的時(shí)間間隔把處理機(jī)分配給隊(duì)列中的進(jìn)程。這樣,就緒隊(duì)列中所有進(jìn)程均可獲得一個(gè)時(shí)間片的處理機(jī)而運(yùn)行。1.1.2搶占的高優(yōu)先級(jí)優(yōu)先調(diào)度這種調(diào)度算法給那些系統(tǒng)中得到運(yùn)行的所有進(jìn)程都靜態(tài)地分配一個(gè)優(yōu)先級(jí)。靜態(tài)優(yōu)先級(jí)的分配可以根據(jù)應(yīng)用的屬性來進(jìn)行,比如任務(wù)的周期,用戶優(yōu)先級(jí),或者其它的預(yù)先確定的策略。當(dāng)有比正在運(yùn)行的進(jìn)程優(yōu)先級(jí)更高的進(jìn)程就緒時(shí),系統(tǒng)可強(qiáng)行剝奪正在運(yùn)行進(jìn)程的CPU,提供給具有更高優(yōu)先級(jí)的進(jìn)程使用。1.1.3 最高響應(yīng)比優(yōu)先調(diào)度 最高響應(yīng)比優(yōu)先法是對(duì)FCFS和SJF方式的一種綜合平衡。HRN調(diào)度策略同時(shí)考慮每個(gè)進(jìn)程的等待時(shí)間長(zhǎng)短和估計(jì)需要執(zhí)行時(shí)間長(zhǎng)短,從中選取出響應(yīng)比最高的進(jìn)程投入執(zhí)行。 其中響應(yīng)比表示如下: 響應(yīng)比 = 響應(yīng)時(shí)間/cpu計(jì)算時(shí)間 響應(yīng)時(shí)間 = 等待時(shí)間 + cpu計(jì)算時(shí)間1.2 設(shè)計(jì)語(yǔ)言本程序采用JAVA語(yǔ)言實(shí)現(xiàn)1.3 使用工具和環(huán)境編程工具為:eclispe 3.2 , JDK 1.6.012整體功能及設(shè)計(jì)2.1 數(shù)據(jù)結(jié)構(gòu)進(jìn)程將被描述為一個(gè)對(duì)像,就緒隊(duì)列采用隊(duì)列來表示來表示 2.2模塊說明根據(jù)要求系統(tǒng)主要分為三大模塊:輸出結(jié)果給用戶選擇相應(yīng)算法運(yùn)算輸入處理模塊 2.2.1 輸入處理模塊說明 本次的進(jìn)程描述信息將以xml文件的形式作為輸入,將每個(gè)進(jìn)程信息封裝到一個(gè)ProcessBean中,讓后放到一個(gè)ArrayList里面,這個(gè)ArrayList就是出入處理模塊的輸出。 輸入的xml文件要符合一定的規(guī)范才可以,否則系統(tǒng)將給出相應(yīng)的錯(cuò)誤提示,下面做簡(jiǎn)要說明 * xml文件放在工程目錄下的xmlInput文件夾下,文件名必須是example.xml 樣例如下: 其中對(duì)于priority,reachTime, needTime必須是正整數(shù),每個(gè)process描述,只有Description是可選的。 可以預(yù)測(cè)該xml解析后有三個(gè)進(jìn)程,分別是listenMusic,playGame和tomcatService,進(jìn)程描述如各process的子節(jié)點(diǎn) 2.2.2 算法調(diào)度模塊說明 為了系統(tǒng)的擴(kuò)展性,采用面向接口編程的模式來設(shè)計(jì)算法調(diào)度模塊。 (1) 最高響應(yīng)比:算法的核心流程為:(2) 強(qiáng)占式高優(yōu)先級(jí)優(yōu)先 (3) 時(shí)間片輪轉(zhuǎn) 2.2.3 輸出模塊說明 根據(jù)算法調(diào)度模塊傳遞的outputList,這個(gè)是一個(gè)ArrayList,存放執(zhí)行的進(jìn)程,按進(jìn)程執(zhí)行的先后順序存放。遍歷該list,依次打印出進(jìn)程名,根據(jù)進(jìn)程信息計(jì)算得到的周轉(zhuǎn)時(shí)間和帶權(quán)周轉(zhuǎn)時(shí)間。2.3主干程序流程圖開始輸出選擇菜單用戶輸入選擇算法序號(hào)調(diào)用相關(guān)算法輸入進(jìn)程調(diào)度結(jié)果結(jié)束3編程實(shí)現(xiàn)3.1系統(tǒng)工程目錄3.2 各模塊具體實(shí)現(xiàn)簡(jiǎn)要說明(1)輸入模塊 (2)進(jìn)程調(diào)度算法模塊 * 最高響應(yīng)比核心算法。 * 時(shí)間片輪轉(zhuǎn)核心模塊 * 強(qiáng)占式高優(yōu)先級(jí)優(yōu)先(3)輸出模塊4使用說明4.1 系統(tǒng)運(yùn)行界面4.2 系統(tǒng)使用詳解4.2.1 輸入文件的編寫 進(jìn)程的讀入文件是在系統(tǒng)的工程目錄下的inputxml文件夾下的example.xml。使用系統(tǒng)之前,在該文件中編寫你的進(jìn)程信息。 給出符合要求的案例。 其中的process可以嵌套多個(gè),每個(gè)process代表你的一個(gè)進(jìn)程。需要注意的是每個(gè)進(jìn)程的子標(biāo)簽name,priority,reachTime,needTime都是不可缺少的,如果缺少則該進(jìn)程將被忽略,同樣,后三個(gè)標(biāo)簽的值必須是正整數(shù),否則該進(jìn)程無效。4.2.2 運(yùn)行系統(tǒng)的使用 輸入你想使用哪個(gè)調(diào)度算法的序號(hào),輸入即可,記得只可輸入1,2或3,如果不是這三個(gè),系統(tǒng)將會(huì)檢查出不合法,要求你重新輸入。例如,輸入3,程序運(yùn)行結(jié)果如下:5運(yùn)行結(jié)果與運(yùn)行情況5.1進(jìn)程描述輸入文件example.xml如下:listenMusic213the user want to listen musicplayGame445the user open the game programcoding5310haha,the user go learningtomcatService323starting.the tomcat 5.2強(qiáng)占式高優(yōu)先級(jí)優(yōu)先運(yùn)行結(jié)果: 5.3時(shí)間片輪轉(zhuǎn)運(yùn)行結(jié)果:5.4最高響應(yīng)比優(yōu)先運(yùn)行結(jié)果:6自我評(píng)析和總結(jié)經(jīng)過查找資料、分析,最終成功完成了進(jìn)程調(diào)度模擬系統(tǒng)的設(shè)計(jì)。通過這次課程設(shè)計(jì),我更加熟悉了進(jìn)程調(diào)度的各種算法,對(duì)操作系統(tǒng)有了更深的認(rèn)識(shí),更加是鍛煉了我對(duì)所學(xué)知識(shí)的認(rèn)知應(yīng)用能力。我認(rèn)識(shí)到只學(xué)好課本中的理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,重要的是要把所學(xué)運(yùn)用到實(shí)際中去,理論和實(shí)際應(yīng)用結(jié)合起來,只有這樣,才能找到自己學(xué)到的知識(shí)和具體應(yīng)用起來之間的差距。在設(shè)計(jì)過程中,我也遇到了一些困難,如搶占算法中進(jìn)程優(yōu)先數(shù)實(shí)現(xiàn),后來經(jīng)過查閱資料都解決了。這次課程設(shè)計(jì)使我收獲很多,鍛煉和提高了我的動(dòng)手能力,在今后的學(xué)習(xí)中,我要更加重視實(shí)驗(yàn)與應(yīng)用環(huán)節(jié),培養(yǎng)提高自己的實(shí)際應(yīng)用能力。認(rèn)為自己做的比較出色的地方就是給出了算法接口,通過面向接口編程,使得系統(tǒng)比較容易擴(kuò)展,另外一點(diǎn)就是通過解析xml來讀取進(jìn)程消息,方便用戶輸入。避免了用戶通過命令行讀取的麻煩,xml格式容易讓人理解。缺點(diǎn)是界面方面不是很友好,沒有實(shí)現(xiàn)圖形界面化。還有就是對(duì)解析xml文檔顯得比較復(fù)雜,尤其是判斷進(jìn)程信息的有效性時(shí)顯得很繁瑣。對(duì)Dom的了解有待進(jìn)一步加強(qiáng)。7附錄系統(tǒng)主調(diào)用程序:package whut.zhongyao.os.main;import java.io.IOException;import java.util.ArrayList;import java.util.List;import whut.zhongyao.os.ParseInput;import whut.zhongyao.os.ProcessBean;import whut.zhongyao.os.algorithm.ChargeProcessAlgorithm;import whut.zhongyao.os.algorithm.HighResponseRation;import whut.zhongyao.os.algorithm.PowerHighPriority;import whut.zhongyao.os.algorithm.RoundRobin;public class Main public static void main(String args) List inputList = null/* new ReadSource().parseXML() */;ParseInput pi = new ParseInput();inputList = pi.parseXML();if (inputList = null) System.out.println(進(jìn)程隊(duì)列為空.);System.exit(0);ChargeProcessAlgorithm cpa = null;char chose = 0;try System.out.println(*);System.out.println(* 請(qǐng)選擇你要運(yùn)行的算法的序號(hào)*);System.out.println(* 1, 強(qiáng)占式高優(yōu)先級(jí)優(yōu)先 *);System.out.println(* 2, 時(shí)間片輪轉(zhuǎn) *);System.out.println(* 3, 最高響應(yīng)比優(yōu)先 *);System.out.println(*);boolean flag = false;while (!flag) chose = (char) System.in.read();if (chose = 1) cpa = new PowerHighPriority(inputList);flag = true; else if (chose = 2) cpa = new RoundRobin(inputList);flag = true; else if (chose = 3) cpa = new HighResponseRation(inputList);flag = true; else System.out.println(輸入有效選擇字符:1,2 或 3); catch (IOException e) System.out.println(系統(tǒng)IO發(fā)生錯(cuò)誤);ArrayList out = (ArrayList) cpa.chargeProcess();System.out.println(*進(jìn)程調(diào)度順序*);for (ProcessBean pb : out) System.out.println(進(jìn)程名: + pb.getProcessName()+ ,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論