2012-03-19 3 views
1

헬로 친구 내가 용액 이해 해달라고 예 가지고 이 문제이다그래프 맵핑 자원 세마포어

3 개 프로세스 P1, P2, P3이며, 세마포어에 세 가지 동작을 수행, S1, S2를 S1 = 1, S2 = 1, S3 = 1. 각 프로세스가 루프 내에서 다음 순서를 실행한다는 것을 알기 때문에 interbloqueig 상태에 머물 가능성이 있는지 여부를 나타냅니다. 그렇다면, 그래프 맵핑 자원을 사용하여 지시 사항을 실행하는 순서를 표시하십시오.

solition 같은
 **P1**     **P2**     **P3** 
     P(s1)     P(s3)      P(2) 
     P(s3)     P(s2)     the critical section 
    the critical section   P(s1)      V(s2) 
     V(s3)    the critical section 
     V(s1)     V(s1) 
           V(2) 
           V(3) 

내가이 있습니다 내가 그 해결되지라고 생각합니다! 같은 수의/그래프 상황 때 설명 승

enter image description here

+0

R1, R2 및 R3은 무엇입니까? –

답변

0

P (2) P3의 시작, 그리고 R의 그래프에서의 세마포어 참조 대신 당신이 P (S2)를 의미 가정 3 개의 프로세스 모두가 임계 구역 앞의 지시에 있습니다. 루프가 있기 때문에 (P2-> R1-> P1-> R2-> P2) 교착 상태에 빠졌습니다. 그래서 나는이 숙제를 완료하는 데 필요한 모든 것이이 시점에 도달하기 위해 실행 된 지시의 순서를 나열하는 것이라고 생각합니다.

0

언뜻 보면 은 (는) interbloqueig 상태를 유지하고 있습니다.은 교착 상태를 나타냅니다. 치명적인 포옹. Google이이를 확인하는 것 같습니다. 그러나 다음에 영어를 사용하십시오. :)

기본적으로 P3은 S2에만 관심이 있기 때문에 빨간색 청어입니다. 교착 상태는 P1과 P2에 의해 반대 순서로 획득되기 때문에 S1과 S3을 포함합니다. 물론 P3은 교착 상태에 빠지지만 P3이 없더라도 P1과 P2 사이의 교착 상태는 여전히 까다로운 조건입니다.

리소스 할당 그래프 (그래프 모양)를 사용하여 교착 상태 시나리오를 표시해야한다고 생각합니다.

나는 그래프가 주어진 코드가 교착 상태임을 증명할 수 있다고 생각하지 않는다. 그러나 교착 상태가 어떻게 발생했는지 이미 알았다면, 그 교착 상태에 대한 위의 그래프 리소스 할당 그래프를 그릴 수 있고 사이클이 있음을 보여줄 수 있습니다. S1, S2 및 S3는 단일 인스턴스 자원입니다.) Prove가 찾고있는 단어가 아닐 수도 있습니다. 어쩌면 으로 표시 될 수 있습니다.

리소스 할당 그래프에 P1이 리소스 R3 (즉 S3)을 보유하고 있고 P2가 리소스 R1 (즉 S1)을 보유하고 있으며 P1이 R1을 얻고 자하는 동안 P2가 R3을 얻으려고한다는 것을 알 수 있다고 생각합니다. 싸이클은 교착 상태에 해당합니다.