운영체제(OS)/keyword

(Project1-Threads) 멀티 레벨 피드백 큐(MLFQS)

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

멀티 레벨 피드백 큐 스케줄링은 여러 개의 우선순위 큐를 사용하여 프로세스를 관리하는 스케줄링 알고리즘이다. 각 큐는 서로 다른 우선순위를 가지고 있으며, 일반적으로 높은 우선순위를 가진 큐일수록 CPU를 더 자주 할당받는다.

 

출처 : https://www.savemyexams.com/a-level/computer-science/ocr/17/revision-notes/2-software-and-software-development/2-1-systems-software/scheduling/

** 동작 방식

1. 프로세스 도착:

프로세스가 시스템에 도착하면, 가장 높은 우선순위 큐에 할당된다.

2. 시간 할당:

각 큐에서 실행 중인 프로세스는 일정 시간 동안 CPU를 사용할 수 있다.

3. 우선순위 하락:

만약 프로세스가 할당된 시간 동안 완료되지 못하면 또는 입출력 연산 등으로 중단되면, 해당 프로세스는 낮은 우선순위 큐로 이동한다.

4. 우선순위 상승:

반면에 프로세스가 해당 큐에서 일정 시간 동안 성공적으로 CPU를 사용하면, 우선순위가 높은 다음 우선순위 큐로 이동한다.

장점:

  • 유연한 대응: 시스템 부하에 따라 프로세스의 우선순위를 동적으로 조절하여 효과적으로 대응할 수 있다.
  • 성능 향상: CPU 사용에 실패한 프로세스가 낮은 우선순위 큐로 이동하면, 다른 종류의 프로세스에게 CPU를 할당하여 시스템 성능을 최적화할 수 있다.

적절한 상황:

  • 다양한 부하 상황: I/O 중심의 프로세스와 CPU 중심의 프로세스가 혼재된 환경에서 유용하게 사용된다.
  • 프로세스의 다양한 우선순위: 다양한 종류의 프로세스에 다양한 우선순위를 부여하여 관리할 때 효과적이다.

 

다중 피드백 큐 스케줄링은 프로세스의 특성에 따라 동적으로 우선순위를 조절하여 시스템의 자원을 효과적으로 활용하는 데 기여한다. 다양한 작업 부하에 대응할 수 있는 이러한 특성은 실시간 환경에서의 성능을 향상시키는 데 도움이 된다.