프로세스 관리 과정에서 발생할 수 있는 교착상태(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의 자원요청을 거부한다.
프로세스 관리 과정에서 발생할 수 있는 교착상태(Deadlock)를 예방하기 위한 조치로 옳은 것은?
A. 상호배제(Mutual Exclusion) 조건을 제거하고자 할 경우, 프로세스 A가 점유하고 있던 자원에 대하여 프로세스 B로부터 할당 요청이 있을 때 프로세스 B에게도 해당자원을 할당하여 준다. 운영체제는 프로세스 A와 프로세스 B가 종료되는 시점에서 일관성을 점검하여 프로세스 A와 프로세스 B 중 하나를 철회시킨다.
B. 점유대기(Hold and Wait) 조건을 제거하고자 할 경우, 자원을 점유한 프로세스가 다른 자원을 요청하였지만 할당받지 못하면 일단 자신이 점유한 자원을 반납한다. 이후 그 프로세스는 반납하였던 자원과 요청하였던 자원을 함께 요청한다.
C. 비선점(No Preemption) 조건을 제거하고자 할 경우, 프로세스는 시작시점에서 자신이 사용할 모든 자원들에 대하여 일괄할당을 요청한다. 일괄할당이 이루어지지 않을 경우, 일괄할당이 이루어 지기까지 지연됨에 따른 성능저하가 발생할 수 있다.
D. 환형대기(Circular Wait) 조건을 제거하고자 할 경우, 자원들의 할당 순서를 정한다. 자원 Ri가 자원 Rk보다 먼저 할당되는 것으로 정하였을 경우, 프로세스 A가 Ri를 할당받은 후 Rk를 요청한 상태에서 프로세스 B가 Rk를 할당받은 후 Ri를 요청하면 교착상태가 발생하므로 운영체제는 프로세스 B의 자원요청을 거부한다.