라운드로빈 스케줄링 예제

많은 방송국이 하나의 주파수 채널을 공유하는 중앙 집중식 무선 패킷 라디오 네트워크에서 중앙 기지국의 스케줄링 알고리즘은 원형 로빈 방식으로 이동 스테이션에 대한 시간 슬롯을 예약하고 공정성을 제공할 수 있습니다. 그러나 링크 적응을 사용하는 경우 채널 조건이 다르기 때문에 특정 양의 데이터를 “고가의” 사용자에게 전송하는 데 훨씬 더 오랜 시간이 소요됩니다. 채널 조건이 개선될 때까지 전송을 기다리는 것이 더 효율적일 수 있으며, 적어도 저렴한 사용자에게 일정 우선 순위를 부여하는 것이 더 효율적일 것입니다. 라운드 로빈 스케줄링은 이를 활용하지 않습니다. 더 높은 처리량 및 시스템 스펙트럼 효율성은 채널 종속 스케줄링(예: 비례적으로 공정한 알고리즘 또는 최대 처리량 스케줄링)에 의해 달성될 수 있습니다. 후자는 바람직하지 않은 스케줄링 기아가 특징입니다. 이러한 유형의 스케줄링은 순환 큐 데이터 구조를 통해 구현할 수 있는 컴퓨터의 운영 체제에 대한 매우 기본적인 알고리즘 중 하나입니다. 그림 2.20. 세 가지 프로세스로 라운드 로빈 스케줄링을 위한 가능한 프로세스 상태 시퀀스입니다. 이 스케줄링 알고리즘은 시간 공유 시스템에 사용됩니다. 컴퓨터 시스템을 분석할 때 궁극적으로 리소스 할당에 적용된 일정 알고리즘을 살펴봐야 합니다. 리소스가 할당되고 소비되는 수단은 컴퓨터 시스템의 성능을 평가하는 데 가장 중요합니다.

예를 들어, 스케줄링 알고리즘은 CPU에서 실행되는 프로그램, 서비스되는 I/O 장치 및 특정 장치가 여러 요청을 처리하는 시기 또는 방법을 선택할 때 적용됩니다. 일정 알고리즘을 검사할 때는 두 가지 개념을 해결해야 합니다. 첫 번째는 스케줄링 알고리즘의 주요 작업이며, 다음에 실행하기 위해 선택해야 하는 작업입니다. 두 번째는 현재 실행 중인 작업이 실행하기에 가장 적합한지, 그렇지 않은 경우 선점(서비스에서 제거)해야 하는지 확인하는 것입니다. 다양한 다르게 동작하는 프로세스를 통해 세 가지 스케줄링 알고리즘의 동작을 검사했습니다. 수집한 런타임 통계를 기반으로 이러한 스케줄링 알고리즘은 서로 어떻게 비교합니까? 다음은 조사를 시작하는 몇 가지 구체적인 질문입니다: 라운드 로빈 스케줄링(그림 7.151)은 각 작업을 CPU 시간의 동일한 몫으로 할당합니다. 가장 간단한 형식에서 작업은 순환 큐에 있으며 작업의 할당된 CPU 시간이 만료되면 작업이 큐의 끝에 배치되고 새 작업이 큐 의 맨 앞에서 수행됩니다. 라운드 로빈 스케줄링은 각 작업이 필요한 처리의 복잡성에 따라 다양한 양의 CPU 요구 사항을 가질 수 있는 많은 실시간 응용 프로그램에서 는 그리 만족스럽지 않습니다. 순수 라운드 로빈 스케줄링의 한 가지 변형은 우선 순위 수준이 같은 작업이 동일한 양의 CPU 시간을 받는 우선 순위 기반 일정을 제공하는 것입니다.

각 작업에 다른 최대 CPU 시간을 할당할 수도 있습니다. 예제 프로젝트는 라운드 로빈 스케줄링의 사용에 대한 나중에 제공됩니다. 라운드 로빈 알고리즘은 스케줄러가 시간 할당량이 만료되면 CPU에서 프로세스를 강제로 꺼내기 때문에 선점 알고리즘입니다. 보장되거나 차별화된 서비스 품질이 제공되는 경우, 최상의 통신, 적자 라운드 로빈(DRR) 스케줄링, 가중 라운드 로빈(WRR) 스케줄링 또는 가중 공정 대기열(WFQ)을 고려할 수 있습니다. 라운드 로빈 일정을 이해하기 위해 100ms의 양자 시간과 프로세스의 도착 시간과 프로세스의 실행 시간을 다음 표를 고려 : 일반 일정 개념의 이해를 강화하기 위해, 이 장에서 논의, 우리는 지금 걸릴 것입니다 라운드 로빈 CPU 스케줄링이 어떻게 작동하는지 보여 주는 다양한 예제를 보여 줍니다.