CPU Scheduling 알고리즘은 운영체제에서 프로세스들이 CPU를 사용하는 순서를 관리하는 중요한 개념이다. 각각의 CPU Scheduling 알고리즘은 특정한 방식으로 프로세스를 선택하고 CPU를 할당하여 시스템의 성능을 최적화한다.
FCFS (First-Come, First-Served) Scheduling:
FCFS는 프로세스가 도착한 순서대로 CPU를 할당하는 가장 간단한 스케줄링 알고리즘이다. 먼저 도착한 프로세스가 먼저 CPU를 사용하며, 선착순으로 대기열에서 처리된다.
Round Robin Scheduling:
Round Robin은 각 프로세스에 동일한 시간의 할당량을 부여하는 방식으로 동작한다. 할당된 시간이 지나면 해당 프로세스는 대기열의 맨 뒤로 이동하고 다음 프로세스에게 CPU를 양보한다.
Shortest Job Next (SJN) Scheduling:
SJN은 프로세스의 실행 시간이 가장 짧은 것부터 처리하는 방식이다. 실행 시간을 미리 예측할 수 있을 때 효과적이지만, 예측이 어려운 경우에는 유용하지 않을 수 있다.
Priority Scheduling:
Priority Scheduling은 각 프로세스에 우선순위를 할당하고 우선순위가 높은 프로세스를 먼저 처리하는 방식이다.
** 고급 Scheduling인 Multilevel Queue Scheduling에 대해서는 별도 포스팅
'운영체제(OS) > keyword' 카테고리의 다른 글
(Project1-Threads) 컨텍스트 스위칭(Context Switching) (0) | 2023.12.15 |
---|---|
(Project1-Threads) 데드락(Deadlock) (0) | 2023.12.15 |
(Project1-Threads) 경쟁 상태(Race Condition) (0) | 2023.12.15 |
(Project1-Threads) 세마포어와 뮤텍스(Semaphore, Mutex) (0) | 2023.12.15 |
(Project1-Threads) 프로세스와 스레드(Process, Thread) (0) | 2023.12.15 |