操作系統(tǒng)實驗報告-作業(yè)調(diào)度_第1頁
操作系統(tǒng)實驗報告-作業(yè)調(diào)度_第2頁
操作系統(tǒng)實驗報告-作業(yè)調(diào)度_第3頁
操作系統(tǒng)實驗報告-作業(yè)調(diào)度_第4頁
操作系統(tǒng)實驗報告-作業(yè)調(diào)度_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、.作業(yè)調(diào)度一、實驗?zāi)康?、對作業(yè)調(diào)度的相關(guān)內(nèi)容作進一步的理解。2、明白作業(yè)調(diào)度的主要任務(wù)。3、通過編程掌握作業(yè)調(diào)度的主要算法。二、實驗內(nèi)容及要求1、對于給定的一組作業(yè),給出其到達時間和運行時間,例如下表所示:作業(yè)名abcdef到達時間02551215服務(wù)時間65020104082、分別用先來先服務(wù)算法、短作業(yè)優(yōu)先和響應(yīng)比高者優(yōu)先三種算法給出作業(yè)的調(diào)度順序。3、計算每一種算法的平均周轉(zhuǎn)時間及平均帶權(quán)周轉(zhuǎn)時間并比較不同算法的優(yōu)劣。.三、主要算法流程圖開始退出系統(tǒng)n響應(yīng)比高者優(yōu)先短作業(yè)優(yōu)先先來先服務(wù)算法y生成調(diào)度順序隊列計算平均周轉(zhuǎn)時間及平均帶權(quán)周轉(zhuǎn)時間結(jié)束四、測試數(shù)據(jù)及運行結(jié)果測試數(shù)據(jù)worka=

2、 作業(yè)名 :a,到達時間 :0,服務(wù)時間 :6workb= 作業(yè)名 :b,到達時間 :2,服務(wù)時間 :50workc= 作業(yè)名 :c,到達時間 :5,服務(wù)時間 :20workd= 作業(yè)名 :d,到達時間 :5,服務(wù)時間 :10worke= 作業(yè)名 :e,到達時間 :12,服務(wù)時間 :40workf= 作業(yè)名 :f,到達時間 :15,服務(wù)時間 :8運行結(jié)果先來先服務(wù)算法調(diào)度順序 :a, b, c, d, e, f周轉(zhuǎn)時間 :74.1666666667帶權(quán)周轉(zhuǎn)時間:4.83333333333.短作業(yè)優(yōu)先算法調(diào)度順序 :a, d, f, c, e, b周轉(zhuǎn)時間 :44.8333333333帶權(quán)周轉(zhuǎn)時

3、間:1.16666666667響應(yīng)比高者優(yōu)先算法調(diào)度順序 :a, d, f, e, c, b周轉(zhuǎn)時間 :48.1666666667帶權(quán)周轉(zhuǎn)時間:1.5五、代碼#encoding=gbkworka=作業(yè)名 :a,到達時間 :0,服務(wù)時間 :6, 結(jié)束時間 :0, 周轉(zhuǎn)時間 :0, 帶權(quán)周轉(zhuǎn)時間 :0workb=作業(yè)名 :b,到達時間 :2,服務(wù)時間 :50workc=作業(yè)名 :c,到達時間 :5,服務(wù)時間 :20workd=作業(yè)名 :d,到達時間 :5,服務(wù)時間 :10worke=作業(yè)名 :e,到達時間 :12,服務(wù)時間 :40workf=作業(yè)名 :f,到達時間 :15,服務(wù)時間 :8list1

4、=workb,worka,workc,workd,worke,workflist2=workb,worka,workc,workd,worke,workflist3=workb,worka,workc,workd,worke,workf# 先來先服務(wù)算法deffcfs (list):resultlist = sorted(list, key=lambda s: s到達時間 )return resultlist# 短作業(yè)優(yōu)先算法.defsjf (list):time=0resultlist=for work1 in list:time+=work1服務(wù)時間 listdd=ctime=0for i

5、 in range(time):for work2 in list:if work2到達時間 =ctime:listdd.append(work2)if len(listdd)!=0:li = sorted(listdd, key=lambda s: s服務(wù)時間 )resultlist.append(li0)list.remove(li0)ctime+=li0服務(wù)時間 listdd=return resultlist# 響應(yīng)比高者優(yōu)先算法defhrrn (list):time=0resultlist=.for work1 in list:time+=work1服務(wù)時間 listdd=ctime

6、=0for i in range(time):for work2 in list:if work2到達時間 =ctime:work2等待時間 =ctime-work2到達時間 listdd.append(work2)if len(listdd)!=0:li = sorted(listdd, key=lambda s: (s等待時間 +s服務(wù)時間)/s服務(wù)時間 )resultlist.append(li-1)list.remove(li-1)ctime+=li-1服務(wù)時間 listdd=return resultlist# 調(diào)度順序defshunxu (resultlist,miaoshu):p

7、rint(miaoshu)ddsx=.for work in resultlist:for d,x in work.items():if d.decode(gb2312)= u 作業(yè)名 :ddsx.append(x)#print d.decode(gb2312)+:+str(x)print(u調(diào)度順序 :+str(ddsx)turnaroundtime(resultlist)# 平均周轉(zhuǎn)時間及平均帶權(quán)周轉(zhuǎn)時間defturnaroundtime(resultlist):time=0for work in resultlist:work結(jié)束時間 =work服務(wù)時間 +timetime=work結(jié)束時間 work周轉(zhuǎn)時間 =work結(jié)束時間 -work到達時間 work帶權(quán)周轉(zhuǎn)時間=work周轉(zhuǎn)時間 / work服務(wù)時間 zzsj=0dqzzsj=0for work in resultlist:zzsj+=work周轉(zhuǎn)時間 dqzzsj+=work帶權(quán)周轉(zhuǎn)時間print(周轉(zhuǎn)時間 :+str(zzsj*1.0/len(resultlist)print(帶權(quán)周轉(zhuǎn)時間:+s

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論