카테고리 없음

HRN(Highest Response Ratio Next) 스케줄링

glorypang 2025. 10. 19. 23:36
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=1P1 실행(0~3)
  • t=3: 도착 {P2}
    • P2: 대기 1 → HR=(1+6)/6=7/6≈1.17P2(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.5P3(9~13)
  • t=13: 남은 {P4,P5}
    • P4: 대기 7 → HR=12/5=2.4
    • P5: 대기 5 → HR=7/2=3.5P5(13~15)
  • t=15: 남은 {P4} → P4(15~20)

특징 & 팁

  • SJF의 기아 문제를 완화: 오래 기다릴수록 HR이 커져 선택되기 쉬움.
  • 모든 프로세스가 동시에 도착하면 사실상 SJF처럼 짧은 작업 우대.
  • 동률이면 보통 “도착이 빠른 것” 또는 “실행시간이 짧은 것”을 먼저

한 줄 요약

HRN = ((대기+실행)/실행). 값이 큰 프로세스부터 비선점 실행.
“대기 많이 한 작업 + 짧은 작업”이 유리하고, 매 선택 시점마다 HR을 재계산한다.

728x90
반응형
LIST