CPU 스케줄링 알고리즘

xyzw·2024년 9월 25일
0

CS

목록 보기
11/18

비선점형 방식

프로세스가 스스로 CPU 소유권을 포기하는 방식으로, 강제로 프로세스를 중지하지 않아 컨텍스트 스위칭으로 인한 부하가 적음

FCFS

First Come, First Served: 가장 먼저 온 것을 가장 먼저 처리

길게 수행되는 프로세스 때문에 준비 큐에서 오래 기다리는 현상이 발생 (convoy effect)

SJF

Shortest Job First: 실행 시간이 가장 짧은 프로세스를 가장 먼저 실행

긴 시간을 가진 프로세스가 실행되지 않는 현상이 발생 (starvation)
평균 대기 시간이 가장 짧음

우선순위

SJF 스케줄링의 starvation을 보완한 알고리즘

오래된 작업일수록 우선순위를 높임 (aging)

선점형 방식

현대 운영체제가 쓰는 방식으로, 지금 사용하고 있는 프로세스를 알고리즘에 의해 중단시키고 강제로 다른 프로세스에 CPU 소유권을 할당함

라운드 로빈

Round Robin: 현대 컴퓨터가 쓰는 선점형 알고리즘 스케줄링 방법으로, 각 프로세스는 동일한 할당 시간을 주고 그 시간 안에 끝나지 않으면 다시 준비 큐의 뒤로 가는 알고리즘

할당 시간이 너무 크면 FCFS가 되고, 짧으면 컨텍스트 스위칭이 잦아져서 오버헤드가 커짐

일반적으로 전체 작업 시간은 길어지지만, 평균 응답 시간은 짧아짐

로드밸런서에서 트래픽 분산 알고리즘으로도 사용됨

SRF

Shortest Remaining time First: 중간에 더 짧은 작업이 들어오면 수행하던 프로세스를 중지하고 해당 프로세스를 수행

다단계 큐

우선순위에 따른 준비 큐를 여러 개 사용하고, 큐마다 라운드로빈이나 FCFS 등 다른 스케줄링 알고리즘을 적용

큐 간의 프로세스 이동이 안 되므로 스케줄링 부담이 적지만 유연성이 떨어짐

0개의 댓글