1
Wait (i) { 
     c[i]=false; 
     while (c[1-i]) do; 
} 


Signal (i) { 
    c[i]=true; 
} 

각 프로세스는 무한 시간 동안 임계 구역 (CS)에 입장하려고합니다. 프로세스 사용 대기 (i)는 CS 입력이고, 신호 (i)는 CS 종료입니다. 나는 {0,1}에서 많은 수의 과정을 밟는다. C는 True로 초기화 된 2 진 변수에서 길이가 2 인 배열입니다. False입니다 그들 중중요한 섹션 및 챌린지를위한 하나의 소프트웨어 솔루션

:

a)이 솔루션은 상호 배제를 만족시킨다.

b)이 솔루션은 Bounded Waiting을 만족합니다.

c)이 솔루션은 CS에 대한 모든 조건을 만족합니다.

d)이 솔루션은 진행 상태를 만족합니다.

내 교수는 (c) 말이 옳다고 말합니다. 하지만 (a), (b), (c), (d)는이 질문에 맞다고 생각합니다. 누구든지 나를 도울 수있다.

+0

아마도 1-i를 의미 할 것입니다. –

+0

안녕하세요, @ YvesDaoust 님,이 질문에서 저는 (a) - (d)가 거짓임을 의미합니다. 하지만 제 교수는이 질문에 대한 답이라고 말합니다. –

+0

친애하는 @YvesDaoust, (a) 및 (d)도 만족하지 않습니다. –

답변

0

(a) false : 두 프로세스가 모두 Wait을 호출하면 상대방의 플래그를 false로 설정하고 루프를 통과 할 수 있습니다.

하지만 (c)도 거짓입니다.

+0

친애하는 이브, 여기 있니? –

+0

나는 새로운 것을 발견하고 기다리고 있습니다. –

관련 문제