멀티레벨 큐
Multilevel queue이 기사는 대부분 또는 전체적으로 단일 출처에 의존하고 있습니다. : 큐 · · · JSTOR (2014년 9월) |
적어도 1950년대 후반부터 1960년대 초반까지 사용된 멀티 레벨 큐잉은 미리 정의된 수의 레벨을 가진 큐입니다.항목은 삽입 시(일부 사전 정의된 알고리즘을 사용하여) 특정 수준에 할당되므로 다단계 피드백 대기열과 달리 다른 수준으로 이동할 수 없습니다.항목은 한 레벨에서 모든 항목을 제거한 후 다음 레벨로 이동하면 대기열에서 제거됩니다.항목이 위의 수준에 추가되면 "가져오기"가 다시 시작됩니다.큐의 각 레벨은 자체 스케줄링을 자유롭게 사용할 수 있기 때문에 단순히 큐에 여러 레벨이 있는 것보다 유연성이 높아집니다.
프로세스 스케줄링
멀티 레벨 큐스케줄링 알고리즘은 프로세스 유형, CPU 시간, IO 액세스, 메모리 크기 등의 속성을 기반으로 프로세스를 그룹으로 분류할 수 있는 시나리오에서 사용됩니다.프로세스의 일반적인 분류 중 하나는 전경 프로세스와 백그라운드 프로세스입니다.멀티레벨 큐스케줄링 알고리즘에서는 n개의 큐가 있습니다.여기서 n은 프로세스가 분류된 그룹의 수입니다.각 큐에는 priority가 할당되어 라운드로빈 스케줄링이나[1]: 194 FCFS 등의 독자적인 스케줄링 알고리즘이 있습니다.큐 내의 프로세스를 실행하려면 priority가 높은 큐가 모두 비어 있어야 합니다.즉, priority가 높은 큐의 프로세스가 실행을 완료해야 합니다.이 스케줄링 알고리즘에서는 큐에 할당되면 프로세스는 다른 큐로 이동하지 않습니다.
다음 표에 도착 시간, 프로세스 유형(포그라운드 또는 백그라운드 프로세스에서 높은 우선순위가 부여됨)을 기재하여 양쪽 큐에 대한 FCFS 알고리즘을 사용하여 비선점 및 선점 멀티 레벨스케줄링을 상세하게 이해합니다.
프로세스명 | 도착 시각 | 실행 시간 | 유형 |
---|---|---|---|
P0 | 0 | 5 | 포그라운드 |
P1 | 1 | 8 | 배경 |
P2 | 3 | 7 | 배경 |
P3 | 4 | 3 | 포그라운드 |
P4 | 5 | 3 | 포그라운드 |
P5 | 8 | 11 | 배경 |
P6 | 15 | 3 | 포그라운드 |
P7 | 25 | 4 | 포그라운드 |
「 」를 참조해 주세요.
레퍼런스
- ^ a b Silberschatz, Abraham; Galvin, Peter Baer; Gagne, Greg (2008). Operating system concepts (8th ed.). Hoboken, N.J.: Wiley. ISBN 0470128720.