Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

가변적인 프로세스 도착 시간에 최적화된 라운드 로빈 스케줄링

RR(Round Robin)은 각 프로세스에 퀀텀이라는 고정된 시간 조각이 할당되는 선점형 CPU 스케줄링 알고리즘입니다. 도착 시간이 0인 표준 라운드 로빈과 달리 이 변형은 서로 다른 시간에 도착하는 프로세스를 처리하므로 준비 대기열이 동적으로 변경되므로 일정을 더욱 복잡하게 만듭니다.

선점형 스케줄링에서는 실행 중인 프로세스를 중단하고 다시 준비 대기열로 이동할 수 있습니다. 라운드 로빈은 각 프로세스에 CPU 시간을 동일하게 분배함으로써 공정성을 보장하고, 기아를 방지하는 동시에 대화형 시스템에 대한 좋은 응답 시간을 유지합니다.

다양한 도착 시간에 따른 라운드 로빈 작동 방법

프로세스의 도착 시간이 서로 다른 경우 알고리즘은 다음 단계를 따릅니다.

  • 프로세스는 도착 시간에 따라 준비 대기열에 들어갑니다

  • CPU는 양자 기간 동안 사용 가능한 첫 번째 프로세스를 제공합니다

  • 프로세스가 퀀텀 내에서 완료되면 종료됩니다

  • 완료되지 않은 경우 준비완료 큐의 끝으로 이동

  • 새로 도착한 사람들은 준비 대기열에 합류하여 차례를 기다립니다.

  • 컨텍스트 전환은 선점된 프로세스의 상태를 저장합니다

주요 기능

  • 기아 방지 모든 프로세스는 결국 CPU 시간을 얻습니다

  • 공정한 스케줄링 모든 프로세스에 대해 동일한 시간 할당

  • 좋은 응답 시간 대화형 및 실시간 시스템에 적합

  • 컨텍스트 전환 오버헤드 퀀텀이 작을수록 전환 비용이 증가합니다

예 1 양자 시간 =2

도착 시간과 버스트 시간이 서로 다른 세 가지 프로세스를 고려해 보세요.

프로세스 도착 시간 버스트 시간 P104P213P327

간트차트? 라운드 로빈(양자 =2) P1 P2 P3 P1 P2 P3 0 2 4 6 8 9 14

단계별 실행

시간 프로세스 준비 대기열 액션 0-2P1P1P1은 2개 단위에 대해 실행되고, P2는 t=12-4P2P2에 도착하고, P1P2는 2개 단위에 대해 실행하고, P3는 t=24-6P3P3에 도착하고, P1P3은 2개 단위에 대해 실행합니다.6-8P1P1, P2, P3P1은 나머지 2개 단위를 완료합니다.8-9P2P2, P3P2는 나머지 1개 단위를 완료합니다. unit9-14P3P3P3은 나머지 5개 단위를 완료합니다.

평균 시간 계산

프로세스 도착 버스트 완료 처리 대기 중 P104884P213985P32714125

평균 처리 시간 =(8 + 8 + 12) / 3 =9.33 단위

평균 대기 시간 =(4 + 5 + 5) / 3 =4.67 단위

예 2 양자 시간 =4

더 큰 양자 크기:

프로세스 도착 시간 버스트 시간 P128P207P319

간트차트? 라운드 로빈(양자 =4) P2 P3 P1 P2 P3 P1 0 4 8 12 15 20 24

프로세스 도착 버스트 완료 처리 대기 중 P128242214P20715158P319201910

평균 처리 시간 =(22 + 15 + 19) / 3 =18.67 단위

평균 대기 시간 =(14 + 8 + 10) / 3 =10.67 단위

결론

도착 시간이 서로 다른 라운드 로빈 스케줄링은 동적 프로세스 도착을 처리하는 동시에 공정한 CPU 할당을 제공합니다. 양자 크기는 성능에 큰 영향을 미칩니다. 퀀텀이 작을수록 응답 시간이 향상되지만 컨텍스트 전환 오버헤드가 증가하는 반면, 퀀텀이 클수록 공정성은 감소하지만 처리량은 향상될 수 있습니다.

가변적인 프로세스 도착 시간에 최적화된 라운드 로빈 스케줄링