进程调度算法-高响应比优先调度算法(HRRN)
定義
為每一個(gè)作業(yè)引入一個(gè)動(dòng)態(tài)優(yōu)先級,即優(yōu)先級是可以改變的。它隨等待時(shí)間延長而增加,這將使長作業(yè)的優(yōu)先級在等待期間不斷地增加,等到足夠的時(shí)間后,必然有機(jī)會(huì)獲得處理機(jī)。
變化規(guī)律
Tw為等待時(shí)間,TR為服務(wù)時(shí)間。
從上式可以看出:
1. 等待時(shí)間相同,則短作業(yè)優(yōu)先權(quán)高,有利于短作業(yè)。
2. 服務(wù)時(shí)間相同,等待時(shí)間越長,其優(yōu)先權(quán)越高,相當(dāng)于先來先服務(wù)。
3. 服務(wù)時(shí)間相對較長的作業(yè),當(dāng)其等待足夠長時(shí),便可獲得處理機(jī)運(yùn)行。
算法性能
優(yōu)勢
既考慮了作業(yè)到達(dá)的先后次序,又照顧了短作業(yè),不會(huì)使長作業(yè)長期得
不到服務(wù)。
不足
每次要進(jìn)行調(diào)度之前,都需要先做響應(yīng)比的計(jì)算,顯然會(huì)增加系統(tǒng)開銷。
案例
| A | 0 | 10 | 3 |
| B | 1 | 1 | 1 |
| C | 2 | 2 | 4 |
| D | 3 | 1 | 5 |
| E | 4 | 5 | 2 |
系統(tǒng)有如圖進(jìn)程,采用搶占式和非搶占式調(diào)度方法來計(jì)算平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間。(優(yōu)先數(shù)越小,優(yōu)先級越高。)
非搶占式
非搶占式調(diào)度(Non-preemptiveMode)進(jìn)程一旦獲得處理機(jī),只有在該進(jìn)程任務(wù)完成或因某事件而阻塞時(shí),才讓出處理機(jī),決不允許某進(jìn)程搶占已經(jīng)分配出去的處理機(jī)。
方法
最先到達(dá)的進(jìn)程開始運(yùn)行(A);
根據(jù)上一進(jìn)程的完成時(shí)間,找到在這個(gè)完成時(shí)間內(nèi)所有到達(dá)的進(jìn)程,運(yùn)行這些進(jìn)程中**優(yōu)先級最高(B>E>A>C>D)**的那個(gè);
重復(fù)2直至完成所有進(jìn)程。
| A | 0 | 10 | 10 |
| B | 1 | 11 | 10 |
| C | 2 | 18 | 16 |
| D | 3 | 19 | 16 |
| E | 4 | 16 | 12 |
平均周轉(zhuǎn)時(shí)間:(10+10+16+16+12)/5=12.8
平均帶權(quán)周轉(zhuǎn)時(shí)間:(1+10+8+16+2.4)/4 =7.48
搶占式
搶占式調(diào)度(PreemptiveMode)允許調(diào)度程序根據(jù)某種原則,暫停某個(gè)占用處理機(jī)的進(jìn)程,搶占已經(jīng)分配出去的處理機(jī)。搶占的原則有優(yōu)先權(quán)原則、短作業(yè)優(yōu)先原則和時(shí)間片原則。
方法
| A | 0 | 16 | 16 |
| B | 1 | 2 | 1 |
| C | 2 | 18 | 16 |
| D | 3 | 19 | 16 |
| E | 4 | 9 | 5 |
平均周轉(zhuǎn)時(shí)間:(16+1+16+16+5)/5=10.8
平均帶權(quán)周轉(zhuǎn)時(shí)間:(1.6+1+8+16+1)/5 =5.52
總結(jié)
以上是生活随笔為你收集整理的进程调度算法-高响应比优先调度算法(HRRN)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python --- opencv部分
- 下一篇: ArcMap中无法添加ArcGIS On