일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 맛집 추천
- 건프라
- 맛집
- Project Euler Problem
- 쉽게 배우는 운영체제
- 30일
- 건담 프라모델
- Gundam
- rg
- OS 구조와 원리
- os 만들기
- OS강의
- hg
- 운영체제 문제 풀이
- 운영체제 제작
- OS 강의
- 운영체제 정리
- 쉽게 배우는 운영체제 풀이
- 운영체제 만들기
- 프라모델
- 운영체제
- OS
- project euler
- OS 그래픽 처리
- OS 제작
- 건담 엑스포
- Project Euler 해답
- 쉽게 배우는 운영체제 연습문제
- 건담
- 쉽게 배우는 운영체제 솔루션
- Today
- Total
밤색모자이크의 개발이야기
Chapter 04. 프로세스 스케줄링 본문
Chapter 04 프로세스 스케줄링 - 연습 문제 (Page 158 - 162)
문제 1번
응답시간과 반환시간을 최대한 줄이는 것이 바람직한 스케줄링 정책이다.
문제 2번
HRN 스케줄링 기법의 우선순위 결정 방법은 (대기시간 + 서비스 시간) / 서비스시간 이다.
문제 3번
SJF의 불평등을 보완하기 위해서 나온 스케줄링 기법은 HRN 스케줄링 기법이다.
문제 4번
0 4 8 12 16 17 29
A(16) B(0) C(1) A(12) C(0) A(0)
위 첫 줄은 타임슬라이드 4와 해당 프로세스의 끝나는 시간을 표현, 두 번째 줄은 각 프로세스와 남은 시간을 보여준다.
따라서, 각 프로세스가 마치는 시간 A = 29, B = 8, C = 17 이다.
평균 반환 시간은 (29 + 8 + 17) / 3 = 18 이다.
문제 5번
SJF 스케줄링 기법은 가장 짧은 작업을 먼저 처리하는 것이다 이때 비선점이기 때문에 짧은 작업이 늦게 온다면 이미 시작하고 있는 작업이 끝나고 시작된다.
작업 1이 0시간에 도착했고 실행시간은 10이다. 이때, 작업 2와 작업 3은 각 1 , 2 시간에 도착했으므로 이미 작업 1이 시작하고 있는 동안에 왔고 작업 2와 작업 3중에서 작업 2가 더 실행시간이 작으므로 작업 1이 끝나고 바로 작업 2가 실행된다.
따라서, 작업 1의 실행시간 10과 작업 2의 실행시간 3을 더한 실행시간 13에 작업 2가 종료된다.
문제 6번
라운드 로빈 스케줄링 기법에서 시간 할당량이 작아지면 오버헤드의 발생 빈도가 높아진다.
문제 7번
HRN 스케줄링 기법의 우선순위 결정 방법은 (대기시간 + 실행시간) / 실행시간 이다.
따라서,
A = (10 + 30) / 10 = 4
B = (6 + 12) / 6 = 3
C = (12 + 12) / 12 = 2
우선순위는 A, B, C 순서이다.
문제 8번
FCFS 알고리즘은 선입선출 기법이다.
따라서, 반환시간이 제일 길게 되려면 실행 시간이 큰 것을 앞에서 처리하고 반환시간이 제일 짧게 되려면 실행시간이 짧은 것을 앞에서 처리하면 된다.
T의 경우, P3 -> P1 -> P2 순서이다. 따라서, 각 실행이 끝나는 시간은 12, 21, 27 이므로 반환 시간 평균은 (12 + 21 + 27) / 3 = 20 이다.
t의 경우, P2 -> P1 -> P3 순서이다. 따라서, 각 실행이 끝나는 시간은 6, 15, 27 이므로 반환 시간 평균 (6 + 15 + 27) / 3 = 16
T - t = 20 - 16 = 4 이다.
문제 9번
(라) 우선순위를 계산하여 그 수치가 가장 "높은" 것부터 우선순위가 부여된다.
문제 10번
SJF 스케줄링은 실행 시간이 가장 짧은 작업부터하고 비선점이다.
따라서, 가장 먼저 도착한 작업1은 0부터 20 시간까지 점유하고, 그 사이 도착한 작업2와 작업3에서 사용시간이 짧은 작업3이 먼저 실행된다.
문제는 대기시간이다. 대기시간은 (시작시간 - 도착시간)이다.
따라서, 각 작업의 대기시간은 다음과 같다.
작업1 : 0 (도착하자마자 시작)
작업2 : (27 - 3) (도착은 3시간에 시작은 작업1과 작업2가 끝난 27시간)
작업3 : (20 - 8) (도착은 8시간에 시작은 작업1이 끝난 20시간)
따라서, (0 + 24 + 12) / 3 = 12 이다.
문제 11번
(다) 적절한 응답시간이 보장되어서 유용한 것은 대화형 시스템이다.
문제 12번
HRN의 우선 순위 공식을 이용하면 (5+5)/5 이므로 우선순위는 2 이다.
문제 13번
이 문제는 위 문제 중에서 10번 문제와 동일하다.
따라서, 각 작업의 대기시간은 다음과 같다.
JOB1 : 0
JOB2 : (7 - 1) = 6
JOB3 : (3 - 2) = 1
따라서, (0 + 6 + 1) / 3 = 2.33 이다.
문제 14번
HRN의 공식을 활용하면된다.
이때, 작업 A,B,C,D 모두 분자가 60이므로 분모가 가장 작을 것을 선택하면된다.
즉, 서비스 시간이 가장 작은 것을 고르면되므로 서비스시간이 10인 C가 정답이다.
문제 15번
(나) 타임슬라이드가 작아지면 문맥교환의 오버헤드가 커진다.
문제 16번
작업 A가 가장 먼저 3시간 실행되므로, B,C는 A가 시작한 후에 번갈아가면서 실행된다.
작업 A는 10시간 수행하므로 4번의 타임슬라이드가 필요하고
작업 B는 7시간 수행하므로 3번의 타임슬라이드가 필요하고
작업 C는 15시간 수행하므로 5번의 타임슬라이드가 필요하다
따라서, 순서대로 적으면
A B C A B C A B C A C C 이다.
원문 출처
쉽게 배우는 운영체제 - 함호정, 원종권 지음, 글로벌 출판
링크 : http://book.naver.com/bookdb/book_detail.nhn?bid=7446967
쉽게 배우는 운영체제 연습문제 풀이 링크 모음
'책 공부 정리 > 쉽게 배우는 운영체제' 카테고리의 다른 글
Chapter 06. 가상 메모리 (0) | 2017.10.05 |
---|---|
Chapter 05. 메모리 관리 (0) | 2017.08.23 |
Chapter 03. 프로세스 (병행 프로세스) (0) | 2017.08.14 |
Chapter 02. 프로세스 (병행 프로세스) (0) | 2017.08.11 |
Chapter 01. 운영체제 소개 (0) | 2017.08.06 |