운영체제(OS)/keyword

(Project1-Threads) CPU Scheduling 알고리즘

스탠딩 2023. 12. 15. 14:29

CPU Scheduling 알고리즘은 운영체제에서 프로세스들이 CPU를 사용하는 순서를 관리하는 중요한 개념이다. 각각의 CPU Scheduling 알고리즘은 특정한 방식으로 프로세스를 선택하고 CPU를 할당하여 시스템의 성능을 최적화한다.

FCFS (First-Come, First-Served) Scheduling:

FCFS는 프로세스가 도착한 순서대로 CPU를 할당하는 가장 간단한 스케줄링 알고리즘이다. 먼저 도착한 프로세스가 먼저 CPU를 사용하며, 선착순으로 대기열에서 처리된다.

출처 : https://cs341.cs.illinois.edu/coursebook/Scheduling

Round Robin Scheduling:

Round Robin은 각 프로세스에 동일한 시간의 할당량을 부여하는 방식으로 동작한다. 할당된 시간이 지나면 해당 프로세스는 대기열의 맨 뒤로 이동하고 다음 프로세스에게 CPU를 양보한다.

출처 : https://cs341.cs.illinois.edu/coursebook/Scheduling

Shortest Job Next (SJN) Scheduling:

SJN은 프로세스의 실행 시간이 가장 짧은 것부터 처리하는 방식이다. 실행 시간을 미리 예측할 수 있을 때 효과적이지만, 예측이 어려운 경우에는 유용하지 않을 수 있다.

출처 : https://cs341.cs.illinois.edu/coursebook/Scheduling

Priority Scheduling:

Priority Scheduling은 각 프로세스에 우선순위를 할당하고 우선순위가 높은 프로세스를 먼저 처리하는 방식이다.

출처 : https://open4tech.com/rtos-scheduling-algorithms/

 

** 고급 Scheduling인 Multilevel Queue Scheduling에 대해서는 별도 포스팅