728x90
반응형
SMALL
HRN 스케줄링 핵심
- 우선순위(=응답비율)
HR = (대기시가 + 실행시간) / 실행시간 = 1 + 대기시간/실행시간 - 규칙: HR 값이 높을수록 우선. (비선점 스케줄러)
- 매 선택 시점의 현재시간 기준으로, “도착해 있는 프로세스들”에 대해 HR을 다시 계산해서 하나를 고른다.
예제 계산
입력
| 프로세스 | 도착시간 | 실행시간 |
| P1 | 0 | 3 |
| P2 | 2 | 6 |
| P3 | 4 | 4 |
| P4 | 6 | 5 |
| P5 | 8 | 2 |
선택 과정
- t=0: 도착 {P1}
- P1: 대기 0 → HR=(0+3)/3=1 → P1 실행(0~3)
- t=3: 도착 {P2}
- P2: 대기 1 → HR=(1+6)/6=7/6≈1.17 → P2(3~9)
- t=9: 도착 {P3,P4,P5}
- P3: 대기 5 → HR=(5+4)/4=9/4=2.25
- P4: 대기 3 → HR=8/5=1.6
- P5: 대기 1 → HR=3/2=1.5 → P3(9~13)
- t=13: 남은 {P4,P5}
- P4: 대기 7 → HR=12/5=2.4
- P5: 대기 5 → HR=7/2=3.5 → P5(13~15)
- t=15: 남은 {P4} → P4(15~20)
특징 & 팁
- SJF의 기아 문제를 완화: 오래 기다릴수록 HR이 커져 선택되기 쉬움.
- 모든 프로세스가 동시에 도착하면 사실상 SJF처럼 짧은 작업 우대.
- 동률이면 보통 “도착이 빠른 것” 또는 “실행시간이 짧은 것”을 먼저
한 줄 요약
HRN = ((대기+실행)/실행). 값이 큰 프로세스부터 비선점 실행.
“대기 많이 한 작업 + 짧은 작업”이 유리하고, 매 선택 시점마다 HR을 재계산한다.
728x90
반응형
LIST