Page 9 -
P. 9
헤드가 발생해 시스템 성능에 영향을 줄 수 있습니다. 또한, 우선순위가 높은 프로세스가 계속
해서 CPU를 차지하게 되면 우선순위가 낮은 프로세스는 실행 기회를 얻지 못하고 대기 상태에
오래 머무를 수 있습니다. 선점형 스케줄링은 프로세스의 우선순위를 관리하고, 컨텍스트 스위
이 책의 구성 칭을 처리해야 하므로 비선점형 스케줄링보다 알고리즘이 더 복잡해질 수 있습니다.
대표적인 선점형 스케줄링 알고리즘 몇 가지를 알아보겠습니다.
라운드 로빈 스케줄링 알고리즘
라운드 로빈(RR, Round Robin)은 모든 프로세스에 동일한 CPU 시간을 할당하는 방식입니다. 이
때 할당되는 시간을 시간 할당량(time slice 또는 time quantum)이라고 합니다. 할당된 시간이 끝
개념을 이해하고 충분히 익힐 수 있도록 개념 소개 → 그림과 표 → 1분 퀴즈 → 마무리 순으로 공부
나면 CPU를 반환하고 다음 프로세스로 전환합니다.
합니다. 앞서 배운 내용을 반복 학습하며 컴퓨터 구조와 운영체제의 개념을 자연스럽게 익힐 수
라운드 로빈의 작동 방식은 다음과 같습니다.
있습니다. 1 준비 큐(ready queue)에 도착한 모든 프로세스는 동일한 시간 할당량을 받습니다.
헤드가 발생해 시스템 성능에 영향을 줄 수 있습니다. 또한, 우선순위가 높은 프로세스가 계속
해서 CPU를 차지하게 되면 우선순위가 낮은 프로세스는 실행 기회를 얻지 못하고 대기 상태에
2 프로세스는 할당된 시간 동안만 실행할 수 있습니다.
오래 머무를 수 있습니다. 선점형 스케줄링은 프로세스의 우선순위를 관리하고, 컨텍스트 스위
① 개념 소개 ② 그림과 표
3 시간 할당량이 끝났을 때 작업을 완료했으면 큐에서 제거하고, 완료하지 않았으면 큐의
칭을 처리해야 하므로 비선점형 스케줄링보다 알고리즘이 더 복잡해질 수 있습니다. 10장 스케줄링
맨 뒤로 이동해 다시 대기합니다.
개념을 이해하기 쉽도록 설명 다양한 그림과 표를 활용한 예시
대표적인 선점형 스케줄링 알고리즘 몇 가지를 알아보겠습니다.
이 과정을 반복해 모든 프로세스가 공정하게 CPU 시간을 할당받습니다.
라운드 로빈 스케줄링 알고리즘 그림 10-1 라운드 로빈 스케줄링 알고리즘의 작동 방식
시간 내 완료하지 못하면
라운드 로빈(RR, Round Robin)은 모든 프로세스에 동일한 CPU 시간을 할당하는 방식입니다. 이 큐의 맨 뒤로 이동
때 할당되는 시간을 시간 할당량(time slice 또는 time quantum)이라고 합니다. 할당된 시간이 끝
프로세스
나면 CPU를 반환하고 다음 프로세스로 전환합니다. P1 P4 P3 P2 P1 완료
생성 실행
라운드 로빈의 작동 방식은 다음과 같습니다. 준비 큐 CPU
1 준비 큐(ready queue)에 도착한 모든 프로세스는 동일한 시간 할당량을 받습니다.
예를 들어 봅시다. 다음과 같은 프로세스가 있고, 시간 할당량은 4ms입니다.
2 프로세스는 할당된 시간 동안만 실행할 수 있습니다. 표 10-1 프로세스의 도착 시간과 실행 시간
프로세스
3 시간 할당량이 끝났을 때 작업을 완료했으면 큐에서 제거하고, 완료하지 않았으면 큐의 실행 시간
도착 시간
맨 뒤로 이동해 다시 대기합니다. P1 0 10장 스케줄링 10
P2 1 4
이 과정을 반복해 모든 프로세스가 공정하게 CPU 시간을 할당받습니다.
P3 2 7
그림 10-1 라운드 로빈 스케줄링 알고리즘의 작동 방식 P4 3 5
시간 내 완료하지 못하면
③ 1분 퀴즈 큐의 맨 뒤로 이동 ④ 마무리 289
프로세스
간단한 퀴즈를 풀며 배운 내용 바로 확인 P2 P1 핵심 내용 정리
P4
P1
P3
완료
생성 실행
준비 큐 CPU
1분 퀴즈 정답 노트 p.???
예를 들어 봅시다. 다음과 같은 프로세스가 있고, 시간 할당량은 4ms입니다.
마무리
01. 빈칸에 알맞은 단어를 넣으세요.
표 10-1 프로세스의 도착 시간과 실행 시간
①
프로세스 도착 시간 실행 시간
은/는 CPU를 여러 프로세스에 효율적으로 분배하는 기술로, 어떤 프로세스가 어떤
0
P1 우선순위로 얼마나 CPU를 사용할지 결정한다.
10
1. 스케줄링
4
1
P2 ② 선점형 스케줄링에서는 프로세스가 CPU를 사용 중일 때라도 이/가 더 높은 프로세
P3 2 7 스케줄링: CPU와 시스템 자원을 여러 프로세스에 효율적으로 분배하는 방법입니다.
스가 도착하면 CPU를 양보해야 한다.
P4 3 5
2. 선점형 스케줄링
③ 라운드 로빈에서 CPU는 프로세스에 (이)라고 하는 일정한 시간을 할당한다.
289
④ HRN에서 응답률은 (으)로 계산한다. ① 선점형 스케줄링: 더 높은 우선순위를 가진 프로세스가 도착하면 실행 중인 프로세스를
중단하고 CPU를 할당하는 방식입니다.
⑤ 은/는 작업 유형에 따라 큐를 생성하고, 각 큐마다 다른 스케줄링 알고리즘을 적용
한다. ② 선점형 스케줄링 알고리즘은 다음과 같습니다.
02. 다음 설명이 맞으면 O, 틀리면 X를 괄호 안에 넣으세요. • 라운드 로빈 스케줄링 알고리즘: 모든 프로세스에 동일한 CPU 시간을 할당하는 방식
① ( ) HRN은 대기 시간이 긴 프로세스를 우선 처리해 기아 상태를 방지할 수 있다. • SRT 스케줄링 알고리즘: 남은 실행 시간이 가장 짧은 프로세스를 우선 실행하는 방식
② ( ) 다단계 피드백 큐 스케줄링 알고리즘은 각 프로세스가 고정된 큐에 배정되어 다른 큐로 이
• 기한부 스케줄링 알고리즘: 작업을 명시된 시간(기한) 내에 완료하도록 하는 방식
동할 수 없다.
3. 비선점형 스케줄링 10장 스케줄링
008 ③ ( ) 선점형 스케줄링은 비선점형 스케줄링보다 문맥 교환으로 발생하는 오버헤드가 적다.
① 비선점형 스케줄링: CPU를 할당받은 프로세스가 종료할 때까지 실행하는 방식입니다.
④ ( ) FCFS는 선점형 스케줄링 방식이다.
② 비선점형 스케줄링 알고리즘은 다음과 같습니다.
⑤ ( ) SRT는 남은 실행 시간이 짧은 프로세스를 우선 처리한다.
• FCFS(FIFO) 스케줄링 알고리즘: 먼저 도착한 프로세스를 먼저 실행하는 방식
03. SJF의 단점으로 적절한 것은 무엇인가요?
• 우선순위 스케줄링 알고리즘: 각 프로세스에 우선순위를 부여하고, 우선순위가 높은 프로
① 평균 대기 시간이 길어진다. ② 기아 현상이 발생할 수 있다.
세스를 먼저 실행하는 방식
③ 문맥 교환이 빈번하게 발생한다. ④ CPU 자원을 비효율적으로 사용한다.
• SJF 스케줄링 알고리즘: 실행 시간이 가장 짧은 프로세스를 우선 실행하는 방식
04. 선점형 스케줄링의 장점으로 적절한 것은 무엇인가요?
• HRN 스케줄링 알고리즘: 대기 시간과 실행 시간을 함께 고려해 프로세스의 우선순위를
① 오버헤드가 거의 없다. ② 문맥 교환이 거의 발생하지 않는다.
정하는 방식
③ 중요한 작업을 즉시 처리할 수 있다. ④ 실행 시간이 짧은 작업을 우선 처리한다.
4. 혼합형 스케줄링
05. HRN에서 응답률이 가장 높은 프로세스가 우선 실행되는 이유는 무엇인가요?
① 혼합형 스케줄링: 여러 알고리즘을 조합해 장점을 최대한 활용하고 단점을 보완해 시스
① 짧은 실행 시간을 가지기 때문 ② 긴 실행 시간을 가지기 때문
템 성능을 최적화하는 방식입니다.
③ 짧은 대기 시간을 가지기 때문 ④ 긴 대기 시간을 가지기 때문
316 309