본문 바로가기

운영체제

SJF 스케줄링 (Shortest-Job-First Scheduling)

SJF 스케줄링 동작 방식

  • 준비 큐에 있는 프로세스 중에서 실행 시간이 가장 짧은 작업부터 CPU를 할당하는 비선점형 방식.
  • 최단 작업 우선 스케줄링이라고도 하며, 콘보이 효과를 완화하여 시스템의 효율성을 높이는 데 도움을 준다.

특징

  • 비선점형 방식
  • CPU를 가장 작은 CPU 버스트를 가진 프로세스에게 할당한다.
  • 같은 CPU 버스트를 가진 경우, FCFS(First Come First Serve) 방식을 따른다.
  • 평균 대기 시간이 최소화 된다.

문제점

  • 각 프로세스의 CPU 버스트 길이를 예측하기 어렵다.

 

SJF 스케줄링의 효과 및 한계

효과

  • 짧은 작업 우선: 짧은 작업을 긴 작업의 앞에 배치함으로써 긴 작업의 대기 시간은 증가하나, 짧은 작업의 대기 시간을 크게 줄일 수 있다.
  • 평균 대기 시간 감소: 전체적으로 평균 대기 시간을 줄이는 효과가 있다.

한계 및 해결 방안

  • 작업 스케줄링의 한계: SJF는 특히 작업 스케줄링에서 유용하게 사용되는 기법이다. 하지만, 단기 스케줄링 단계에서 다음 프로세스의 프로세서 버스트 시간을 예측하기 어렵기 때문에 하드웨어 구성에 어려움이 발생한다.
  • 근사치 사용: 실제 하드웨어 및 운영 체제에서는 SJF의 이론적 모델을 완벽하게 구현하기 어려워 이를 근사치로 적용하여 실제 시스템에 적용한다. 이는 통계적 방법이나 과거의 실행 패턴을 기반으로 한 예측을 포함할 수 있다.