라운드 로빈 스케줄링 예제

보장되거나 차별화된 서비스 품질이 제공되는 경우, 최상의 통신, 적자 라운드 로빈(DRR) 스케줄링, 가중 라운드 로빈(WRR) 스케줄링 또는 가중 공정 대기열(WFQ)을 고려할 수 있습니다. – 시간 양자무한대로되면, 라운드 로빈 스케줄링 알고리즘은 점차 FCFS 스케줄링 알고리즘이된다. 예를 들어 시간 슬롯이 100밀리초이고 JOB1이 완료하는 데 총 시간이 250ms인 경우 라운드 로빈 스케줄러는 100ms 이후에 작업을 일시 중단하고 다른 작업에 CPU에 시간을 제공합니다. 다른 작업이 동일한 점유율(각 100ms)을 가지면 job1은 CPU 시간을 다시 할당하고 주기가 반복됩니다. 이 프로세스는 작업이 완료될 때까지 계속되며 CPU에 더 이상 시간이 필요하지 않습니다. 프로세스 스케줄러는 특정 일정 알고리즘에 따라 CPU에 할당될 다른 프로세스를 예약합니다. 이 장에서 논의 할 여섯 인기있는 프로세스 스케줄링 알고리즘이 있습니다 – – 프로세스가 주어진 기간 동안 실행되면, 프로세스가 선점되고 다음 프로세스 실행은 주어진 기간 동안 시작됩니다. – 라운드 로빈 스케줄링은 컨텍스트 전환을 사용하여 선점된 프로세스의 상태를 저장합니다. 이 게시물에서는 운영 체제에서 라운드 로빈 스케줄링 알고리즘에 대해 배웠습니다. 라운드 로빈 스케줄링을 이해하기 위해 100ms의 양자 시간과 프로세스의 도착 시간과 프로세스의 실행 시간을 다음 표를 고려: 라운드 로빈은 각 프로세스가 순환 방식으로 고정 된 시간 슬롯을 할당되는 CPU 스케줄링 알고리즘입니다. 라운드 로빈 스케줄링은 가장 긴 시간을 기다린 데이터 흐름에 일정 우선 순위가 부여되므로 데이터 패킷의 크기가 동일하면 최대 최소 공정성을 제공합니다.

데이터 패킷의 크기가 작업마다 크게 다른 경우 바람직하지 않을 수 있습니다. 큰 패킷을 생성하는 사용자는 다른 사용자보다 선호됩니다. 이 경우 공정한 대기열이 바람직할 것입니다. 프로세스를 공정하게 예약하기 위해 라운드 로빈 스케줄러는 일반적으로 시간 공유를 사용하여 각 작업에 시간 슬롯 또는 퀀텀[4](CPU 시간 허용)을 제공하고 그때까지 완료되지 않으면 작업을 중단합니다. 다음에 해당 프로세스에 시간 슬롯이 할당되면 작업이 다시 시작됩니다. 프로세스가 종료되거나 어트리뷰트된 시간 퀀텀 동안 대기 상태로 변경되면 스케줄러는 실행할 준비 대기열의 첫 번째 프로세스를 선택합니다. 시간 공유가 없거나 작업 규모에 비해 퀀타가 큰 경우 큰 작업을 생산하는 프로세스가 다른 프로세스보다 유리합니다. 라운드 로빈 알고리즘은 스케줄러가 시간 할당량이 만료되면 CPU에서 프로세스를 강제로 꺼내기 때문에 선점 알고리즘입니다.

이러한 알고리즘은 선제적이지 않거나 선제적입니다. 비선적 알고리즘은 프로세스가 실행 상태로 들어가면 할당된 시간이 완료될 때까지 선점할 수 없도록 설계되었지만, 선점적 스케줄링은 스케줄러가 낮은 우선 순위 실행 프로세스를 선점할 수 있는 우선 순위를 기반으로 합니다. 우선 순위가 높은 프로세스가 준비 상태로 전환될 때 언제든지

Posted in Uncategorized