Professional Documents
Culture Documents
2020 2학기 중간고사
2020 2학기 중간고사
학과 학번 학년 이름
[용어 box]
exception volatile privileged aging deadlock
interrupt context saving preemptive priority inversion reader-writer
PCB context switching circular wait run queue round-robin
safe process multiprogramming dispatcher latency virtualization
race condition processor affinity ticket system call response time
2/4
⑶ CPU 스케줄링 기법으로 MFQ(Multi-level Feedback Queue) 기법을 사용하는 시스템이 있다. 이 시스템에서
Time 0에 3개의 프로세스 A, B, C가 A-B-C의 순서로 ready queue에 도착했다고 가정하자. (세 프로세스
모두 time 0에 ready queue에 도착하지만, 프로세스 A가 제일 먼저, 그리고 프로세스 C가 제일 마지막에
도착함.) 프로세스 A, B, C의 next burst time이 각각 120, 70, 30 이고, 이 시스템이 아래와 같은 3개의
ready queue(Q0, Q1, Q2)를 가지고 주어진 스케줄링 기법을 사용한다고 할 때 다음 물음에 답하시오. (단,
context switching에 소요되는 시간은 무시한다)
❚ 모든 프로세스는 최초에 Q0으로 진입하며, Qi에서 스케줄 받아 실행하고 time quantum을 모두 소모할 경우 Qi+1로 진입
❚ Q0의 우선순위가 가장 높고, Q2의 우선순위가 가장 낮으며, 스케줄링은 항상 높은 우선순위의 queue에서부터 이루어짐
⑷ 두 개의 프로세스 P1, P2가 time 0에 ready queue에 (P1, P2의 순서로) 도착해 있고 (즉, 두 프로세스의
arrival time이 모두 0임), P1의 next burst time이 90, P2의 next burst time이 10 이라 가정하자. FIFO,
SPN, RR(time-quantum=4) 등 3가지 스케줄링 기법을 사용했을 경우 각각에 대해 Gantt chart를 보이고,
또한 각 경우에 대한 turnaround time(TT), waiting time(WT), mean waiting time
W T 을 구하시오(아래 표
와 같은 형태로 답하시오).
FCFS WT TT
WT SPN WT TT
WT RR(4) WT TT
WT
P1 P1 P1
P2 P2 P2
3/4
A barbershop consists of a waiting room with chairs and the barber room containing a barber chair.
If there are no customers to be served, the barber goes to sleep. If a customer enters the barbershop
and all chairs are occupied, then the customer leaves the shop. If the barber is busy but chairs are
available, the customer sits in one of the free chairs. If the barber is asleep, the customer wakes up
the barber. Write a program to coordinate the barber and the customers, using semaphore.
Busy waiting을 한다 ①
동기화 과정에 상대적으로 context switching overhead를 갖는다 ②
Sleep 상태에서 wakeup 하는 순서가 미리 정해진다 ③
Single-CPU single-core 시스템에서는 사용하지 않는다 ④
동기화 과정에 Starvation 가능성이 있다 ⑤
4/4
⑺ 세 개의 process (P1, P2, P3)와 세 종류의 resource type (R1, R2, R3)를 갖는 시스템에서 자원 (R1, R2,
R3)의 resource unit 개수가 (2, 3, 2)라 가정하자. 현재의 시스템 상태가 아래 그림에서 보인 바와 같다고
하고 물음에 답하시오.
① 주어진 현재 상태가 deadlock 상태인지에 대해 답하시오.
② 현재 상태가 deadlock 상태라면 deadlock 상태에 놓인 프로세스들을 나열하고, 그렇지 않은 경우에는 “없음”으로 답하시오.
③ 현재 상태에서 process (P1, P2, P3)의 termination cost가 (20, 10, 15)라 할 때 deadlock을 제거하기 위해 아래 두
recovery 기법에 의해 termination 되는 프로세스들을 각각 보이시오.
대상 process가 없는 경우에는 “없음”으로 답하시오.
ⓐ Lowest-termination-cost process first
ⓑ Minimum cost recovery
(r ≥ )
② 각 프로세스들이 어느 순간에도 최대 3개까지의 단위자원만을 필요로 한다면 이 시스템에서 교착상태
의 발생을 근본적으로 없애기 위한 필요충분조건은?
(r ≥ )
③ 각 프로세스들이 어느 순간에도 최대 N개까지의 단위자원만을 필요로 한다면 이 시스템에서 교착상태
의 발생을 근본적으로 없애기 위한 필요충분조건은?
(r ≥ )
끝. 수고했습니다.