[2일차] 2025 정보처리산업기사 운영체제 프로세스 스케줄링 – 개념 정리


정보처리산업기사 운영체제의 핵심 주제인 프로세스 스케줄링 기법(Process Scheduling Algorithms)을 공부했다. 운영체제는 여러 프로세스가 동시에 실행되는 환경에서 CPU를 효율적으로 분배해야 한다.

이때 어떤 프로세스에게 CPU를 먼저 할당할지, 그리고 교체 시점을 어떻게 정할지를 결정하는 것이 스케줄링 기법이다. CPU는 시스템의 핵심 자원이기 때문에, 스케줄링의 설계 방식에 따라 시스템의 응답 속도, 처리량, 공정성이 달라진다.

따라서 각 스케줄링 기법의 동작 원리를 이해하는 것은 실기 시험뿐 아니라 실제 시스템 설계에도 중요한 기반이 된다.


1. 개념

프로세스 스케줄링(Process Scheduling) 은 CPU를 여러 프로세스가 번갈아 사용하도록 운영체제가 관리하는 기능이다.

운영체제는 실행 중인 프로세스의 상태를 감시하면서, 누가 다음으로 CPU를 사용할지를 결정한다.

즉, CPU 자원의 사용 순서를 정하는 정책이자, 시스템 성능에 직접적인 영향을 주는 요소다.

스케줄링은 다음과 같은 상황에서 발생한다.

  • 프로세스가 실행 중에서 대기 상태로 전환될 때 (I/O 요청 등)
  • 프로세스가 실행 중에서 준비 상태로 전환될 때 (타임 슬라이스 초과 등)
  • 프로세스가 대기에서 준비 상태로 전환될 때 (I/O 완료 등)
  • 프로세스가 종료될 때

이 중 비선점형(Non-preemptive) 은 CPU를 강제로 회수하지 않으며,

선점형(Preemptive) 은 운영체제가 더 높은 우선순위를 위해 CPU를 즉시 교체할 수 있다.


2. 스케줄러의 역할

스케줄링을 담당하는 주체를 스케줄러(Scheduler) 라고 하며, 종류는 다음과 같다.

구분역할동작 시점
장기 스케줄러 (Job Scheduler)어떤 작업을 메모리에 올릴지 결정디스크 → 메모리
중기 스케줄러 (Medium Scheduler)메모리 부족 시 프로세스를 일시 중단하거나 복귀메모리 ↔ 디스크
단기 스케줄러 (CPU Scheduler)어떤 프로세스가 CPU를 사용할지 결정Ready → Running

이 중 단기 스케줄러가 실제 CPU 실행 순서를 결정하므로 가장 자주 동작한다.


3. 디스패처(Dispatcher)

디스패처는 단기 스케줄러가 선택한 프로세스에게 실제 CPU 제어권을 넘겨주는 역할을 한다.

이 과정에서 다음 작업이 수행된다.

  1. 현재 프로세스의 상태(Context) 저장
  2. 다음 실행할 프로세스의 상태 복원
  3. 사용자 모드로 전환 및 프로그램 카운터 이동

이 과정을 문맥 교환(Context Switching) 이라고 하며, 너무 자주 일어나면 오히려 CPU 효율이 떨어질 수 있다.


스케줄링 성능 지표

스케줄링의 효율성을 판단하기 위한 주요 지표는 다음과 같다.

지표설명
CPU 이용률CPU가 실제로 일한 시간의 비율
처리량(Throughput)단위 시간당 완료된 프로세스 수
반환시간(Turnaround Time)프로세스 시작부터 종료까지 걸린 전체 시간
대기시간(Waiting Time)준비 큐(Ready Queue)에서 대기한 시간
응답시간(Response Time)요청 후 첫 응답까지 걸린 시간 (대화형 시스템에서 중요)

운영체제는 이 지표들을 조합해 효율, 공정성, 응답성 등을 균형 있게 맞추려 한다.


4. 스케줄링의 목표

  1. CPU 효율 극대화
    • 유휴 시간을 최소화하고 가능한 한 많은 작업을 처리한다.
  2. 공정성 유지
    • 특정 프로세스가 과도하게 대기하지 않도록 기회를 균등하게 제공한다.
  3. 응답속도 향상
    • 사용자의 입력에 빠르게 반응할 수 있도록 한다.
  4. 예측 가능성 확보
    • 일정한 처리 패턴을 유지해 시스템 안정성을 높인다.
  5. 기아(Starvation) 방지
    • 오래된 프로세스가 무한히 기다리지 않도록 에이징(Aging) 기법을 적용한다.

5. 다음 학습

다음 학습에서는 비선점형 스케줄링(Non-preemptive Scheduling) 기법을 다룬다.

비선점형 스케줄링은 한 프로세스가 CPU를 점유하면 스스로 종료하거나 I/O 요청으로 중단될 때까지 CPU를 유지하는 방식이다.

대표적인 알고리즘으로는 FCFS(First Come First Served)SJF(Shortest Job First) 가 있으며, 각 프로세스의 도착 시간과 CPU 버스트 시간을 기준으로 평균 대기시간과 반환시간을 계산하는 문제로 자주 출제된다.

다음 글에서는 두 알고리즘을 동일한 입력 데이터로 비교하고, 간트 차트 없이 계산하는 방법과 검산 규칙까지 함께 정리할 예정이다.

정보처리산업기사 관련링크 모음

  • 큐넷(Q-Net) 정보처리산업기사 안내
    -> 바로가기
  • 큐넷 원서접수 페이지 (정보처리산업기사 실기)
    -> 바로가기
  • 한국산업인력공단 공식 홈페이지
    ->바로가기
  • 이기적 2025 정보처리산업기사 실기 교재 공식몰 (영진닷컴)
    -> 바로가기
  • HRD-Net (직업훈련포털)
    -> 바로가기

“이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.”