멀티 레벨 피드백 큐 스케줄링은 여러 개의 우선순위 큐를 사용하여 프로세스를 관리하는 스케줄링 알고리즘이다. 각 큐는 서로 다른 우선순위를 가지고 있으며, 일반적으로 높은 우선순위를 가진 큐일수록 CPU를 더 자주 할당받는다.
** 동작 방식
1. 프로세스 도착:
프로세스가 시스템에 도착하면, 가장 높은 우선순위 큐에 할당된다.
2. 시간 할당:
각 큐에서 실행 중인 프로세스는 일정 시간 동안 CPU를 사용할 수 있다.
3. 우선순위 하락:
만약 프로세스가 할당된 시간 동안 완료되지 못하면 또는 입출력 연산 등으로 중단되면, 해당 프로세스는 낮은 우선순위 큐로 이동한다.
4. 우선순위 상승:
반면에 프로세스가 해당 큐에서 일정 시간 동안 성공적으로 CPU를 사용하면, 우선순위가 높은 다음 우선순위 큐로 이동한다.
장점:
- 유연한 대응: 시스템 부하에 따라 프로세스의 우선순위를 동적으로 조절하여 효과적으로 대응할 수 있다.
- 성능 향상: CPU 사용에 실패한 프로세스가 낮은 우선순위 큐로 이동하면, 다른 종류의 프로세스에게 CPU를 할당하여 시스템 성능을 최적화할 수 있다.
적절한 상황:
- 다양한 부하 상황: I/O 중심의 프로세스와 CPU 중심의 프로세스가 혼재된 환경에서 유용하게 사용된다.
- 프로세스의 다양한 우선순위: 다양한 종류의 프로세스에 다양한 우선순위를 부여하여 관리할 때 효과적이다.
다중 피드백 큐 스케줄링은 프로세스의 특성에 따라 동적으로 우선순위를 조절하여 시스템의 자원을 효과적으로 활용하는 데 기여한다. 다양한 작업 부하에 대응할 수 있는 이러한 특성은 실시간 환경에서의 성능을 향상시키는 데 도움이 된다.
'운영체제(OS) > keyword' 카테고리의 다른 글
(Project2-User Programs) 레지스터와 메모리(Register vs Memory) (0) | 2023.12.15 |
---|---|
(Project2-User Programs) 유저 모드와 커널 모드(User mode vs Kernel mode) (0) | 2023.12.15 |
(Project1-Threads) 컨텍스트 스위칭(Context Switching) (0) | 2023.12.15 |
(Project1-Threads) 데드락(Deadlock) (0) | 2023.12.15 |
(Project1-Threads) 경쟁 상태(Race Condition) (0) | 2023.12.15 |