정보처리기사 단골주제 정리

프로세스 스케줄링 기법 정리

초코너무조코 2025. 4. 21. 14:07
728x90

 

운영체제에서 하나의 CPU는 한 번에 하나의 프로세스만 실행할 수 있습니다. 이때 어떤 프로세스를 먼저 실행시킬지를 결정하는 것이 바로 프로세스 스케줄링입니다. 다양한 방식이 존재하며, 각각의 장단점이 다릅니다.

1. FCFS (First-Come, First-Served)

  • 의미: 먼저 도착한 순서대로 실행
  • 장점: 구현이 쉽고 직관적
  • 단점: 대기 시간이 길어질 수 있음 (특히 실행 시간이 긴 작업이 앞에 있을 경우)

예시
A(도착 0, 실행 30), B(도착 5, 실행 10), C(도착 10, 실행 5)
실행 순서: A → B → C

2. SJF (Shortest Job First)

  • 의미: 실행 시간이 가장 짧은 프로세스를 먼저 실행
  • 장점: 평균 대기 시간을 최소화할 수 있음
  • 단점: 실행 시간이 긴 작업은 계속 밀림 (기아 현상 발생 가능)

3. HRN (Highest Response Ratio Next)

  • 의미: SJF의 단점을 보완한 방식으로, 대기 시간과 실행 시간을 고려해 우선순위 결정
  • 계산식: (대기시간 + 실행시간) / 실행시간
  • 장점: 공정성을 어느 정도 유지하면서 효율성도 높임

4. SRT (Shortest Remaining Time)

  • 의미: SJF의 선점형 버전. 남은 실행 시간이 가장 짧은 프로세스를 우선 실행
  • 장점: 응답 시간이 짧아짐
  • 단점: 문맥 전환이 자주 발생해 오버헤드가 큼

5. RR (Round Robin)

  • 의미: 프로세스마다 동일한 시간 할당량을 주고, 순차적으로 CPU를 번갈아가며 사용
  • 장점: 공정하게 분배
  • 단점: 타임 퀀텀이 너무 작으면 오버헤드 증가, 너무 크면 FCFS처럼 동작

비교 요약

알고리즘 선점 여부 평균 대기 시간 공정성 특징
FCFS 비선점 높음 낮음 단순, 비효율 가능성
SJF 비선점 낮음 낮음 기아 현상 위험
HRN 비선점 중간 중간 공정성과 효율성의 균형
SRT 선점 매우 낮음 낮음 오버헤드 발생 가능
RR 선점 중간 높음 타임퀀텀 설정 중요

마무리

각 스케줄링 기법은 사용하는 환경과 목적에 따라 선택되어야 합니다. 짧은 작업 위주인지, 응답 시간이 중요한지, 공정성이 중요한지에 따라 알맞은 방식이 다릅니다. 운영체제를 깊이 있게 이해하려면 이들 알고리즘의 작동 방식과 차이를 잘 알아두는 것이 중요합니다.


 

728x90