alt

CPU 스케줄링 단계와 역할

Shared on May 21, 2026

제목: CPU 스케줄링의 개념과 계층 구조

개요

  • CPU 스케줄링의 역할은 CPU 자원을 효율적으로 할당하고 프로세스의 실행 흐름을 관리하는 것.
  • 스케줄러의 계층은 저수준에서 쇼텀(Short-Term), 중간수준에서 미드텀(Mid-Term), 장기수준에서 롱텀(Long-Term)으로 나뉘며, 각각의 역할이 다름.

핵심 개념

  • 롱텀 스케줄러(Long-Term Scheduler): 전체 시스템의 프로세스 수를 제어하고, 시스템이 받아들일 작업 여부를 판단. 메모리 상태와 시스템 부하를 고려하여 새로운 프로세스를 생성하고 실행 가능한 영역에 배치하는 역할.
  • 미드텀 스케줄러(Mid-Term Scheduler): 롱텀과 숏텀 사이에서 작동. 메모리의 현재 필요에 따라 일부 프로세스를 스와핑해 메모리 상태를 관리. 아직 즉시 실행되지 않는 프로세스를 일시적으로 스토리지로 내리는 결정 등을 담당.
  • 숏텀 스케줄러(Short-Term Scheduler): 실제 CPU에 프로세스를 할당하는 역할. 레디 큐에서 대기 중인 프로세스 중 어떤 것을 선택해 실행 상태로 전환하고 CPU에 연결하는 과정.
  • 스케줄링 흐름 요약
    • 롱텀/미드텀에 의해 실행 가능 상태로의 등록 여부가 결정되면, 레디 큐로 들어간다.
    • 레디 큐의 프로세스는 숏텀 스케줄러에 의해 디스패처로 선택되어 CPU를 얻고 실행 상태로 변화.
    • 실행 중 I/O 요청이 발생하면 대기 상태로 전이되며, I/O 장치가 완료되면 다시 레디 상태로 복귀.
    • 공간의 구성: 준비 큐(레디 큐) → 디스패처 → 러닝 → 대기(IO 대기 포함) → 다시 레디로 복귀.

상세 메모

  • CPU 스케줄링의 목적은 여섯 가지 관점 고려:
    • 효율성, 안정성, 확장성
    • 반응시간의 최소화, 무한 대기 방지
    • 공평성: 모든 프로세스가 자원을 공정하게 배정받아야 함
  • 실제 자원 할당의 핵심은 숏텀 스케줄러를 통해 이뤄지며, 대부분의 학습 포커스는 이 숏텀 알고리즘의 형태와 복잡성에 집중됨.
  • 개략적 흐름은 다음과 같음:
    • 롱텀/미드텀이 작동 가능한 상태를 판단 → 레디 큐 등록 여부 결정
    • 레디 큐에서 숏텀 스케줄러가 프로세스를 선택하고 디스패처를 통해 CPU에 할당
    • 실행 중 I/O 요청 시 대기 상태로 전이, I/O 완료 시 레디로 재진입

요약 포인트

  • 시스템에서 프로세스 흐름은 롱텀 → 미드텀 → 숏텀의 계층적 스케줄링으로 관리.
  • 롱텀은 시스템 차원의 프로세스 수 관리, 미드텀은 메모리 관리/스와핑, 숏텀은 실제 CPU 할당의 핵심 결정.
  • CPU 스케줄링의 목표는 자원 효율성, 공정성, 반응성, 무한 대기 방지 등 여러 요소의 균형.
CPU 스케줄링 단계와 역할 | Alt