728x90
반응형
※ 공부 내용의 복습 개념으로 정리된 글입니다.
라운드 로빈(RR, Round Robin) 스케줄링
라운드 로빈은 선점형(preemptive) 스케줄링 기법 중 하나로,
각 프로세스에게 동일한 시간 할당량(time quantum)을 부여합니다.
프로세스가 할당된 시간 동안 CPU를 사용한 후, 다음 프로세스로 전환 됩니다.
이 과정은 모든 프로세스가 완료될 때까지 반복되며, 프로세스가 공평하게 CPU 시간을 분배받을 수 있도록 보장해줍니다.
라운드 로빈의 작동 방식
- 프로세스 준비
- 프로세스가 준비 큐에 들어오면, 큐의 맨 뒤에 추가됩니다.
- 시간 할당
- CPU는 준비 큐의 맨 앞에 있는 프로세스에게 주어집니다.
- 타이머 설정
- 프로세스가 실행되기 시작하면, 타이머가 설정됩니다.
- 이 타이머는 시간 할당량을 초과하면 인터럽트를 발생시킵니다.
- 시간 초과 또는 종료
- 프로세스가 시간 할당량을 초과하면, CPU는 인터럽트에 의해 해당 프로세스로부터 회수되고,
프로세스는 큐의 맨 뒤로 이동됩니다. - 프로세스가 작업을 완료하면 큐에서 제거됩니다.
- 프로세스가 시간 할당량을 초과하면, CPU는 인터럽트에 의해 해당 프로세스로부터 회수되고,
- 반복
- 준비 큐에 있는 다음 프로세스에게 CPU가 할당되며, 위의 과정이 반복됩니다.
※ 인터럽트
인터럽트는 CPU가 실행 중인 작업을 중단하고, 인터럽트를 발생시킨 사건을 처리할 수 있도록 하는 신호입니다.
인터럽트는 예기치 않은 상황에 신속하게 대응할 수 있도록 도와줍니다.
(하드웨어 인터럽트, 소프트웨어 인터럽트, ...)
라운드 로빈의 장점과 단점
- 장점
- 공평성
모든 프로세스는 동일한 시간 할당량을 가지므로, 특정 프로세스가 과도하게 CPU를 점유하지 못합니다. - 응답 시간 보장
짧은 시간 할당량을 설정하면, 각 프로세스가 빠르게 응답을 받을 수 있어 대화형 시스템에 적합합니다. - 간단한 구현
라운드 로빈은 비교적 단순한 알고리즘으로, 구현이 쉽고 이해하기도 간단합니다.
- 공평성
- 단점
- 효율성 저하
잦은 문맥 전환(context switch)이 발생할 수 있어, 시스템 오버헤드가 증가할 수 있습니다. - 시간 할당량 설정의 어려움
시간 할당량이 너무 짧으면 문맥 전환이 너무 빈번하게 발생하고, 너무 길면 라운드 로빈의 장점을 살리기 어렵습니다. - 긴 프로세스 처리 지연
긴 실행 시간을 필요로 하는 프로세스는 여러 번 CPU를 할당받아야 하므로, 처리 시간이 길어질 수 있습니다.
- 효율성 저하
라운드 로빈 예제
예를 들어,
A, B, C 세 개의 프로세스가 있고,
각 프로세스의 실행 시간이 6, 4, 8이며,
각 프로세스의 도착 시간은 0, 1, 2이며,
시간 할당량이 2라고 가정해보겠습니다.
프로세스 | 도착 시간 | 작업 수행 시간 |
A | 0 | 6 |
B | 1 | 4 |
C | 2 | 8 |
시간 할당량 = 2
프로세스 | 대기시간 | 반환시간(종료시간 - 도착시간) |
A | 8 | 12 - 0 = 12 |
B | 5 | 10 - 1 = 9 |
C | 8 | 14 - 2 = 12 |
평균 반환 시간은 (반환시간총합) / 작업 수 입니다.
= (12 + 9 + 12) / 3
= 11 입니다.
728x90
반응형
'정보처리산업기사' 카테고리의 다른 글
정보처리산업기사 - 응용 SW 기초 기술 활용 - 기억장치 관리 (0) | 2024.06.01 |
---|---|
정보처리산업기사 - 응용 SW 기초 기술 활용 - 병행 프로세스와 상호 배제 (0) | 2024.05.28 |
정보처리산업기사, 정보처리기사 - HRN 스케줄링 알고리즘 집중 탐색!! (0) | 2024.05.17 |
정보처리산업기사, 정보처리기사 - SJF, 우선 스케줄링 알고리즘 집중 탐색!! (0) | 2024.05.15 |
정보처리산업기사, 정보처리기사 - FCFS, FIFO, 페이지 교체 알고리즘 집중 탐색!! (0) | 2024.05.14 |