본문 바로가기
카테고리 없음

CPU 스케줄링 방식: HRN(Highest Response-ratio Next) 이해하기

by IT꿀토리 2024. 12. 27.

운영체제(OS)가 수행하는 CPU 스케줄링 기법 중 하나인 HRN(Highest Response-Ratio Next) 기법은 대기 시간이 긴 작업에 우선권을 부여하여 공정성을 유지하는 동시에 처리 효율을 높이는 기법입니다. 이번 글에서는 HRN의 개념, 특징, 장단점, 구체적인 예시, 그리고 실제 사용 사례를 살펴보겠습니다.


1. HRN(Highest Response-ratio Next) 이란?

HRN(Highest Response-Ratio Next)은 작업의 응답 비율(Response Ratio)을 계산하여 우선순위를 결정하는 CPU 스케줄링 기법입니다.

 

응답 비율은 다음과 같이 계산됩니다:

 

응답 비율이 가장 높은 작업이 우선적으로 실행됩니다. 이 기법은 기아 현상(Starvation)을 방지하면서도 짧은 작업을 빠르게 처리할 수 있는 특성을 가지고 있습니다.

 

2. HRN의 특징

대기 시간과 서비스 시간의 균형 - 대기 시간이 길수록 응답 비율이 증가하므로 오래 기다린 작업이 우선적으로 처리됨
- 짧은 작업도 응답 비율이 상대적으로 높아질 가능성이 있어 효율적으로 처리됨
비선점형 스케줄링 - HRN은 CPU를 한 번 할당받은 작업이 끝날 때까지 실행되며, 실행 중인 작업을 중단하지 않음
공정성과 효율성의 조화 - 대기 시간이 긴 작업에 보상을 제공하면서도 작업 완료 시간을 최소화하려는 균형 잡힌 접근 방식

 

3. HRN의 장단점

장점 단점
  1. 기아 현상 방지
    오래 기다린 작업의 응답 비율이 계속 증가하므로, 기아 현상이 발생하지 않습니다.
  2. 효율성 보장
    짧은 작업은 높은 응답 비율을 유지할 가능성이 커, 빠르게 처리됩니다.
  3. 공정성 제공
    모든 작업이 대기 시간에 따라 적절히 보상을 받습니다.
  1. 계산 복잡성
    매번 응답 비율을 계산해야 하므로, 계산 비용이 상대적으로 높습니다.
  2. 실시간 시스템에 부적합
    비선점형 특성 때문에 즉각적인 반응이 필요한 실시간 시스템에서는 적합하지 않습니다.
  3. 서비스 시간이 부정확한 경우 문제 발생
    서비스 시간(SS)이 정확히 예측되지 않으면 스케줄링의 효율성이 저하될 수 있습니다.

 

 

4. HRN의 예시

구분 설명
조건 프로세스 3개(A, B, C)의 대기시간과 서비스 시간이 아래와 같다고 가정.
- A: 대기 시간 4, 서비스 시간 2
- B: 대기 시간 6, 서비스 시간 4
- C: 대기 시간 8, 서비스 시간 6
실행과정




결과 작업 A: 최종 대기시간 4, 실행 시간 2, 완료 시간 6
작업 B: 최종 대기시간 8, 실행 시간 4, 완료 시간 14
작업 C: 최종 대기시간 14, 실행 시간 6, 완료 시간 20

* 실행 순서: A -> B -> C
* 총 대기시간: 4 + 8 + 14 = 26

 

 

5. 실제 사용 사례

HRN은 현대 운영체제에서 직접적으로 사용되는 경우는 드물지만, 다음과 같은 상황에서 활용되거나 영감을 줍니다:

  1. 배치 처리 시스템 : 대규모 작업을 일괄 처리하는 시스템에서 오래 대기한 작업의 우선권을 보장하는 데 사용 가능
  2. 멀티태스킹 환경에서의 태스크 스케줄링 : 오래 대기한 태스크를 우선 처리해야 하는 공정성 요구를 충족하는 데 유용
  3. 교육 및 연구 목적으로 사용 : 공정성, 효율성, 기아 방지 등 다양한 스케줄링 문제를 다루기 위한 사례로 활용