2012-11-29 3 views
1

나는 원형 요청이 교착 상태가 발생할 것이라고 알고 있지만, 또한 교착 상태가 발생할 것이다 다음과 같은 경우 궁금 "두 가지 이상의 프로그램/프로세스로 인해 실패 할 수 없거나 작업이 완료되기 전에 다른 프로세스의 응답이 필요한 경우"자원 할당 그래프 교착 상태 감지

이 경우 프로세스 2와 프로세스 4 모두 R7이 필요하면 교착 상태가 발생 했나요? (리소스 R5와 R4가 여러 프로세스에 의해 요청되는 것과 동일)

답변

1

그림에서 표기법을 사용하는 가장 간단한 교착 상태 그래프는 두 프로세스가 각각 동일한 두 리소스를 필요로 할 때입니다. 예를 들어, 예제 프로세스에서 P2이 자원 R5에 종속 된 경우 교착 상태가 발생할 수 있습니다. 각각 P2P4이 모두 R7R5을 요청하면 그 은 R7과 자물쇠를 잠급니다. 그런 다음 P2R5P4을 기다리는 동안 R7을 기다리고 있습니다. 즉, 다른 하나가 잠금을 해제 할 때까지 기다리는 중입니다. 이것은 최소한의 예입니다.

두 개의 서로 다른 프로세스에서 두 가지 리소스를 공유하지 않으므로 이러한 상황이 발생하지 않습니다. 문제의 유일한 질문은 모두 P4입니다. P2 또는 P7과 경합하는 경우 P4이 먼저 실행 (문제 없음)되거나 다른 프로세스가 먼저 실행되고 리소스가 잠금 해제되며 P4이 실행되도록 허용합니다 (문제 없음).