운영체제

CPU 스케줄링 알고리즘

iksadnorth 2023. 7. 23. 18:42

👣 개요

CPU 소유권을 어떤 프로그램에 대해 넘길지에 관한 알고리즘이다.

👣 비선점형 방식

프로세스가 스스로 CPU 소유권을 포기하는 방식. 
강제로 프로세스를 중지하지 않기 때문에 Context Switching으로 인한 부하가 적다.

👣 FCFS - First Come, First Served

가장 먼저 들어온 프로세스를 먼저 처리하는 알고리즘.
단점으로 Convoy Effect이 있는데 
이것은 오래 걸리는 프로세스를 처리하기 위해 간단한 프로세스를 오래 기다리게 해야 하는 현상이 발생한다.

👣 SJF - Shortest Job First

실행 시간이 가장 짧은 프로세스를 먼저 실행하는 알고리즘.
단점으로 Starvation 현상이 있는데
이것은 실행 시간이 긴 프로세스는 전혀 실행되지 않는 현상을 일컫습니다.

👣 우선 순위

SJF 스케줄링을 보완하기 위해 
오래된 작업일수록 우선순위을 높이는 방법을 사용.

👣 선점형 방식

현재 프로세스를 중단시키고 다른 프로세스에 CPU 소유권을 부여하는 방법.

👣 라운드 로빈

일정 할당 시간을 주고 그 시간 안에 끝내지 못하면 Ready Queue의 뒤로 보내는 알고리즘.

👣 SRF - Shortest Remaining Time First

중간에 더 짧은 작업이 들어오면 우선 수행.

👣 다단계 큐

Ready Queue를 여러 개 만들되 우선 순위를 부여한다.
큐마다 다양한 스케줄링 알고리즘을 적용하고 운용함.

'운영체제' 카테고리의 다른 글

프로세스 자원 동기화 전략  (0) 2023.07.23
IPC - Inter Process Communication  (0) 2023.07.23
은행원 알고리즘  (0) 2023.07.23
C언어 컴파일 과정  (0) 2023.07.23
프로세스  (0) 2023.07.23