실행 대기열
Run queue현대 컴퓨터에서는 많은 프로세스가 동시에 실행된다.활성 프로세스는 실행 대기열 또는 실행 대기열이라는 배열로 배치된다.실행 대기열에는 각 프로세스의 우선 순위 값이 포함될 수 있으며, 스케줄러는 이 값을 사용하여 다음에 실행할 프로세스를 결정할 수 있다.각 프로그램이 공정한 리소스 공유를 갖도록 하기 위해 각 프로그램이 일시 중지되고 실행 대기열에 다시 배치되기 전에 일정 기간(수량) 동안 실행된다.프로그램이 중지되어 다른 프로그램이 실행되도록 하면 실행 대기열에서 우선순위가 가장 높은 프로그램이 실행될 수 있다.
프로세스가 절전 모드를 요청하거나 리소스가 사용 가능해지기를 기다리고 있거나 종료된 경우 실행 대기열에서 프로세스도 제거된다.
Linux 운영 체제(커널 2.6.23 이전)에서는 시스템의 각 CPU에 실행 대기열이 주어지며, 실행 대기열은 활성 및 만료된 프로세스 어레이를 모두 유지한다.각 어레이에는 이중으로 연결된 목록에 대한 140개(우선 순위 수준당 1개) 포인터가 포함되어 있으며, 이는 다시 지정된 우선순위를 가진 모든 프로세스를 참조한다.스케줄러는 활성 어레이에서 다음 프로세스를 가장 높은 우선 순위로 선택한다.프로세스의 퀀텀이 만료되면 만료된 배열로 우선 순위에 따라 배치된다.액티브 어레이에 프로세스가 더 이상 포함되지 않으면 스케줄러는 액티브 어레이와 만료된 어레이를 스왑하므로 O(1) 스케줄러라는 이름이 붙는다.
UNIX 또는 Linux에서 sar 명령은 실행 대기열을 확인하는 데 사용된다.
vmstat UNIX 또는 Linux 명령을 사용하여 실행 대기 또는 실행 대기 중인 프로세스의 수를 결정할 수도 있다.이것들은 'r' 열에 나타난다.
실행 대기열에는 실행 대기열을 각 물리적 프로세서에 할당하는 모델과 시스템에 실행 대기열이 하나만 있는 모델 등 두 가지 모델이 있다.
참고 항목
- 완전 공정 스케줄러, 커널 2.6.23 이후 리눅스에서 사용하는 스케줄링 알고리즘
참조
- Tanenbaum AS (2008) Modern Operating Systems, 3차 개정, 페이지 753-4.피어슨 교육, 주식회사 ISBN0-13-600663-9
- Silverschatz, Galvin, Gange(2012) 운영 체제 개념, 9차 개정.와일리, ISBN 978-1-118-55963-5