[CS기초] CPU Scheduling 알고리즘 핵심 정리

2025. 5. 9. 19:47·크래프톤 정글/CS기초(키워드, 개념정리)
목차
  1. CPU Scheduling 알고리즘 핵심 정리
  2. 스케줄링 성능 기준
  3. 주요 CPU Scheduling 알고리즘
  4. 실제 운영체제에서의 예시
  5. 마치면서

CPU Scheduling 알고리즘 핵심 정리

CPU Scheduling이란 다중 프로세스 환경에서 여러 프로세스들이 CPU를 공유할 때, 어떤 프로세스에 얼마나 CPU를 할당할지에 대한 순서를 결정하는 운영체제의 핵심 메커니즘인데요. CPU는 한 번에 하나의 작업만 처리할 수 있기 때문에, 효율적인 스케줄링이 시스템 성능에 매우 큰 영향을 주게 됩니다.

 

 

스케줄링 성능 기준

어떤 스케줄링 방식이 좋은지 나쁜지에 대해서는, 다음과 같은 기준을 통해 판단하게 됩니다.

  • Waiting Time: CPU를 기다리는 시간
  • Turnaround Time: 프로세스 요청이 처리되는 총 시간
  • Response Time: 요청 후 첫 반응까지 걸리는 시간
  • Throughput: 단위 시간당 처리된 작업 수 (클수록 좋음)

이러한 지표들을 최소화(또는 최대화)하는 것이 각 스케줄링 알고리즘의 목표입니다.

 

 

주요 CPU Scheduling 알고리즘

알고리즘 설명 특징
FCFS
(First Come First Serve)
도착한 순서대로 처리 간단하지만 Convoy Effect 발생
SJF
(Shortest Job First)
CPU burst가 짧은 순서대로 처리 이론상 평균 대기 시간 최소화, 예측이 어려움
Priority Scheduling 우선순위가 높은 프로세스 먼저 실행 Starvation 발생 가능 → 해결: Aging
Round Robin Time Quantum만큼 순환 처리 공정성 확보, 응답시간 향상
Multilevel Queue 프로세스 성격에 따라 큐 분리 큐 간 우선순위 존재, 유연성 부족
Multilevel Feedback Queue 동적으로 우선순위 조정 복잡하지만 유연하고 효율적

 

 

실제 운영체제에서의 예시

  • Windows: Round Robin 기반 + Priority Scheduling
  • Linux: Completely Fair Scheduler (CFS)

 

마치면서

각 스케줄링 알고리즘은 특정 상황에서 더 적합하며, 응답 시간, 대기 시간, 처리량 등의 목표에 따라 선택이 달라집니다. 운영체제는 이 알고리즘을 통해 CPU 자원을 효율적으로 분배하고, 사용자 경험을 향상시키지요. 곧 올바른 스케줄링은 단순한 선택이 아니라, 시스템의 운명을 바꾸는 결정이라고 할 수 있습니다.

저작자표시 비영리 변경금지 (새창열림)

'크래프톤 정글 > CS기초(키워드, 개념정리)' 카테고리의 다른 글

[CS기초] Race Condition, 동시성 버그의 핵심 원인  (0) 2025.05.09
[CS기초] Semaphore와 Mutex, 동시성 제어의 핵심 도구  (0) 2025.05.09
[CS기초] Process와 Thread 핵심 정리  (0) 2025.05.09
[중간정리] 8주차 - HTTP, 파일 디스크립터, TCP/UDP, C언어(포인터)  (0) 2025.05.06
[CS기초] 8주차 개념 정리  (1) 2025.05.06
  1. CPU Scheduling 알고리즘 핵심 정리
  2. 스케줄링 성능 기준
  3. 주요 CPU Scheduling 알고리즘
  4. 실제 운영체제에서의 예시
  5. 마치면서
'크래프톤 정글/CS기초(키워드, 개념정리)' 카테고리의 다른 글
  • [CS기초] Race Condition, 동시성 버그의 핵심 원인
  • [CS기초] Semaphore와 Mutex, 동시성 제어의 핵심 도구
  • [CS기초] Process와 Thread 핵심 정리
  • [중간정리] 8주차 - HTTP, 파일 디스크립터, TCP/UDP, C언어(포인터)
그냥사람_
그냥사람_
IT 관련 포스팅을 합니다. 크래프톤 정글 8기 정경호
  • 그냥사람_
    그냥코딩
    그냥사람_
  • 전체
    오늘
    어제
    • 글 전체보기 N
      • 크래프톤 정글 N
        • 로드 투 정글(입학시험)
        • CS기초(키워드, 개념정리)
        • 컴퓨터구조(CSAPP)
        • Code 정글(C언어) N
        • 마이 정글(WIL, 에세이)
      • 자료구조&알고리즘
        • 자료구조
        • 알고리즘
      • 일상
  • 블로그 메뉴

    • 홈
  • 링크

    • Github
  • hELLO· Designed By정상우.v4.10.3
그냥사람_
[CS기초] CPU Scheduling 알고리즘 핵심 정리

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.