![進程調(diào)度模擬系統(tǒng)設計.doc_第1頁](http://file.renrendoc.com/FileRoot1/2020-1/12/0fdeac36-a827-47ae-b854-d59d614f8a1f/0fdeac36-a827-47ae-b854-d59d614f8a1f1.gif)
![進程調(diào)度模擬系統(tǒng)設計.doc_第2頁](http://file.renrendoc.com/FileRoot1/2020-1/12/0fdeac36-a827-47ae-b854-d59d614f8a1f/0fdeac36-a827-47ae-b854-d59d614f8a1f2.gif)
![進程調(diào)度模擬系統(tǒng)設計.doc_第3頁](http://file.renrendoc.com/FileRoot1/2020-1/12/0fdeac36-a827-47ae-b854-d59d614f8a1f/0fdeac36-a827-47ae-b854-d59d614f8a1f3.gif)
![進程調(diào)度模擬系統(tǒng)設計.doc_第4頁](http://file.renrendoc.com/FileRoot1/2020-1/12/0fdeac36-a827-47ae-b854-d59d614f8a1f/0fdeac36-a827-47ae-b854-d59d614f8a1f4.gif)
![進程調(diào)度模擬系統(tǒng)設計.doc_第5頁](http://file.renrendoc.com/FileRoot1/2020-1/12/0fdeac36-a827-47ae-b854-d59d614f8a1f/0fdeac36-a827-47ae-b854-d59d614f8a1f5.gif)
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
武漢理工大學操作系統(tǒng)課程設計說明書目 錄1 需求分析 32 整體功能及設計 43 編程實現(xiàn) 84 使用說明13 5 運行結果與運行情況156 自我評析和總結197 附錄208 參考文21課程設計任務書學生姓名: 鐘僥 專業(yè)班級: 軟件0504 指導教師: 劉春 工作單位: 計算機科學與技術學院 題 目: 進程調(diào)度模擬系統(tǒng)的設計強占式高優(yōu)先級優(yōu)先、時間片輪轉、最高響應比優(yōu)先調(diào)度算法 初始條件:1預備內(nèi)容:閱讀操作系統(tǒng)的處理機管理章節(jié)內(nèi)容,對進程調(diào)度的功能以及進程調(diào)度算法有深入的理解。2實踐準備:掌握一種計算機高級語言的使用。要求完成的主要任務: 1模擬進程調(diào)度,分別采用強占式高優(yōu)先級優(yōu)先、時間片輪轉、最高響應比優(yōu)先調(diào)度算法。能夠處理以下的情形: 能夠選擇不同的調(diào)度算法(要求中給出的調(diào)度算法); 能夠輸入進程的基本信息,如進程名、優(yōu)先級、到達時間和運行時間等; 根據(jù)選擇的調(diào)度算法顯示進程調(diào)度隊列; 根據(jù)選擇的調(diào)度算法計算平均周轉時間和平均帶權周轉時間。2設計報告內(nèi)容應說明: 課程設計目的與功能; 需求分析,數(shù)據(jù)結構或模塊說明(功能與框圖); 源程序的主要部分; 運行結果與運行情況分析; 自我評價與總結:i)你認為你完成的設計哪些地方做得比較好或比較出色;ii)什么地方做得不太好,以后如何改正;iii)從本設計得到的收獲(在編寫,調(diào)試,執(zhí)行過程中的經(jīng)驗和教訓);iv)完成本題是否有其他的其他方法(如果有,簡要說明該方法);v)對實驗題的評價和改進意見,請你推薦設計題目。時間安排:設計安排一周:周1、周2:完成程序分析及設計。周2、周3:完成程序調(diào)試及測試。周4、周5:撰寫課程設計報告。指導教師簽名: 年 月 日系主任(或責任教師)簽名: 年 月 日進程調(diào)度模擬系統(tǒng)設計報告-強占式高優(yōu)先級優(yōu)先、時間片輪轉、最高響應比優(yōu)先.1需求分析1.1 功能需求模擬進程調(diào)度,分別采用強占式高優(yōu)先級優(yōu)先、時間片輪轉、最高響比優(yōu)先調(diào)度算法。能夠處理以下的情形: 能夠選擇不同的調(diào)度算法(要求中給出的調(diào)度算法); 能夠輸入進程的基本信息,如進程名、優(yōu)先級、到達時間和運行時間等; 根據(jù)選擇的調(diào)度算法顯示進程調(diào)度隊列; 根據(jù)選擇的調(diào)度算法計算平均周轉時間和平均帶權周轉時間。1.1.1時間片輪轉法時間片輪轉法是指系統(tǒng)將所有就緒進程按FIFO規(guī)則排隊,按一定的時間間隔把處理機分配給隊列中的進程。這樣,就緒隊列中所有進程均可獲得一個時間片的處理機而運行。1.1.2搶占的高優(yōu)先級優(yōu)先調(diào)度這種調(diào)度算法給那些系統(tǒng)中得到運行的所有進程都靜態(tài)地分配一個優(yōu)先級。靜態(tài)優(yōu)先級的分配可以根據(jù)應用的屬性來進行,比如任務的周期,用戶優(yōu)先級,或者其它的預先確定的策略。當有比正在運行的進程優(yōu)先級更高的進程就緒時,系統(tǒng)可強行剝奪正在運行進程的CPU,提供給具有更高優(yōu)先級的進程使用。1.1.3 最高響應比優(yōu)先調(diào)度 最高響應比優(yōu)先法是對FCFS和SJF方式的一種綜合平衡。HRN調(diào)度策略同時考慮每個進程的等待時間長短和估計需要執(zhí)行時間長短,從中選取出響應比最高的進程投入執(zhí)行。 其中響應比表示如下: 響應比 = 響應時間/cpu計算時間 響應時間 = 等待時間 + cpu計算時間1.2 設計語言本程序采用JAVA語言實現(xiàn)1.3 使用工具和環(huán)境編程工具為:eclispe 3.2 , JDK 1.6.012整體功能及設計2.1 數(shù)據(jù)結構進程將被描述為一個對像,就緒隊列采用隊列來表示來表示 2.2模塊說明根據(jù)要求系統(tǒng)主要分為三大模塊:輸出結果給用戶選擇相應算法運算輸入處理模塊 2.2.1 輸入處理模塊說明 本次的進程描述信息將以xml文件的形式作為輸入,將每個進程信息封裝到一個ProcessBean中,讓后放到一個ArrayList里面,這個ArrayList就是出入處理模塊的輸出。 輸入的xml文件要符合一定的規(guī)范才可以,否則系統(tǒng)將給出相應的錯誤提示,下面做簡要說明 * xml文件放在工程目錄下的xmlInput文件夾下,文件名必須是example.xml 樣例如下: 其中對于priority,reachTime, needTime必須是正整數(shù),每個process描述,只有Description是可選的。 可以預測該xml解析后有三個進程,分別是listenMusic,playGame和tomcatService,進程描述如各process的子節(jié)點 2.2.2 算法調(diào)度模塊說明 為了系統(tǒng)的擴展性,采用面向接口編程的模式來設計算法調(diào)度模塊。 (1) 最高響應比:算法的核心流程為:(2) 強占式高優(yōu)先級優(yōu)先 (3) 時間片輪轉 2.2.3 輸出模塊說明 根據(jù)算法調(diào)度模塊傳遞的outputList,這個是一個ArrayList,存放執(zhí)行的進程,按進程執(zhí)行的先后順序存放。遍歷該list,依次打印出進程名,根據(jù)進程信息計算得到的周轉時間和帶權周轉時間。2.3主干程序流程圖開始輸出選擇菜單用戶輸入選擇算法序號調(diào)用相關算法輸入進程調(diào)度結果結束3編程實現(xiàn)3.1系統(tǒng)工程目錄3.2 各模塊具體實現(xiàn)簡要說明(1)輸入模塊 (2)進程調(diào)度算法模塊 * 最高響應比核心算法。 * 時間片輪轉核心模塊 * 強占式高優(yōu)先級優(yōu)先(3)輸出模塊4使用說明4.1 系統(tǒng)運行界面4.2 系統(tǒng)使用詳解4.2.1 輸入文件的編寫 進程的讀入文件是在系統(tǒng)的工程目錄下的inputxml文件夾下的example.xml。使用系統(tǒng)之前,在該文件中編寫你的進程信息。 給出符合要求的案例。 其中的process可以嵌套多個,每個process代表你的一個進程。需要注意的是每個進程的子標簽name,priority,reachTime,needTime都是不可缺少的,如果缺少則該進程將被忽略,同樣,后三個標簽的值必須是正整數(shù),否則該進程無效。4.2.2 運行系統(tǒng)的使用 輸入你想使用哪個調(diào)度算法的序號,輸入即可,記得只可輸入1,2或3,如果不是這三個,系統(tǒng)將會檢查出不合法,要求你重新輸入。例如,輸入3,程序運行結果如下:5運行結果與運行情況5.1進程描述輸入文件example.xml如下:listenMusic213the user want to listen musicplayGame445the user open the game programcoding5310haha,the user go learningtomcatService323starting.the tomcat 5.2強占式高優(yōu)先級優(yōu)先運行結果: 5.3時間片輪轉運行結果:5.4最高響應比優(yōu)先運行結果:6自我評析和總結經(jīng)過查找資料、分析,最終成功完成了進程調(diào)度模擬系統(tǒng)的設計。通過這次課程設計,我更加熟悉了進程調(diào)度的各種算法,對操作系統(tǒng)有了更深的認識,更加是鍛煉了我對所學知識的認知應用能力。我認識到只學好課本中的理論知識是遠遠不夠的,重要的是要把所學運用到實際中去,理論和實際應用結合起來,只有這樣,才能找到自己學到的知識和具體應用起來之間的差距。在設計過程中,我也遇到了一些困難,如搶占算法中進程優(yōu)先數(shù)實現(xiàn),后來經(jīng)過查閱資料都解決了。這次課程設計使我收獲很多,鍛煉和提高了我的動手能力,在今后的學習中,我要更加重視實驗與應用環(huán)節(jié),培養(yǎng)提高自己的實際應用能力。認為自己做的比較出色的地方就是給出了算法接口,通過面向接口編程,使得系統(tǒng)比較容易擴展,另外一點就是通過解析xml來讀取進程消息,方便用戶輸入。避免了用戶通過命令行讀取的麻煩,xml格式容易讓人理解。缺點是界面方面不是很友好,沒有實現(xiàn)圖形界面化。還有就是對解析xml文檔顯得比較復雜,尤其是判斷進程信息的有效性時顯得很繁瑣。對Dom的了解有待進一步加強。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(進程隊列為空.);System.exit(0);ChargeProcessAlgorithm cpa = null;char chose = 0;try System.out.println(*);System.out.println(* 請選擇你要運行的算法的序號*);System.out.println(* 1, 強占式高優(yōu)先級優(yōu)先 *);System.out.println(* 2, 時間片輪轉 *);System.out.println(* 3, 最高響應比優(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ā)生錯誤);ArrayList out = (ArrayList) cpa.chargeProcess();System.out.println(*進程調(diào)度順序*);for (ProcessBean pb : out) System.out.println(進程名: + pb.getProcessName()+ ,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年女裝內(nèi)褲項目投資價值分析報告
- 2025年中國陶瓷珠座墊市場調(diào)查研究報告
- 可回收物回收網(wǎng)絡構建-深度研究
- 2025至2030年中國賓館前臺保險箱數(shù)據(jù)監(jiān)測研究報告
- 2025年肩梯項目可行性研究報告
- 科技助力下的德育教育實踐與創(chuàng)新案例分析
- 新零售供應鏈模式創(chuàng)新-深度研究
- 科技助力智能設備提升孕期睡眠質(zhì)量
- 微電網(wǎng)技術與應用-深度研究
- 工業(yè)節(jié)能技術集成-深度研究
- 2024年4月自考00832英語詞匯學試題
- 競賽試卷(試題)-2023-2024學年六年級下冊數(shù)學人教版
- 《電力用直流電源系統(tǒng)蓄電池組遠程充放電技術規(guī)范》
- 2024年中考語文 (湖北專用)專題一 字音、字形課件
- T-ACEF 095-2023 揮發(fā)性有機物泄漏檢測紅外成像儀(OGI)技術要求及監(jiān)測規(guī)范
- 2023年全國高考乙卷歷史真題試卷及答案
- 骨科手術的術后飲食和營養(yǎng)指導
- 旅游定制師入行培訓方案
- 2024年中國南方航空股份有限公司招聘筆試參考題庫含答案解析
- 六年級上冊數(shù)學應用題100題
- 個人代賣協(xié)議
評論
0/150
提交評論