운영체제 CPU 스케줄링 기초

한정된 CPU 자원을 수많은 프로세스에게 효율적으로 배분하는 운영체제의 핵심 전략, ‘CPU 스케줄링’의 알고리즘과 목표 지표를 분석한다.

스케줄링의 성과 지표

  • 응답 시간: 사용자의 요청에 얼마나 신속하게 반응하는가.
  • 처리량: 단위 시간당 완료되는 프로세스의 개수.
  • 자원 활용도: CPU가 유휴 상태 없이 효율적으로 동작하는 비율.

핵심 알고리즘별 특징

  • FCFS (First-Come, First-Served): 선착순 방식.
    긴 작업이 앞서면 전체 대기 시간이 길어지는 호위 효과가 단점이다.

  • SJF (Shortest Job First): 최단 작업 우선.
    평균 대기 시간은 최소화되나 긴 작업의 기아 현상이 우려된다.

  • Round Robin: 시분할 방식.
    정해진 시간 할당량만큼 순차 실행하여 현대 대화형 시스템의 응답성을 보장한다.

선점형 vs 비선점형 방식

운영체제가 실행 중인 프로세스의 자원을 강제로 회수할 수 있는지에 따라 시스템의 실시간성과 처리 효율이 결정된다.

P.S

완벽한 단일 알고리즘은 존재하지 않는다.

시스템의 용도(서버, PC, 임베디드 등)에 최적화된 스케줄링 전략을 선택하고 튜닝하는 것이 운영체제 설계의 본질인 것 같다.

Author avatar

웨이호프

WordPress creator and blogger.

View all posts