進(jìn)程調(diào)度算法1——FCFS宋彼、SJF弄砍、HNNR

??進(jìn)程的調(diào)度方式有兩種:非剝奪調(diào)度方式(非搶占式)和剝奪調(diào)度方式(搶占方式)。
??非搶占式:只允許進(jìn)程主動(dòng)放棄處理機(jī)宙暇。如進(jìn)程運(yùn)行結(jié)束输枯、異常結(jié)束或主動(dòng)請(qǐng)求I/O阻塞。在運(yùn)行的過(guò)程中即使有更緊迫的任務(wù)到達(dá)占贫,當(dāng)前進(jìn)程依然會(huì)繼續(xù)使用處理機(jī)桃熄,直到該進(jìn)程終止或主動(dòng)要求進(jìn)入阻塞態(tài)。
??搶占式:當(dāng)一個(gè)進(jìn)程正在處理機(jī)上執(zhí)行時(shí)型奥,如果有一個(gè)更重要更緊迫的進(jìn)程需要處理機(jī)瞳收,則立即暫停正在執(zhí)行的進(jìn)程,將處理機(jī)分配給更重要更緊迫的那個(gè)進(jìn)程厢汹。
??下面介紹適用于早期操作系統(tǒng)幾種進(jìn)程調(diào)度的算法

1 先來(lái)先服務(wù)算法(FCFS,First Come First Service)

??先來(lái)先服務(wù)(FCFS):按照到達(dá)的先后順序調(diào)度螟深,事實(shí)上就是等待時(shí)間越久的越優(yōu)先得到服務(wù)。
??下面表示按照先來(lái)先服務(wù)算法的執(zhí)行順序



??計(jì)算進(jìn)程的幾個(gè)衡量指標(biāo):

周轉(zhuǎn)時(shí)間 = 完成時(shí)間 – 到達(dá)時(shí)間????P1=7-0=7???? P2=11-2=9????P3=12-4=8????P4=16-5=11
帶權(quán)周轉(zhuǎn)時(shí)間=周轉(zhuǎn)時(shí)間/運(yùn)行時(shí)間????P1=7/7=1?
???P2=9/4=2.25????P3=8/1=8????P4=11/4=2.75
等待時(shí)間=周轉(zhuǎn)時(shí)間 - 運(yùn)行時(shí)間 ????P1=7-7=0???? P2=9-4=5????P3=8-1=7????P4=11-4=7
平均周轉(zhuǎn)時(shí)間=(7+9+8+11)/4=8.75
平均帶權(quán)周轉(zhuǎn)時(shí)間=(1+2.25+8+2.75)/4=3.5
平均等待時(shí)間=(0+5+7+7)/4=4.75

2 短作業(yè)優(yōu)先算法(SJF,Shortest Job First)

??短作業(yè)優(yōu)先算法是非搶占式的算法烫葬,但是也有搶占式的版本——最短剩余時(shí)間優(yōu)先算法(STRN,Shortest Remaining Time Next)界弧。
??用于進(jìn)程的調(diào)度算法稱為短進(jìn)程優(yōu)先調(diào)度算法(SPF,Shortest Process First)。

?? 2.1非搶占式的短作業(yè)優(yōu)先調(diào)度算法

??短作業(yè)/進(jìn)程優(yōu)先調(diào)度算法:每次調(diào)度時(shí)選擇當(dāng)前已到達(dá)且運(yùn)行時(shí)間最短的作業(yè)/進(jìn)程.搭综。



??因?yàn)檫M(jìn)程1最先達(dá)到垢箕,此時(shí)沒(méi)有其他線程,所以進(jìn)程1先被服務(wù)兑巾。當(dāng)進(jìn)程1運(yùn)行完后条获,進(jìn)程2和3已經(jīng)到達(dá),此時(shí)進(jìn)程3需要的運(yùn)行時(shí)間比進(jìn)程2少蒋歌,所以進(jìn)程3先被服務(wù)…
??計(jì)算進(jìn)程的幾個(gè)衡量指標(biāo):

