"RR 스케줄링"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-{{clear}} +{{zclear}}))
 
(사용자 5명의 중간 판 18개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
==개요==
;round-robin scheduling; RR scheduling
;round-robin scheduling; RR scheduling
;라운드로빈 스케줄링; RR 스케줄링
;라운드로빈 스케줄링; RR 스케줄링; RR 알고리즘
*[[선점형 스케줄링]]의 하나
*[[선점형 스케줄링]]의 하나
*[[시분할 시스템]]을 위해 설계됨
*[[시분할 시스템]]을 위해 설계됨
*시간 할당량(time quantum) 단위로 CPU를 할당
*시간 할당량(time quantum) 단위로 CPU를 할당
:일반적으로 10 ~ 100 [[ms]]
:일반적으로 10 ~ 100 [[ms]]
*알고리즘의 성능은 시간 할당량의 크기에 좌우됨
:시간할당량이 매우 크면 [[FCFS 스케줄링]]과 같아짐
:시간할당량이 매우 작으면 프로세서 공유와 같아짐<ref>n개의 프로세스가 있다면 1/n 속도로 수행됨(단, 문맥교환 시간은 무시된다고 가정할 때)</ref>


==예시==
==예시 1==
*시간할당량 = 4ms
{| class='wikitable'
! 프로세스 !! 버스트 시간 !! 턴어라운드 시간 !! 대기 시간
|- align='center'
| P1 || 24 || 30 || 6
|- align='center'
| P2 || 3 || 7 || 4
|- align='center'
| P3 || 3 || 10 || 7
|- align='center'
! 평균 !! - !! 15.67 !! 5.67
|}
 
{{막대
| 4*15 | P1 | Blue }}{{막대
| 3*15 | P2 | Green }}{{막대
| 3*15 | P3 | DarkViolet }}{{막대
| 4*15 | P1 | Blue }}{{막대
| 4*15 | P1 | Blue }}{{막대
| 4*15 | P1 | Blue }}{{막대
| 4*15 | P1 | Blue }}{{막대
| 4*15 | P1 | Blue }}{{zclear}}
{{막대숫자
| 4*15 | 4 }}{{막대숫자
| 3*15 | 7 }}{{막대숫자
| 3*15 | 10 }}{{막대숫자
| 4*15 | 14 }}{{막대숫자
| 4*15 | 18 }}{{막대숫자
| 4*15 | 22 }}{{막대숫자
| 4*15 | 26 }}{{막대숫자
| 4*15 | 30 }}{{zclear}}
 
*평균 대기 시간 = ( 6 + 4 + 7 ) / 3 = 5.67
 
==예시 2==
*시간할당량 = 3ms
*시간할당량 = 3ms
{| class='wikitable'
{| class='wikitable'
16번째 줄: 54번째 줄:
| P2 || 1 || 3 || 5 || 2
| P2 || 1 || 3 || 5 || 2
|- align='center'
|- align='center'
| P3 || 2 || 8 || 21 || 10
| P3 || 2 || 8 || 20 || 12
|- align='center'
|- align='center'
| P4 || 3 || 6 || 18 || 12
| P4 || 3 || 6 || 17 || 11
|- align='center'
|- align='center'
! 평균 !! - !! - !! 17 !! 8.25
! 평균 !! - !! - !! 14 !! 8.5
|}
|}


28번째 줄: 66번째 줄:
| 3*15 | P3 | DarkViolet }}{{막대
| 3*15 | P3 | DarkViolet }}{{막대
| 3*15 | P4 | Maroon }}{{막대
| 3*15 | P4 | Maroon }}{{막대
| 3*15 | P1 | Blue }}{{막대
| 2*15 | P1 | Blue }}{{막대
| 3*15 | P3 | DarkViolet }}{{막대
| 3*15 | P3 | DarkViolet }}{{막대
| 3*15 | P4 | Maroon }}{{막대
| 3*15 | P4 | Maroon }}{{막대
| 3*15 | P3 | DarkViolet }}{{clear}}
| 2*15 | P3 | DarkViolet }}{{zclear}}
{{막대숫자
{{막대숫자
| 3*15 | 3 }}{{막대숫자
| 3*15 | 3 }}{{막대숫자
37번째 줄: 75번째 줄:
| 3*15 | 9 }}{{막대숫자
| 3*15 | 9 }}{{막대숫자
| 3*15 | 12 }}{{막대숫자
| 3*15 | 12 }}{{막대숫자
| 3*15 | 15 }}{{막대숫자
| 2*15 | 14 }}{{막대숫자
| 3*15 | 18 }}{{막대숫자
| 3*15 | 17 }}{{막대숫자
| 3*15 | 21 }}{{막대숫자
| 3*15 | 20 }}{{막대숫자
| 3*15 | 24 }}{{clear}}
| 2*15 | 22 }}{{zclear}}


*평균 대기 시간 = ( 9 + 2 + 10 + 12 ) / 4 = 8.25
*평균 대기 시간 = ( 9 + 2 + 12 + 11 ) / 4 = 8.5


==같이 보기==
==같이 보기==
49번째 줄: 87번째 줄:
*[[스케줄링 알고리즘]]
*[[스케줄링 알고리즘]]


==참고 자료==
==참고==
*https://en.wikipedia.org/wiki/Round-robin_scheduling
* {{위키백과|라운드 로빈 스케줄링}}
* {{영어 위키백과|Round-robin_scheduling}}
*http://siber.cankaya.edu.tr/OperatingSystems/ceng328/node125.html
*http://scanftree.com/operating-system/Round-Robin-Scheduling (계산에 오류가 있는 듯. 사례만 참고함)


[[분류: 스케줄링]]
[[분류: 스케줄링]]

2020년 11월 1일 (일) 18:08 기준 최신판

1 개요[ | ]

round-robin scheduling; RR scheduling
라운드로빈 스케줄링; RR 스케줄링; RR 알고리즘
일반적으로 10 ~ 100 ms
  • 알고리즘의 성능은 시간 할당량의 크기에 좌우됨
시간할당량이 매우 크면 FCFS 스케줄링과 같아짐
시간할당량이 매우 작으면 프로세서 공유와 같아짐[1]

2 예시 1[ | ]

  • 시간할당량 = 4ms
프로세스 버스트 시간 턴어라운드 시간 대기 시간
P1 24 30 6
P2 3 7 4
P3 3 10 7
평균 - 15.67 5.67

P1P2P3P1P1P1P1P1

47101418222630

  • 평균 대기 시간 = ( 6 + 4 + 7 ) / 3 = 5.67

3 예시 2[ | ]

  • 시간할당량 = 3ms
프로세스 도착 시간 버스트 시간 턴어라운드 시간 대기 시간
P1 0 5 14 9
P2 1 3 5 2
P3 2 8 20 12
P4 3 6 17 11
평균 - - 14 8.5

P1P2P3P4P1P3P4P3

3691214172022

  • 평균 대기 시간 = ( 9 + 2 + 12 + 11 ) / 4 = 8.5

4 같이 보기[ | ]

5 참고[ | ]

  1. n개의 프로세스가 있다면 1/n 속도로 수행됨(단, 문맥교환 시간은 무시된다고 가정할 때)
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}