inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

운영체제 공룡책 강의

12. 동기화 문제의 해결책: Chapter 6. Synchronization Tools (Part 2)

Fig 6.3 Peterson's solution Dev C++에서 실행 ==> 결과가 가끔 0이 아님

225

SmithKwon 권순환

작성한 질문수 2

1

안녕하세요?
 
초보가 이것 저것 해보는데 Fig 6.3 Peterson's solution 코드를 우분투에서 실행하면 항상 sum=0 인데, DEV C++에서 컴파일, 실행하면 자주 SUM=0이지만, 가끔 다른 양 혹은 음의 정수가 나옵니다.
 
무슨 문제 일까요?

 

Peterson'ssolution DevC++ 운영체제 동시성

답변 1

0

주니온

안녕하세요? 좋은 발견을 하셨네요.

 

Peterson's solution은 이론적으로 증명 가능한 완전한 해결책이긴 하지만,

현대적 컴퓨팅 환경의 실제 상황에서 적용할 수는 없는 솔루션입니다.

 

멀티 코어 컴퓨팅 환경이라든지,

Python이나 Java와 같은 독특한 메모리 모델을 갖고 있다든지,

이런 경우에는 저 코드로 구현했을 때 예외적 상황이 발생할 수 있습니다.

 

우분투라 하더라도 멀티코어 환경에서 돌리면 어떻게 될 지 모르고요,

Dev C++라 하더라도 싱글코어라면 문제없을수도 있을 거예요.

 

두 환경이 어떻게 다른 지 곰곰히 생각하면서 분석을 해 보시면

많은 공부가 되실 것 같네요.

 

0

SmithKwon 권순환

잘 알겠습니다. 볼수록 어려워지는 것 같습니다. 감사합니다.

퀴즈 7번의 답에 대한 질문입니다.

0

556

1

이해하고 있는것이 맞는건지 궁금합니다 ㅠㅠ

0

822

1

타우시간

0

559

1

퀴즈1 1번 질문합니다 !

1

614

1

Page는 Text Data이외에 다른 메모리도 포함하나요?

1

373

0

IPC shared memory 코드

0

521

1

[간단한 질문 ]banker's algorithm 을 linux 에서 실제로 프로세스 관리할때 쓰이나요?

0

402

0

user mode i/o 관련 질문

0

284

1

shared memory 관련해서 질문 드립니다.

0

525

1

교수님 fork()함수에 대해 질문이 있습니다.

0

900

2

process 와 thread

0

375

1

교수님 Docker 로 실습해도 괜찮을까요?

1

870

1

Mac OS에서 Docker 이용하여 Ubuntu 20.04 환경설정 방법 공유

22

3334

2

moniter, condition variable, synchronized에 대해서 궁금한점이 있습니다..

0

682

1

왜 무료인지 이해를 못 하겠네요..

3

434

1

7.1 Classic Problems of Synchronization 질문이 있습니다

0

308

1

공룡책 8판과 10판중

0

616

1

6.3 peterson's solution 질문이 있습니다

0

225

1

08-01 연습문제 8번 질문있습니다!

0

281

0

06. 프로세스간 통신의 실제: Chapter 3. Processes (Part 4) 에 그림 3.16 3.17 실습 오류

0

265

1

안녕하세요 교수님 실습 해봤는데 LINE J가 실행이 됩니다

1

359

1

2강 실습을 위한 개발환경 구축(Windows 10 + WSL 2 + Visual Studio Code)에서 출력오류

0

346

1

아래 질문 관련하여 다시 문의드립니다

0

203

1

Thread & Concurrency (Part 2) 질문드립니다

0

189

1