1. CPU 스케줄링 개요


1-1. 우선순위와 스케줄링 큐

  1. 우선순위 : 운영체제는 각 프로세스의 PCB에 우선순위를 명시하고, 우선순위를 기준으로 처리함

  2. 스케줄링 큐 : 효율적인 스케줄링을 위해 사용

    [1] 스케줄링 큐가 반영된 프로세스 상태 다이어그램

    [1] 스케줄링 큐가 반영된 프로세스 상태 다이어그램

    1. 준비 큐 : CPU를 이용하고 싶은 프로세스들이 서는 줄

    2. 대기 큐 : 입출력장치를 이용하기 위해 대기 상태에 접어든 프로세스들이 서는 줄

      [2] 대기 큐

      [2] 대기 큐

    <aside> ❕

    자료구조 관점에서는 선입선출이지만 스케줄링의 큐가 반드시 선입선출일 필요는 없음

    </aside>

1-2. 선점형과 비선점형 스케줄링

2. CPU 스케줄링 알고리즘


<aside> 👀

용어가 아닌 아이디어에 집중해서 학습

</aside>

이름 분류 내용 부작용
선입 선처리(FCFS) 비선점형 CPU를 먼저 요청한 프로세스부터 CPU를 할당 호위 효과
최단 작업 우선(SJF) 비선점형 CPU 사용 시간이 짧은 것부터 실행 기아 현상
라운드로빈(RR) 선점형 선입 선처리에 ‘타임 슬라이스’ 개념 추가 문맥 교환 비용
최소 잔여 시간 우선(SRT) 선점형 (잔여 시간의) 최단 작업 우선 + 라운드 로빈 기아 현상
우선순위 - 우선순위 부여하여, 우선순위 순서대로 처리 기아 현상 → 에이징
다단계 큐 - 우선순위별로 준비 큐를 여러 개 사용