운영체제의 스케쥴링 기법중 하나인 라운드 로빈입니다. 


CPU는 한정되어있습니다. 일 처리를 위한 CPU가 한정되어있으면

 

여러 프로세스들을(크롬 탭같이 멀티 프로세스를 제외하고 프로그램 하나를 프로세스라고 가정)

 

한번에 처리하기에 문제가 생길텐데요,

 

예를들어 CPU가 하나 있고, 현재 실행중인 프로세스가 종료되어야 다음 프로세스를

 

켜야 하는 방식이라면 음악을 듣는 동시에 인터넷 서핑도 못하는 등 슬플것입니다.

 

 

프로세스가 여럿이고 CPU가 한정된 상황에서는 프로세스 분류해 자원을 나누어 쓰는데에

 

스케쥴링이 등장하기 시작합니다. 선점형, 비선점형등 다양한 스케쥴링이 있지만

 

그중 대표적 하나인 라운드 로빈이 이번 포스팅의 주제입니다.

 

 

라운드 로빈

 

프로세스당 중요도를 따지지 않고, 시간단위로만 CPU를 할당하는 방법입니다. 

 

프로세스를 CPU에 일정 시간만 물려주고 다음 작업으로 전환해서

 

다른 프로세스에 CPU를 물려주고를 반복하는 기법입니다.

 

하나의 프로세스가 CPU를 독점하는것이 아닌, 일정 시간 되면

 

다음 프로세스를 CPU에 물려주는것으로, 실시간으로 돌아가는 시스템에 유리한 방식입니다. 

 

▲ 예전에 대학교서 교수님이 프로세스나 스레드를 설명할때마다 띄워주셨던 짤방입니다.

 

▲멀티 쓰레드 프로그램의 이론과 현실

+ Recent posts