日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

操作系统(十六)调度算法(一)

發(fā)布時間:2025/3/15 windows 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 操作系统(十六)调度算法(一) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2.2.4 調(diào)度算法

目錄

2.2.4 調(diào)度算法

2.2.4.1 先來先服務(wù)(FCFS, First?Come First Serve)

2.2.4.2 短作業(yè)/進(jìn)程優(yōu)先(SJ/PF, Shortest?Job/Progress First)

2.2.4.3 高相應(yīng)比優(yōu)先算法(HRRN, Highest Response Ratio Next)

?2.2.4.4 三種調(diào)度算法的比較


2.2.4.1 先來先服務(wù)(FCFS, First?Come First Serve)

??顧名思義。按照“公平”原則,兌先來的進(jìn)程/作業(yè)進(jìn)行調(diào)度。

2.2.4.2 短作業(yè)/進(jìn)程優(yōu)先(SJ/PF, Shortest?Job/Progress First)

??最短的作業(yè)/進(jìn)程優(yōu)先得到服務(wù)(所謂“最短”,是指要求服務(wù)時間最短),可分為搶占式和非搶占式。

? 下面我們用一個實(shí)例來演示一下兩種調(diào)度算法到底是怎么樣運(yùn)行的:有如下表所示的四個進(jìn)程,按照先來先服務(wù)以及短作業(yè)優(yōu)先算法計(jì)算其指標(biāo)。

? 先來先服務(wù):先來的進(jìn)程先接受服務(wù),所以進(jìn)程的調(diào)度順序就是P1->P2->P3->P4,調(diào)度順序如下圖所示

? 周轉(zhuǎn)時間=完成時間-到達(dá)時間? ?P1:7-0=7;P2: 11-2=9; P3: 12-4=8; P4: 16-5=11

? 帶權(quán)周轉(zhuǎn)時間=周轉(zhuǎn)時間/運(yùn)行時間? P1: 7/7=1; P2: 9/4=2.25;? P3: 8/1=8; P4: 11/4=2.75

? 等待時間=完成時間-到達(dá)時間-運(yùn)行時間=周轉(zhuǎn)時間-運(yùn)行時間??P1=7-7=0P2=9-4=5P3=8-1=7P4=11-4=7

? 平均周轉(zhuǎn)時間 = (7+9+8+11)/4 = 8.75 ? 平均帶權(quán)周轉(zhuǎn)時間 = (1+2.25+8+2.75)/4 = 3.5 ? 平均等待時間 = (0+5+7+7)/4 = 4.75 ? 短作業(yè)優(yōu)先(SJF):每次調(diào)度時選擇當(dāng)前已到達(dá)且運(yùn)行時間最短的作業(yè)/進(jìn)程(非搶占式)。進(jìn)程最初的到達(dá)情況如下: ? 那么進(jìn)程調(diào)度順序為:P1 ->P3 ->?P2 ->?P4周轉(zhuǎn)時間 = 完成時間 - 到達(dá)時間? P1=7-0=7;P3=8-4=4;P2=12-2=10;P4=16-5=11 ? 帶權(quán)周轉(zhuǎn)時間 = 周轉(zhuǎn)時間/運(yùn)行時間 P1=7/7=1P3=4/1=4P2=10/4=2.5P4=11/4=2.75 ? 等待時間 = 周轉(zhuǎn)時間 運(yùn)行時間 P1=7-7=0P3=4-1=3P2=10-4=6P4=11-4=7 ? 平均周轉(zhuǎn)時間 = (7+4+10+11)/4 = 8 ? 平均帶權(quán)周轉(zhuǎn)時間 = (1+4+2.5+2.75)/4 = 2.56 ? 平均等待時間 = (0+3+6+7)/4 = 4 顯然對比FCFS算法的結(jié)果,SPF算法的平均等待/周轉(zhuǎn)/帶權(quán)周轉(zhuǎn)時間都要更低。 基于搶占式的短作業(yè)優(yōu)先算法又稱“最短剩余時間優(yōu)先算法(SRTN)”:每當(dāng)有進(jìn)程加入就緒隊(duì)列改變時就需要調(diào)度,如果新到達(dá)的進(jìn)程剩余時間比當(dāng)前運(yùn)行的進(jìn)程剩余時間更短,則由新進(jìn)程搶占處理機(jī),當(dāng)前運(yùn)行進(jìn)程重新回到就緒隊(duì)列。另外,當(dāng)一個進(jìn)程完成時也需要調(diào)度。 現(xiàn)在我們用最短剩余時間的調(diào)度方法來分析一下調(diào)度的順序: 0時刻P1到達(dá),剩余時間為7即P1(7); 2時刻P2到達(dá),此時P1(5),P2(4),進(jìn)程P2搶占P1,P1暫時停止; 4時刻(P3到達(dá)): P15)、 P22)、 P31,進(jìn)程P3搶占P2,P2暫時停止; 5時刻(P3完成且P4剛好到達(dá)):P15)、 P22、 P44),進(jìn)程P2搶占P3,P3暫時停止,P2繼續(xù)運(yùn)行; 7時刻(P2完成):P15)、 P44,進(jìn)程P4搶占P2,P2暫時停止; 11時刻(P4完成) :P15),P1執(zhí)行;

