6.3 peterson's solution 질문이 있습니다
217
11 asked
안녕하세요 교수님 좋은 강의 언제나 감사드립니다
다름이 아니라 피터슨 솔루션 코드에서
while(true) {
flag[i] = true;
turn = j; //다음 순서로 j 지정
while (flag[i] && turn == j ) // j가 실행중이고 자기 차례라면 종료까지 대기
}
이렇게 설명을 해주셨는데, 이해가 잘 되지 않습니다!
다음 순서로 j를 지정해준 것이 while의 조건에 들어가는 것으로 이해가 되는데... 설명을 부탁드려도 될까요?
Answer 1
0
이 부분은 단순하게 설명하기가 매우 어렵습니다.
두 개의 프로세스가 서로 티키타카를 잘 하기 위해서
각각 flag를 하나씩 가지고, turn을 가지고 차례를 조정하는 것입니다.
flag는 mutual exclusion을, turn을 순서를 조정해 주는 것이지요.
위와 같은 기본적인 개념을 바탕으로 직접 실험해 보면서 이해해 보시기 바랍니다.
아마 직접 실행을 해 보면 동기화가 잘 안될 거예요.
그것은 단일 프로세서 환경이 아닌 경우에 발생하는 문제입니다.
피터슨 솔루션은 이론적 솔루션이기 때문에 이해가 쉽지는 않습니다.
차근차근 따라가 보시기 바랍니다.
퀴즈 7번의 답에 대한 질문입니다.
0
541
1
이해하고 있는것이 맞는건지 궁금합니다 ㅠㅠ
0
802
1
타우시간
0
533
1
퀴즈1 1번 질문합니다 !
1
593
1
Page는 Text Data이외에 다른 메모리도 포함하나요?
1
369
0
IPC shared memory 코드
0
508
1
[간단한 질문 ]banker's algorithm 을 linux 에서 실제로 프로세스 관리할때 쓰이나요?
0
393
0
user mode i/o 관련 질문
0
273
1
shared memory 관련해서 질문 드립니다.
0
508
1
교수님 fork()함수에 대해 질문이 있습니다.
0
878
2
process 와 thread
0
360
1
교수님 Docker 로 실습해도 괜찮을까요?
1
855
1
Mac OS에서 Docker 이용하여 Ubuntu 20.04 환경설정 방법 공유
22
3313
2
moniter, condition variable, synchronized에 대해서 궁금한점이 있습니다..
0
660
1
왜 무료인지 이해를 못 하겠네요..
3
420
1
7.1 Classic Problems of Synchronization 질문이 있습니다
0
292
1
공룡책 8판과 10판중
0
589
1
08-01 연습문제 8번 질문있습니다!
0
275
0
06. 프로세스간 통신의 실제: Chapter 3. Processes (Part 4) 에 그림 3.16 3.17 실습 오류
0
259
1
안녕하세요 교수님 실습 해봤는데 LINE J가 실행이 됩니다
1
347
1
2강 실습을 위한 개발환경 구축(Windows 10 + WSL 2 + Visual Studio Code)에서 출력오류
0
337
1
아래 질문 관련하여 다시 문의드립니다
0
192
1
Thread & Concurrency (Part 2) 질문드립니다
0
181
1
vmware에 ubuntu 설치관련 질문드립니다
0
209
1

