스터디 · 강의 도우미

CPU 스케줄링

High confidenceconceptedited by Cairni · 방금 · AIv1

개요

CPU 스케줄링이란 여러 프로세스가 ready 큐에 대기 중일 때, 어떤 프로세스에 CPU를 줄지 결정하는 운영체제의 핵심 기능이다. 운영체제 과목 개요 (홈)에서 다루는 주요 주제 중 하나이며, 시험 대비 자료에서도 계산 문제 유형으로 자주 등장한다. 운영체제 5주차 — CPU 스케줄링.md


스케줄링의 목표

목표설명
CPU 이용률 최대화CPU가 유휴 상태 없이 최대한 사용되도록 함
처리량(Throughput) 향상단위 시간당 완료되는 프로세스 수 증가
대기시간 최소화프로세스가 ready 큐에서 기다리는 시간 감소
응답시간 최소화첫 번째 응답이 나오기까지의 시간 감소
반환시간 최소화프로세스 제출 ~ 완료까지의 전체 시간 감소
⚠️ 이 목표들은 서로 상충하기도 한다. 운영체제 5주차 — CPU 스케줄링.md

선점형 vs 비선점형

구분설명해당 알고리즘 예
선점형 (Preemptive)실행 중인 프로세스를 중단하고 CPU를 회수 가능Round Robin, 선점형 SJF
비선점형 (Non-preemptive)프로세스가 자발적으로 CPU를 놓을 때까지 대기FCFS, 비선점형 SJF

운영체제 5주차 — CPU 스케줄링.md


주요 알고리즘

자세한 알고리즘 비교는 CPU 스케줄링 알고리즘 비교 페이지를 참고한다.

FCFS (First-Come First-Served)

  • 먼저 도착한 순서대로 CPU 할당 (비선점형)
  • 장점: 구현이 단순함
  • 단점: Convoy Effect — 긴 작업이 앞에 오면 뒤의 짧은 작업들이 모두 대기하여 평균 대기시간이 길어짐

SJF (Shortest-Job-First)

  • 다음 CPU burst 시간이 짧은 프로세스 먼저 실행
  • 장점: 평균 대기시간이 최소 (최적)
  • 단점: 다음 burst 시간 예측이 어려움 / Starvation 위험 (긴 작업이 무한 대기할 수 있음)

Round Robin

  • 각 프로세스에 타임 퀀텀(time quantum)을 부여하여 순환 실행 (선점형)
  • 장점: 응답성이 좋아 시분할(time-sharing) 시스템에 적합
  • 단점: 타임 퀀텀이 너무 작으면 컨텍스트 스위치 오버헤드 증가

Priority Scheduling

  • 우선순위가 높은 프로세스에 CPU 먼저 할당
  • 단점: Starvation 위험
  • 해결책: Aging — 대기 시간이 길어질수록 우선순위를 점진적으로 상승시킴

운영체제 5주차 — CPU 스케줄링.md


알고리즘 흐름 다이어그램


핵심 용어 요약

용어한 줄 정의
Convoy Effect긴 프로세스 뒤에 짧은 프로세스들이 줄지어 대기하는 현상
Starvation낮은 우선순위 프로세스가 무한히 CPU를 할당받지 못하는 현상
Aging대기 시간에 비례해 우선순위를 높여 Starvation을 방지하는 기법
타임 퀀텀Round Robin에서 각 프로세스에 주어지는 최대 실행 시간 단위
컨텍스트 스위치CPU가 다른 프로세스로 전환될 때 상태를 저장·복원하는 작업

더 많은 용어는 핵심 개념 용어집 (Key Concepts)를 참고한다.


관련 페이지

Made with CairniExplore public wikis →