6.1 CPU 스케줄링 알고리즘은 스케줄된 프로세스의 실행을 위한 순서를 결정한다. 하나의 처리기상에서 스케줄되기 위한 n개의 프로세스들이 있다면 얼마나 많은 다른 스케줄이 있겠는가? n을 사용하여 수식을 제시하시오.n!(n factorial = n(n-1)(n-2)……2?1)6.2 선점과 비선점형 스케줄링의 차이점을 정의하시오. 왜 엄격한 비선점형 스케줄링이 컴퓨터 센터에서 사용될 가능성이 없는지 설명하시오.선점 스케줄링은 공유 자료에 대한 접근을 조정하는 데 필요한 비용을 유발한다, 또한 운영 체제 커널 설계에 영향을 준다. 비선점 스케줄링 하에서는 일단 CPU가 한 프로세스에 할당되면 프로세스가 종료하든지 또는 대기 상태로 전환해 CPU를 방출할 때까지 CPU를 점유한다6.3 다음 프로세스들의 집합을 생각해 보자. CPU 버스트 시간 단위는 밀리초이다.프로세스 버스트 시간 우선순위P1 10 3P2 1 1P3 2 3P4 1 4P5 5 2프로세스들은 시간 0에 P1, P2,P3,P4 ,P5 순서로 도착된다고 가정한다.a. 선입 선처리, SJF, 비선점 우선 순위(작은 우선 순위 값이 높은 우선 순위를 의미) 그리고 라운드 로빈(할당량=1) 스케줄링을 이용해 프로세스들의 실행을 보이는 Gantt 차트를 그리시오.선입 선처리P1P2P3P4P50 10 11 13 14 19SJFP2P4P3P5P10 1 2 4 9 19우선순위P2P5P3P1P40 1 6 8 18 19라운드 로빈P1P2P3P4P5P1P3P5P1P5P1P5P1P5P1P1P1P1P10 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19b. a에서 각 스케줄링 알고리즘의 각 프로세스에 대한 총처리 시간은 얼마인가?선입 선처리프로세스 P1의 총처리시간은 10 밀리초, 프로세스 P2 는 11 밀리초, 프로세스 P3 는 13 밀리초, 프로세스 P4 는 14 밀리초, 프로세스 P5 는 19 밀리초 이므로 평균 총처리시간은 (10+11+13+14+19)/5=13.4 밀리초이다.SJF프로세스 P1의 총처리시간은 19 밀리초, 프로세스 P2 는 1 밀리초, 프로세스 P3 는 4 밀리초, 프로세스 P4 는 2 밀리초, 프로세스 P5 는 9 밀리초 이므로 평균 총처리시간은 (19+1+4+2+9)/5=7 밀리초이다.우선순위프로세스 P1의 총처리시간은 18 밀리초, 프로세스 P2 는 1 밀리초, 프로세스 P3 는 8 밀리초, 프로세스 P4 는 19 밀리초, 프로세스 P5 는 6 밀리초 이므로 평균 총처리시간은 (18+1+8+19+6)/5=10.4 밀리초이다.라운드 로빈프로세스 P1의 총처리시간은 19 밀리초, 프로세스 P2 는 2 밀리초, 프로세스 P3 는 7 밀리초, 프로세스 P4 는 4 밀리초, 프로세스 P5 는 14 밀리초 이므로 평균 총처리시간은 (19+2+7+4+14)/5=9.2 밀리초이다.c. a에서 각 스케줄링 알고리즘의 각 프로세스에 대한 대기 시간은 얼마인가?선입 선처리프로세스 P1의 대기시간은 0 밀리초, 프로세스 P2 는 10 밀리초, 프로세스 P3 는 11 밀리초, 프로세스 P4 는 13 밀리초, 프로세스 P5 는 14 밀리초 이므로 평균 대기시간은 (0+10+11+13+14)/5=9.6 밀리초이다.SJF프로세스 P1의 대기시간은 9 밀리초, 프로세스 P2 는 0 밀리초, 프로세스 P3 는 2 밀리초, 프로세스 P4 는 1 밀리초, 프로세스 P5 는 4 밀리초 이므로 평균 대기시간은 (9+0+2+1+4)/5=3.2 밀리초이다.우선순위프로세스 P1의 대기시간은 8 밀리초, 프로세스 P2 는 0 밀리초, 프로세스 P3 는 6 밀리초, 프로세스 P4 는 18 밀리초, 프로세스 P5 는 1 밀리초 이므로 평균 대기시간은 (8+0+6+18+1)/5=6.6 밀리초이다.라운드 로빈프로세스 P1의 대기시간은 10 밀리초, 프로세스 P2 는 1 밀리초, 프로세스 P3 는 5 밀리초, 프로세스 P4 는 3 밀리초, 프로세스 P5 는 9 밀리초 이므로 평균 대기시간은 (10+1+5+3+9)/5=5.6 밀리초이다.d. a에서 어느 스케줄이 최소의 평균 대기시간(모든 프로세스들에 대해)을 갖는가?SJF스케줄링6.4 다음 프로세스들이 표시된 시간에 도착한다고 가정하자. 각 프로세스는 열거된 시간만큼 실행한다. 질문에 답하는 데 있어서, 비선점형 스케줄링을 사용하고 모든 결정은 결정이 필요할 때 갖고 있는 정보에 근거하시오.프로세스 도착시간 버스트 시간P1 0.0 8P2 0.4 4P3 1.0 1a.선입선처리 알고리즘을 사용할 경우 이들 프로세스들의 평균 총처리 시간은 얼마인가? 약 평균 0.4 시간이 소요 됨b.SJF 스케줄링 알고리즘을 사용할 경우 이들 프로세스들의 평균 총처리 시간은 얼마인가? 약 평균 0.4 시간이 소요 됨c.SJF 스케줄링 알고리즘이 성능을 개선할 것이지만, 두 개의 더 짧은 작업이 곧 도착하리라는 것을 모르기 때문에 시간 0에 프로세스 P1을 선택하였음에 유의하시오. CPU가 첫번째 1시간 단위 동안 쉬고, 그리고 SJF 스케줄링이 사용된다면 평균 총처리 시간이 얼마인지 계산하시오. 프로세스 P1과 P2는 이 유휴 시간동안 대기하기 때문에 평균 대기 시간이 증가할 수 있음을 상기하시오. 이 알고리즘은 장래 지식 스케줄링 (future-Knowledge-scheduling)이라고 부를 수 있을 것이다.평균 총 처리 시간은 2.4 시간이 걸린다. 프로세스 P1 은 대기 시간이 1이 되고 P2 1.4가 됨6.5 준비완료 큐의 항이 프로세스 제어 블록에 대한 포인터인 변형된 라운드 로빈 스케줄링 알고리즘을 고려해 보자.a. 준비완료 큐에 동일한 프로세스에 대한 두 개의 포인터를 넣는 효과는 무엇인가?한 프로세스 집합의 평균 총처리 시간은 시간 할당량의 크기가 증가하더라도 반드시 개선되지는 않는다b. 이 방식의 주요한 두개의 장,단점은 무엇인가?더 작은 시간 할당량에 대해서는 평균 총처리 시간이 증가된다 / RR스케줄링은 선입 선처리 정책으로 퇴보한다.c. 복제한 포인터를 사용하지 않고도 동일한 효과를 달성하려면 기본 라운드 로빈 알고리즘을 어떻게 변경해야 하는가?6.6 다단계 큐잉 시스템의 서로 다른 수준마다 상이한 시간 할당량을 부여할 때의 장점은 무엇인가?우선순위가 높은 것일 수 록 시간 할당량을 늘리는 것은 우선 순위가 그만큼 중요한 프로세스에 많은 시간을 할당하기 때문에 효율적으로 운행 될 수 있다.6.7 동적으로 변화하는 우선 순위에 기반한 다음의 선점형 우선 순위 스케줄링 알고리즘에 대해 생각해 보자. 우선 순위 값이 클수록 높은 우선 순위를 의미한다. 프로세스가 CPU를 대기할 때 (준비완료 큐에 있으나 실행되지는 않는) 그 프로세스들의 우선 순위는 ?와 β의 비율로 변화한다. 프로세스가 실행되면 우선 순위는 β비율로 바꾼다. 준비완료 큐에 들어올 때 모든 프로세스들의 우선 순위는 0으로 주어진다. 매개 변수 ?와 β의 값에 따라 여러 가지 다른 스케줄링 알고리즘이 만들어진다.a. β>?>0 이면 무슨 알고리즘인가? 무한 봉쇄b. ?