周轉(zhuǎn)時間 = 完成時間 - 到達(dá)時間? P1=16-0=16P2=7-2=5P3=5-4=1P4=11-5=6

帶權(quán)周轉(zhuǎn)時間 = 周轉(zhuǎn)時間/運(yùn)行時間? P1=16/7=2.28P2=5/4=1.25P3=1/1=1P4=6/4=1.5

等待時間 = 周轉(zhuǎn)時間 – 運(yùn)行時間??P1=16-7=9P2=5-4=1P3=1-1=0P4=6-4=2

平均周轉(zhuǎn)時間 = (16+5+1+6)/4 = 7

平均帶權(quán)周轉(zhuǎn)時間 = (2.28+1.25+1+1.5)/4 = 1.50

平均等待時間 = (9+1+0+2)/4 = 3

2.2.4.3 高相應(yīng)比優(yōu)先算法(HRRN, Highest Response Ratio Next)

FCFS 算法是在每次調(diào)度的時候選擇一個等待時間最長的作業(yè)(進(jìn)程)為其服務(wù)。但是沒有考慮到作業(yè)的運(yùn)行時間,因此導(dǎo)致了對短作業(yè)不友好的問題。SJF 算法是選擇一個執(zhí)行時間最短的作業(yè)為其服務(wù)。但是又完全不考慮各個作業(yè)的等待時間,因此導(dǎo)致了對長作業(yè)不友好的問題,甚至還會造成饑餓問題。于是人們想出了一種既考慮各個作業(yè)等待時間又考慮作業(yè)運(yùn)行時間的算法--高相應(yīng)比優(yōu)先算法(HRRN, Highest Response Ratio Next)。 ??在每次調(diào)度時先計(jì)算各個作業(yè)/進(jìn)程的響應(yīng)比,選擇響應(yīng)比最高的作業(yè)/進(jìn)程為其服務(wù)。其中相應(yīng)比=(等待時間+要求服務(wù)時間)/要求服務(wù)時間。需要一提的是高相應(yīng)比優(yōu)先算法是一種非搶占式的算法。還是上例,運(yùn)用高相應(yīng)比優(yōu)先算法進(jìn)行進(jìn)程調(diào)度。
??0時刻:只有 P1到達(dá)就緒隊(duì)列,P1上處理機(jī) ? 7時刻(P1主動放棄CPU): 就緒隊(duì)列中有 P2 (響應(yīng)比=(5+4)/4=2.25)、 P3((3+1)/1=4)、 P4((2+4)/4=1.5) ? 8時刻(P3完成): P2(2.5)P4(1.75) ? 12時刻(P2完成):就緒隊(duì)列中只剩下 P4

?因此調(diào)度順序?yàn)?strong>P1->P3->P2->P4。

?2.2.4.4 三種調(diào)度算法的比較

算法搶占?優(yōu)點(diǎn)缺點(diǎn)考慮因素會不會饑餓
FCFS非搶占 公平;實(shí)現(xiàn)簡單 對短作業(yè)不利 等待時間不會
SJF 默認(rèn)為非搶占式,也有SJF的搶占式版本最短剩余時間優(yōu)先算法(SRTN) “最短的”平均等待/周轉(zhuǎn)時間; 對長作業(yè)不利,可能導(dǎo)致饑餓;難以做到真正的短作業(yè) 優(yōu)先 運(yùn)行時間
HRRN非搶占 上述兩種算法的權(quán)衡折中,綜合考慮的等待時間和運(yùn)行時間 ?二者兼顧不會

總結(jié)

以上是生活随笔為你收集整理的操作系统(十六)调度算法(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。