周轉(zhuǎn)時(shí)間 = 完成時(shí)間 – 到達(dá)時(shí)間???? P1=7-0=7 ???? P2=12-2=10 ???? P3=8-4=4???? P4=16-5=11
帶權(quán)周轉(zhuǎn)時(shí)間=周轉(zhuǎn)時(shí)間/運(yùn)行時(shí)間???? P1=7/7=1 ???? P2=10/4=2.5???? P3=4/1=4???? P4=11/4=2.75
等待時(shí)間=周轉(zhuǎn)時(shí)間 - 運(yùn)行時(shí)間???? P1=7-7=0 ???? P2=10-4=6????P3=4-1=3???? P4=11-4=7
平均周轉(zhuǎn)時(shí)間=(7+10+4+11)/4=8 8.75
平均帶權(quán)周轉(zhuǎn)時(shí)間=(1+2.5+4+2.75)/4=2.56 ??????3.5(先來(lái)先服務(wù)的平均帶權(quán)周轉(zhuǎn)時(shí)間)
平均等待時(shí)間=(0+6+3+7)/4=4

?? 2.2 搶占式的短作業(yè)優(yōu)先調(diào)度算法——最短剩余時(shí)間優(yōu)先算法

??最短剩余時(shí)間優(yōu)先算法:每當(dāng)有進(jìn)程加入就緒隊(duì)列改變時(shí)就需要調(diào)度帅掘,如果新到達(dá)的進(jìn)程的所需的運(yùn)行時(shí)間比當(dāng)前運(yùn)行的進(jìn)程剩余時(shí)間更短,則由新進(jìn)程搶占處理機(jī)堂油,當(dāng)前運(yùn)行進(jìn)程重新回到就緒隊(duì)列修档。此外,當(dāng)一個(gè)進(jìn)程完成時(shí)也需要調(diào)度府框。

當(dāng)有新的進(jìn)程達(dá)到就緒隊(duì)列和存在進(jìn)程完成時(shí)萍悴,需要調(diào)度,Pn(m)表示當(dāng)>前Pn進(jìn)程的剩余時(shí)間寓免,加粗表示當(dāng)前調(diào)度下獲取處理機(jī)的進(jìn)程:
0時(shí)刻(P1到達(dá)):P1(7)
2時(shí)刻(P2到達(dá)):P1(5)癣诱、P2(4)
4時(shí)刻(P3到達(dá)):P1(5)、P2(2)袜香、P3(1)
5時(shí)刻(P3完成且P4剛好達(dá)到):P1(5)撕予、P2(2)、P4(4)
7時(shí)刻(P2完成):P1(5) 蜈首、P4(4)
11時(shí)刻(P4完成):P1(5)
16時(shí)刻(P1完成)
周轉(zhuǎn)時(shí)間 = 到達(dá)時(shí)間 – 運(yùn)行時(shí)間 ????P1 = 16-0=16 ????P2=7-2=5 ????P3=5-4=1???? P4=11-5=6
帶權(quán)周轉(zhuǎn)時(shí)間 = 周轉(zhuǎn)時(shí)間/運(yùn)行時(shí)間???? P1=16/7=2.28???? P2=5/4-1.25 ????P3=1/1=1 ????P4=6/4=1.5
等待時(shí)間 = 周轉(zhuǎn)時(shí)間 – 運(yùn)行時(shí)間 ????P1=16-7=9 ????P2=5-4=1????P3=1-1=0 ????P4=6-4=2
平均周轉(zhuǎn)時(shí)間=(16+6+1+6)/4=7
平均帶權(quán)周轉(zhuǎn)時(shí)間=(2.28+1.25+1+1.5)/4=1.50
平均等待時(shí)間=(9+1+0+2)/4=3

通過(guò)比較上面三組的平均周轉(zhuǎn)時(shí)間实抡、平均帶權(quán)周轉(zhuǎn)時(shí)間和平均等待時(shí)間可以看出,短作業(yè)優(yōu)先算法可以減少進(jìn)程的等待時(shí)間欢策,對(duì)短作業(yè)有利吆寨。

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

