logo

라운드 로빈 스케줄링 알고리즘

이번 튜토리얼에서는 가장 효율적인 CPU 프로세스 스케줄링 알고리즘인 Round Robin CPU Process Scheduling에 대해 알아보겠습니다. 이 알고리즘은 이전 CPU 프로세스 스케줄링 알고리즘에서 발견한 모든 결함을 제거하기 때문에 매우 특별합니다.

이 라운드 로빈 CPU 스케줄링이 인기가 많은 이유는 라운드 로빈이 Pre Emptive 상태에서만 작동하기 때문입니다. 이로 인해 매우 안정적입니다.

중요한 약어

  1. CPU - - - > 중앙처리장치
  2. AT - - - > 도착 시간
  3. BT - - - > 버스트 시간
  4. WT - - - > 대기 시간
  5. TAT - - - > 처리 시간
  6. CT - - - > 완료 시간
  7. FIFO - - - > 선입선출
  8. TQ - - - > 시간 양자

라운드 로빈 CPU 스케줄링

라운드 로빈(Round Robin) CPU 스케줄링은 CPU 스케줄링 알고리즘 역사상 가장 중요한 CPU 스케줄링 알고리즘입니다. 라운드 로빈 CPU 스케줄링은 TQ(Time Quantum)를 사용합니다. Time Quantum은 Burst Time에서 제거되어 프로세스 덩어리가 완료되도록 하는 것입니다.

문자열 json객체

시간 공유는 알고리즘의 주요 강조점입니다. 이 알고리즘의 각 단계는 주기적으로 수행됩니다. 시스템은 시간 양자라고 알려진 특정 시간 조각을 정의합니다.

먼저, 준비 큐에 들어갈 자격이 있는 프로세스가 준비 큐에 들어갑니다. Ready Queue에 첫 번째 프로세스가 진입한 후 Time Quantum 청크 시간 동안 실행됩니다. 실행이 완료된 후 해당 프로세스는 준비 큐에서 제거됩니다. 지금도 프로세스는 실행을 완료하는 데 약간의 시간이 필요하며 프로세스는 Ready Queue에 추가됩니다.

준비 대기열에는 이미 준비 대기열에 있는 프로세스가 포함되어 있지 않습니다. 준비 대기열은 고유하지 않은 프로세스를 보유하지 않는 방식으로 설계되었습니다. 동일한 프로세스를 유지함으로써 프로세스의 중복성이 증가합니다.

프로세스 실행이 완료된 후 Ready Queue는 완료된 프로세스를 보류하지 않습니다.

int를 문자열로 변환하는 방법
os 라운드 로빈 스케줄링 알고리즘

장점

라운드 로빈 CPU 스케줄링의 장점은 다음과 같습니다.

  1. 각 작업에는 상당한 양의 CPU가 할당됩니다.
  2. 버스트 시간에 의존하지 않기 때문에 실제로 시스템에서 구현할 수 있습니다.
  3. First Come First Serve CPU 스케줄링 알고리즘에서 발생하는 호송 효과나 기아 문제의 영향을 받지 않습니다.

단점

라운드 로빈 CPU 스케줄링의 단점은 다음과 같습니다.

  1. 운영 체제 슬라이싱 시간이 짧으면 CPU 출력이 감소합니다.
  2. 라운드 로빈 CPU 스케줄링 접근 방식은 컨텍스트를 교환하는 데 시간이 더 오래 걸립니다.
  3. 시간 양자는 성능에 중요한 영향을 미칩니다.
  4. 절차에는 우선순위를 설정할 수 없습니다.

예:

 S. No Process ID Arrival Time Burst Time _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1 P 1 0 7 2 P 2 1 4 3 P 3 2 15 4 P 4 3 11 5 P 5 4 20 6 P 6 4 9 

시간 양자 TQ = 5라고 가정

HTML 목록 상자

준비 대기열:

 P1, P2, P3, P4, P5, P6, P1, P3, P4, P5, P6, P3, P4, P5 

간트 차트:

os 라운드 로빈 스케줄링 알고리즘

평균 완료 시간

 Average Completion Time = ( 31 +9 + 55 +56 +66 + 50 ) / 6 Average Completion Time = 267 / 6 Average Completion Time = 44.5 

평균 대기 시간

 Average Waiting Time = ( 5 + 26 + 5 + 42 + 42 + 37 ) / 6 Average Waiting Time = 157 / 6 Average Waiting Time = 26.16667 

평균 처리 시간

 Average Turn Around Time = ( 31 + 8 + 53 + 53 + 62 + 46 ) / 6 Average Turn Around Time = 253 / 6 Average Turn Around Time = 42.16667