




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
作業調度120511504實驗目的1、對作業調度的相關內容作進一步的理解。2、明白作業調度的主要任務。3、通過編程掌握作業調度的主要算法。二、實驗內容及要求1、對于給定的一組作業,給出其到達時間和運行時間,例如下表所示:作業名ABCDEF到達時間02551215服務時間65020104082、分別用先來先服務算法、短作業優先和響應比高者優先三種算法給出作業的調度順序。3、計算每一種算法的平均周轉時間及平均帶權周轉時間并比較不同算法的優劣。三、程序中使用的數據結構及符號說明進程結構體{'作業名':'A','到達時間':0,'服務時間':6,'結束時間':0,'周轉時間':0,'帶權周轉時間':0}
主要算法流程圖測試數據及運行結果測試數據workA={'作業名':'A','到達時間':0,'服務時間':6}workB={'作業名':'B','到達時間':2,'服務時間':50}workC={'作業名':'C','到達時間':5,'服務時間':20}workD={'作業名':'D','到達時間':5,'服務時間':10}workE={'作業名':'E','到達時間':12,'服務時間':40}workF={'作業名':'F','到達時間':15,'服務時間':8}運行結果先來先服務算法調度順序:['A','B','C','D','E','F']周轉時間:74.1666666667帶權周轉時間:4.83333333333短作業優先算法調度順序:['A','D','F','C','E','B']周轉時間:44.8333333333帶權周轉時間:1.16666666667響應比高者優先算法調度順序:['A','D','F','E','C','B']周轉時間:48.1666666667帶權周轉時間:1.5六、實驗體會或對改進實驗的建議
七、源代碼#encoding=gbkworkA={'作業名':'A','到達時間':0,'服務時間':6,'結束時間':0,'周轉時間':0,'帶權周轉時間':0}workB={'作業名':'B','到達時間':2,'服務時間':50}workC={'作業名':'C','到達時間':5,'服務時間':20}workD={'作業名':'D','到達時間':5,'服務時間':10}workE={'作業名':'E','到達時間':12,'服務時間':40}workF={'作業名':'F','到達時間':15,'服務時間':8}list1=[workB,workA,workC,workD,workE,workF]list2=[workB,workA,workC,workD,workE,workF]list3=[workB,workA,workC,workD,workE,workF]#先來先服務算法deffcfs(list):resultlist=sorted(list,key=lambdas:s['到達時間'])returnresultlist#短作業優先算法defsjf(list):time=0resultlist=[]forwork1inlist:time+=work1['服務時間']listdd=[]ctime=0foriinrange(time):forwork2inlist:ifwork2['到達時間']<=ctime:listdd.append(work2)iflen(listdd)!=0:li=sorted(listdd,key=lambdas:s['服務時間'])resultlist.append(li[0])list.remove(li[0])ctime+=li[0]['服務時間']listdd=[]returnresultlist#響應比高者優先算法defhrrn(list):time=0resultlist=[]forwork1inlist:time+=work1['服務時間']listdd=[]ctime=0foriinrange(time):forwork2inlist:ifwork2['到達時間']<=ctime:work2['等待時間']=ctime-work2['到達時間']listdd.append(work2)iflen(listdd)!=0:li=sorted(listdd,key=lambdas:(s['等待時間']+s['服務時間'])/s['服務時間'])resultlist.append(li[-1])list.remove(li[-1])ctime+=li[-1]['服務時間']listdd=[]returnresultlist#調度順序defshunxu(resultlist,miaoshu):print(miaoshu)ddsx=[]forworkinresultlist:ford,xinwork.items():ifd.decode('gb2312')==u'作業名':ddsx.append(x)#printd.decode('gb2312')+":"+str(x)print(u'調度順序:'+str(ddsx))turnaroundTime(resultlist)#平均周轉時間及平均帶權周轉時間defturnaroundTime(resultlist):time=0forworkinresultlist:work['結束時間']=work['服務時間']+timetime=work['結束時間']work['周轉時間']=work['結束時間']-work['到達時間']work['帶權周轉時間']=work['周轉時間']/work['服務時間']zzsj=0dqzzsj=0forworkinresultlist:zzsj+=work['周轉時間']dqzzsj+=work['帶權周轉時間']print('周轉時間:'+str(zzsj*1.0/len(result
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 買賣辦公用品合同范例
- 二零二五版房產中介雇傭勞動合同
- 房地產分銷代理協議
- 個人珠寶交易合同樣本
- 麗江古城客棧出租合同樣本
- 企業定制貨架合同標準文本
- 小學生跳繩教學反思一
- BIM服務合同范本
- 遼寧房屋建筑與裝飾工程定額
- 一次函數的圖像與性質課堂教學設計
- 公共部門人力資源管理概論課件
- 六年級下冊科學第一單元質量檢測卷粵教版(含答案)
- 【計算機應用基礎試題】韓山師范大學2022年練習題匯總(附答案解析)
- 2022年江蘇對口單招市場營銷試卷剖析
- 愛愛醫資源-生理學-122排卵、黃體形成與月經周期
- 科技小巨人工程驗收培訓
- 大班繪本教案《月亮冰激凌》
- 關鍵過程(工序)和特殊過程(工序)管理辦法
- 火力發電廠運煤設計規程
- 01-第一章--粉末的制取霧化法
- 3D打印學習教案
評論
0/150
提交評論