티스토리 뷰

it

라운드 로빈 스케줄링 Round Robin

ITs Story biaos 2023. 5. 4. 23:02

라운드 로빈 스케줄링 Round Robin



라운드 로빈(Round Robin) 스케줄링은 CPU 스케줄링 알고리즘 중 하나로, 각 프로세스에 일정 시간 할당하고, 할당된 시간이 지나면 다음 프로세스에게 CPU를 할당하는 방식입니다.


라운드 로빈 스케줄링에서는 모든 프로세스가 같은 시간 슬라이스(time slice)를 갖게 됩니다. 이 시간 슬라이스는 사전에 설정되며, 보통 10ms ~ 100ms 사이의 값을 사용합니다. 먼저 CPU를 할당받은 프로세스는 할당된 시간이 지나면 다른 프로세스로 교체됩니다. 이때, 현재 실행 중인 프로세스가 다음에 실행될 프로세스보다 처리 시간이 길다면, 다시 대기열에 추가되고 다른 프로세스가 실행됩니다.



시분할 시스템을 위한 선점 스케줄링 방식


각 프로세스는 같은 크기의 cpu시간을 할당받음


문맥교환 -> 그다음프로세스가 cpu사용할수있도록 셋팅 (문맥교환 시간이 짧으면 여러개로 나눠도 상관없지만 오래걸리면 안나누는게 좋음)


라운드 로빈 스케줄링은 프로세스의 대기 시간을 줄이는 데에 효과적입니다. 또한, 모든 프로세스가 CPU를 공평하게 사용할 수 있어서 다른 스케줄링 알고리즘과 비교해서 공정한 처리를 보장할 수 있습니다. 하지만, 시간 슬라이스가 너무 작은 경우, 각 프로세스마다 컨텍스트 스위칭(Context Switching) 비용이 증가하여 전체 시스템 성능을 저하시킬 수 있습니다. 또한, 프로세스의 처리 시간이 긴 경우, 라운드 로빈 스케줄링이 다른 스케줄링 알고리즘에 비해 처리 시간이 늦어지는 문제가 발생할 수 있습니다.

댓글