Don't Look Back In Anger

공단기 컴퓨터일반 기출문제집 PART 02. 78번 본문

IT/공단기 컴퓨터일반 기출

공단기 컴퓨터일반 기출문제집 PART 02. 78번

버로나 2022. 3. 3. 14:56

2019년 계리직 컴퓨터일반 7번

 

프로세스 관리 과정에서 발생할 수 있는 교착상태(Deadlock)를 예방하기 위한 조치로 옳은 것은?   

 

① 상호배제(Mutual Exclusion) 조건을 제거하고자 할 경우, 프로세스 A가 점유하고 있던 자원에 대하여 프로세스 B로부터 할당 요청이 있을 때 프로세스 B에게도 해당자원을 할당하여 준다. 운영체제는 프로세스 A와 프로세스 B가 종료되는 시점에서 일관성을 점검하여 프로세스 A와 프로세스 B 중 하나를 철회시킨다. 

② 점유대기(Hold and Wait) 조건을 제거하고자 할 경우, 자원을 점유한 프로세스가 다른 자원을 요청하였지만 할당받지 못하면 일단 자신이 점유한 자원을 반납한다. 이후 그 프로세스는 반납하였던 자원과 요청하였던 자원을 함께 요청한다. 

③ 비선점(No  Preemption) 조건을 제거하고자 할 경우, 프로세스는 시작시점에서 자신이 사용할 모든 자원들에 대하여 일괄할당을 요청한다. 일괄할당이 이루어지지 않을 경우, 일괄할당이 이루어지기까지 지연됨에 따른 성능저하가 발생할 수 있다. 

④ 환형대기(Circular Wait) 조건을 제거하고자 할 경우, 자원들의 할당 순서를 정한다. 자원 Ri가 자원 Rk보다 먼저 할당되는 것으로 정하였을 경우, 프로세스 A가 Ri를 할당받은 후 Rk를 요청한 상태에서 프로세스 B가 Rk를 할당받은 후 Ri를 요청하면 교착상태가 발생하므로 운영체제는 프로세스 B의 자원요청을 거부한다.

 


 

정답 : ④

 

④ 모든 프로세스에 자원을 순서대로 할당한다

- 교착상태를 예방할 수 있도록 교착상태 필요조건에서 상호배제를 제외하고, 점유대기/비선점/환형댁기 중 하나를 부정함으로 교착상태를 예방한다.

- 환형대기부정은 모든 공유자원에 순차적으로 공유번호를 부여하여 프로세스는 공유자원의 고유번호 순서에 맞게 자원을 요청한다.

 

상호배제 조건의 부정은 교착상태 예방을 허용하지 않는다. (일반적으로 상호배제 조건을 만족하지 않으면,  교착 상태 예방이 불가능하다. 즉, 상호배제가 아닌 공유가 되면 더 큰 문제가 발생한다.)

② 비선점 조건의 부정

③ 점유 대기 조건의 부정