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
   4   5   6   7   8   9   10   11   12   13   14