??高響應(yīng)比優(yōu)先算法:非搶占式的調(diào)度算法,只有當(dāng)前運(yùn)行的進(jìn)程主動(dòng)放棄CPU時(shí)(正常/異常完成踩寇、或主動(dòng)阻塞)啄清,才需要進(jìn)行調(diào)度,調(diào)度時(shí)計(jì)算所有就緒進(jìn)程的相應(yīng)比俺孙,選響應(yīng)比最高的進(jìn)程上處理機(jī)辣卒。


??響應(yīng)比 = (等待時(shí)間 + 運(yùn)行時(shí)間)/ 運(yùn)行時(shí)間

0時(shí)刻:只有P1到達(dá)就緒隊(duì)列,P1上處理機(jī)睛榄。
7時(shí)刻(P1主動(dòng)放棄CPU):就緒隊(duì)列中有P2荣茫、P3和P4,它們的響應(yīng)比分別為P2=(5+4)/4=2.25 P3=(3+1)/1=4 P4=(2+4)/4=1.5场靴,所以P3上處理機(jī)啡莉。
8時(shí)刻(P3完成):P2=(6+4)/4=2.5 P4=(3+4)/4=1.75
12時(shí)刻(P2完成):就緒隊(duì)列中只剩下P4。

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

算法 可搶占 優(yōu)點(diǎn) 缺點(diǎn) 考慮因素
FCFS 非搶占式 公平旨剥,實(shí)現(xiàn)簡(jiǎn)單 對(duì)短作業(yè)不利 只考慮等待時(shí)間
SJF/SPF 搶占咧欣、非搶占 最短平均等待/周轉(zhuǎn)時(shí)間 對(duì)長(zhǎng)作業(yè)不利,可能導(dǎo)致饑餓 只考慮運(yùn)行時(shí)間
HRRN 非搶占式 上述兩種算法的權(quán)衡折中 / 考慮了等待和運(yùn)行時(shí)間

??上面的三種調(diào)度算法一般適用于早期的批處理系統(tǒng)泞边,沒(méi)有考慮響應(yīng)時(shí)間也不區(qū)分任務(wù)的緊急程度该押。因此對(duì)用戶來(lái)說(shuō)交互性差。

??本文完


??如發(fā)現(xiàn)錯(cuò)誤阵谚,請(qǐng)指正2侠瘛!梢什!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末奠蹬,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子嗡午,更是在濱河造成了極大的恐慌囤躁,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異狸演,居然都是意外死亡言蛇,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門宵距,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)腊尚,“玉大人,你說(shuō)我怎么就攤上這事满哪⌒龀猓” “怎么了?”我有些...
    開封第一講書人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵哨鸭,是天一觀的道長(zhǎng)民宿。 經(jīng)常有香客問(wèn)我,道長(zhǎng)像鸡,這世上最難降的妖魔是什么活鹰? 我笑而不...
    開封第一講書人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮坟桅,結(jié)果婚禮上华望,老公的妹妹穿的比我還像新娘。我一直安慰自己仅乓,他們只是感情好赖舟,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著夸楣,像睡著了一般宾抓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上豫喧,一...
    開封第一講書人閱讀 51,708評(píng)論 1 305
  • 那天石洗,我揣著相機(jī)與錄音,去河邊找鬼紧显。 笑死讲衫,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的孵班。 我是一名探鬼主播涉兽,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼篙程!你這毒婦竟也來(lái)了枷畏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤虱饿,失蹤者是張志新(化名)和其女友劉穎拥诡,沒(méi)想到半個(gè)月后触趴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡渴肉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年冗懦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宾娜。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡批狐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出前塔,到底是詐尸還是另有隱情,我是刑警寧澤承冰,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布华弓,位于F島的核電站,受9級(jí)特大地震影響困乒,放射性物質(zhì)發(fā)生泄漏寂屏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一娜搂、第九天 我趴在偏房一處隱蔽的房頂上張望迁霎。 院中可真熱鬧,春花似錦百宇、人聲如沸考廉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)昌粤。三九已至,卻和暖如春啄刹,著一層夾襖步出監(jiān)牢的瞬間涮坐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工誓军, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留袱讹,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓昵时,卻偏偏與公主長(zhǎng)得像捷雕,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子债查,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355