




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、任務調度設計姓名:班級:學號:實驗時間:2013.06.15目錄一、問題描述 TOC o 1-5 h z 二、設計要求1三、數據結構設計2四、源代碼3五、運行與測試9六、收獲及體會13一、問題描述多用戶多任務操作系統中,多個任務同時共享計算機系統資源。為了使多個任務均能夠順 利執行,操作系統要按一定的原則對它們進行調度,使它們按一定的次序進行。設只有一 個CPU,現有多個任務,它們需要CPU服務的時間已知。在下列假設下,按平均等待時 間最短為原則,設計算法求出任務的執行順序。(1)忽略任務提交的時間差,即認為各任務同時提交。(2)各任務不同時提交。二、設計要求(1)基本要求:a)為任務列表設計
2、數據結構和存儲結構。b)任務輸入,至少包括任務編號及所需CPU的服務時間,任務數不得少于5個。c)如果按提交順序執行,求出每個任務的開始執行時間、終止時間、等待時間和 所有任務的平均等待時間。d)按平均等待時間最短,設計任務調度算法,輸出任務的執行序列;求出每個任 務的開始執行時間、終止時間、等待時間和所有任務的平均等待時間。并把結 果與c)對比。(2)較高要求:最短作業優先,存在“長任務饑餓”的問題,即如果動態地不斷加入作業,只要提 交作業所需的CPU服務時間比較短,則先提交的長任務將一直得不到服務,如何 解決該問題?結構體typedef struct nodenode *elem;int
3、Number;/任務的編號int RunTime;/任務的執行時間SqList;四、詳細設計程序主函數:#include#include#includetypedef struct nodenode *elem;int Number;/任務的編號int RunTime;/任務的執行時間SqList;int n;/記錄任務個數void Sort(SqList & l)/冒泡排序按升序排列int i,j,temp;for(i=n-1;i0;i)for(j=0;jl.elemj+1.RunTime)/交換它們的RunTime值temp = l.elemj.RunTime;l.elemj.RunTim
4、e = l.elemj+1.RunTime;l.elemj+1.RunTime = temp;/交換它們的Number值temp = l.elemj.Number;l.elemj.Number = l.elemj+1.Number;l.elemj+1.Number = temp;void fun()int menu;int i;int sum;int s;/記錄總的等待時間SqList L;doscanf(%d”,&menu);switch(menu)case 1:printf(輸入任務數:); scanf(%d”,&n);L.elem =(SqList *)malloc(sizeof(SqL
5、ist)*n);for(i=0;in;i+)printf(輸入任務編號:);scanf(%d”,&L.elemi.Number);printf(輸入任務執行時間:);scanf(%d”,&L.elemi.RunTime);printf(排序之前的情況:n);sum=s=0;for(i=0;in;i+)/排序之前printf(編號為d 的任務開始時間為:%d ”,L.elemi.Number,sum);sum+=L.elemi.RunTime;printf(終止時間為:%d ”,sum);printf(等待時間為:dn”,sum-L.elemi.RunTime);if(i=n-1) break;
6、s+=(n-i-1)*L.elemi.RunTime;printf(平均等待時間為:lfn”,1.0*s/n);Sort(L);printf(排序之后的情況:n);sum=s=0;for(i=0;i0);int main(void)char c6;char m6;m0=0,m1=0,m2=0,m3=0,m4=0,m5=0;int i;printf(please enter the code:);for(i=0;i=0|ci=a|ci=A|ci=Z) putchar(*);if(c0=m0&c1=m1&c2=m2&c3=m3&c4=m4&c5=m5)printf(nwelcome to the
7、programe!n);fun();elseprintf(nthe code is wrong!);printf(n再見!n);return 0;七、運行與測試a)先輸入密碼,正確則進入程序,錯誤則退出。b)輸入1開始。C:Usenswi nd owDes lctop U計本-高寶榕D ebuga sd34.e xe.welcome to the progiame 1輸入任務數:5 輸入任務編號己1 輸入任務執行時間:4 輸入任務編號己2 輸入任務執行時間: 輸入任務編號己3 輸入任務執行時間: 輸入任務編號=4 輸入任務執行時間: 輸入任務編號:5 輸入任務執行時間: 排序之前的情況:編號加
8、的任務開始時間為: 編號況的任務開始時間為: 編號為3的任務開始時間為: 編號為4的任務開始時間加 編號為S的任務開始時間加 平均等待時間為:?. 000000 排序之后的情;兄:編號為S的任務開始時間加 編號況的任務開始時間加 編號為4的任務開始時間為: 編號為L的任務開始時間為: 編號為3的任務開始時間為: 平均等待時間為:4. OWOOO0461114終止時間為;0136104等待時間為:06等待時間為:411等待時間為:6 :14等待時間為:11 :15等待時間為:141等待時間為:3等待時間為: e等待時間為: io等傳時間為;15等待時間為0136:10間為:4.0000000輸入
9、0退出程序。oPiess any key to ccntitiue六:收獲及體會:經過此次的課程設計 可以很明確的了解到自己哪些知識點掌握的比較好,哪些知識點 運用的還不夠熟練。通過此次課程設計也學會綜合運用理論知識來分析和解決實際問題的能 力、養成嚴謹的科學態度和良好的程序設計習慣,實現由知識向智能的初步轉化,學會遵循 軟件開發過程的基本規范。運用結構化程序設計的方法,按照課程設計的題目要求,并能夠 完成設計、編寫、調試和測試應用程序及編寫文檔的任務。從理論到實踐,在整整半個月的日子里,我學到很多很多的東西。不僅鞏固了以前所學 過的知識,而且學到了很多在書本上所沒有學到過的內容。通過這次課程設計使我懂得了理 論與實際相結合是很重要的,只有理論知識是遠遠不夠的;只有把所學的理論知識與實踐相 結合起來,從理論中得出結論,才是真正的知識,才能提高自己的實際動手能力和獨立思考 的能力。在設計的過程遇到了各種各樣的問題,同時在設計的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030雞養殖行業市場深度分析及發展策略研究報告
- 高一歷史教學計劃的跨學科融合
- 拍賣市場收益分析協議
- 施工期間環境保護協議
- 廣州民航職業技術學院《國際貿易規則閱讀雙語》2023-2024學年第二學期期末試卷
- 2025-2030金屬纜索內固定系統市場供給現狀分析及發展趨勢預判研究報告
- 2025-2030迷你酒吧行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2030起重運輸設備行業發展分析及發展趨勢與投資前景預測研究報告
- 2025-2030豚鼠食品行業市場現狀供需分析及投資評估規劃分析研究報告
- 武昌工學院《中國畫技法Ⅰ》2023-2024學年第二學期期末試卷
- 車位轉讓合同協議書
- 合伙經營貨車輛協議書
- 2025年農村個人果園承包合同
- 企業管理流程數字化轉型計劃
- 機械通氣患者護理
- 2025年數控技術專業畢業考試試題及答案
- 上海市2024年初中語文學業水平考試試卷真題(精校打印)
- 車牌租賃協議和抵押合同
- 《張敏瑞的傳奇人生》課件
- 2024年液壓與氣動技術試題及答案
- 《眼壓測量技術進展》課件
評論
0/150
提交評論