1

Dekker의 알고리즘 및 Peterson의 알고리즘과 같은 상호 배제 알고리즘은 작동하는 데 순차적으로 일관성있는 메모리 모델 (또는 메모리 장벽 사용)이 필요하다는 것을 알고 있지만 원자 적재 및 저장이 필요한지 여부는 분명하지 않습니다. 피터슨의 알고리즘에 대한 wikipedia entry에서는이 말한다 :상호 배제 알고리즘에 원자 적재 및 저장이 필요합니까?

알고리즘은 임계 영역의 문제를 해결하기 위해 세 가지 필수 기준을 만족 제공된 변수에 대한 변경 설정하는 것이, 플래그 [0], 플래그 1 즉시 원자 전파 .

위의 인용 된 비트가 명확하지 않으며 알고리즘이 원자 적재 및 저장 장치가 작동해야 함을 의미하는지 여부는 확실하지 않습니다. Peterson의 알고리즘을 살펴보면 왜 원자 적재량과 저장량이 필요한지 알 수 없습니다. Dekker's algorithm wikipedia entry에이 원 자성 요구 사항에 대한 언급이 없습니다. 따라서 Peterson의 알고리즘은 원자 적재량과 저장량을 필요로하며 모든 상호 배제 알고리즘으로 확장됩니까?

답변

0

네, 원자 적이어야합니다. Dekker의 알고리즘도 마찬가지입니다.

turn 및 flag가 원자가 아닌 것으로 가정합니다. 즉, P0은 turnflag[0]으로 설정할 수 있지만 P1이 설정되지 않은 것으로 계속 볼 수있는 시간 간격이 있으며 중요한 섹션으로 들어갈 수 있습니다. 대칭 적으로 P0도 CS에 들어갈 수 있습니다.