Open leeggon opened 9 months ago
HRRN은 SPN의 Starvation 현상을 해결하기 위해, Aging을 적용한 스케줄링 기법입니다. Aging은 프로세스의 대기 시간을 고려하여 기회를 제공하는 기법으로, 단순히 Ready Queue내에 Burst Time이 가장 작은 순으로 프로세스를 처리한 SPN과 달리 Burst time과 Waiting time을 함께 고려 (Response ratio = (WT + BT / BT) 기준으로 스케줄링) 하여 CPU를 할당할 프로세스를 선정합니다. 해당 스케줄링 기법은 SPN의 장점인 평균 대기시간 최소화와, 빠른 응답 시간등을 그대로 가져가며, Starvation 현상도 해결할 수 있다는 장점이 있습니다.
MLQ는 여러 프로세스가 우선순위나 작업별로 별도의 Ready Queue에 나뉘어 들어가는 스케줄링 기법입니다. 각 Queue 사이에는 우선순위 기반의 스케줄링을 사용합니다. MLQ는 빠른 응답 시간이라는 장점이 있지만, 여러 개의 Queue를 관리하기에 스케줄링의 오버헤드가 발생하거나, 메모리를 많이 차지하는 단점이 존재합니다. 또한 최초 배정된 queue를 벗어나지 못하므로, 우선 순위가 낮은 queue는 자원을 계속 할당받지 못하는 starvation이 발생할 수 있습니다. (이러한 문제점을 해결하기 위해서, Queue간의 이동이 허용되는 MFQ가 등장했습니다.)