June 18, 2020
참고도서: Operating System Concepts (10/E) Abraham Silberschatz, Peter B. Galvin, Greg Gagne
5.1 CPU 스케줄링 알고리즘은 스케줄 된 프로세스의 실행 순서를 결정한다. 하나의 프로세서에서 n개의 프로세스를 스케줄 하면 몇 개의 다른 스케줄이 가능한가?
5.2 선점 스케줄링과 비선점 스케줄링의 차이점을 설명하라
5.3 표시된 시간에 다음 프로세스가 도착한다고 가정하자. 각 프로세스는 나열된 시간동안 실행된다. 질문에 답할 때, 비선점 스케줄링을 사용하고 결정을 해야할 시점에 가지고 있는 정보를 기초로 결정을 내려야 한다.
프로세스 | 도착시간 | 버스트 시간 |
---|---|---|
P1 | 0.0 | 8 |
P2 | 0.4 | 4 |
P3 | 1.0 | 1 |
FCFS 스케줄링 알고리즘을 사용할 경우 프로세스의 평균 총처리 시간은 얼마인가?
SJF 스케줄링 알고리즘을 사용할 경우 프로세스의 평균 총 처리시간은 얼마인가?
| P1(8) | P3(1) | P2(4) |
가 된다. 차트를 따라 계산해보면 총 처리시간은 P1(8) + P2(4 + 8 + 1) + P3(1 + 8) = 30 가 된다. 따라서 평균 총 처리시간은 30/3 = 10이 된다.SJF 알고리즘은 성능을 향상해야 하지만 두 개의 더 짧은 프로세스가 곧 도착할 것임을 알지 못했기 때문에 시간 0에서 프로세스 P1을 실행하기로 선택했다. CPU가 첫 1 단위동안 유휴상태로 유지된 후 SJF 스케줄링이 사용되는 경우 평군 총 처리시간을 계산하라.
| idle(1) | P3(1) | P2(4) | P1(8) |
이 된다. idle 상태 동안 P1과 P2가 도착했기 때문에 이들의 대기시간까지 고려해보면 총 처리시간은 P1(1 + 4 + 8 + 1) + P2(1 + 4 + 0.6) + P3(1) = 20.6 이고, 평균 총 처리시간은 20.6/3 = 6.87이 된다.5.4 CPU 버스트 시간의 길이가 밀리초 단위로 다음과 같은 프로세스 집합을 고려하시오
프로세스 | 버스트 시간 | 우선순위 |
---|---|---|
P1 | 2 | 2 |
P2 | 1 | 1 |
P3 | 8 | 4 |
P4 | 4 | 2 |
P5 | 5 | 3 |
프로세스는 모두 시간 0에서 P1, P2, P3, P4, P5 순서로 도착한 것으로 가정한다.
|P1|P2|P3|P4|P5|
|P2|P1|P4|P5|P3|
|P2|P1|P5|P4|P3|
|P1|P2|P3|P4|P5|P3|P4|P5|P3|P5|P3|
5.5 생략.
5.6 다단계 큐 시스템에서 단계마다 다른 시간 할당량을 지정하는 것은 어떤 이점이 있는가?
5.7 생략.
5.8 CPU 스케줄링 알고리즘이 최근 과거에 가장 적은 프로세서 시간을 사용한 프로세스를 선호한다고 가정한다. 이 알고리즘이 I/O 중심 프로그램을 선호하지만 CPU 중심 프로그램을 영구적인 기아 상태로 만들지 않는 이유는 무엇인가?
5.9 PCS와 SCS 스케줄링을 구분하라