공유자원과 임계구역
안녕하세요 선생님
강의 정말 잘 듣고 있습니다..!
레지스터에 대한 설명이 잠깐 나와서 궁금한 점이 생겼는데요..!
생산자-소비자 문제를 설명하시면서,
sum = sum + 1;
sum -= 1;
기계어로 쪼개보면 원자성이 보장되지 않아 문제가 발생하는 것을 확인했습니다.
그런데 값을 읽고, 연산할 때 eax 레지스터를 사용하는 것으롭 봤는데요..!
두 곳에서 사용되는 각 eax는 이름만 같을 뿐 사용되는 영역은 달라서 위에 eax는 1이고, 아래의 eax는 -1을 가지는 건가요??
回答 2
1
만일 두 연산이 순차적으로 한 스레드 내에서 실행된다면 서로 영향을 주지 않습니다. 그러나 sum이 전역변수이고 1씩 누산하거나 감산하는 연산을 별도 스레도 분리해 동시에 실행한다면 동기화 문제가 발생할 있겠습니다. 이 경우 EAX에 저장된 값은 서로 다를 수 있습니다. 참고하시기 바랍니다. 😄
32bit app에서 vms 4gb 설명에 대한 질문입니다.
0
77
2
레이스 컨디션 문제
0
208
2
스레드 종료 순서
0
150
1
제가 이해한게 맞는지 궁금합니다. (비디오 카드에 output)
0
229
2
플랫폼 bit관련 질문입니다
0
153
3
백그라운드 스케쥴링관련 질문입니다.
0
166
2
ready queue에 있던 프로세스들이 sleep이나 suspend되는 게 가능한가요?
0
249
2
IPC는 곧..?
0
358
2
interrupt와 DirectX 질문
0
404
2
DMA와 고성능 소켓관련 질문입니다.
0
294
3
2강 DMA와 고성능 소켓 질문
0
420
3
I/O 관리자, 메모리 매니저 사용 이유
0
292
2
*pszResult =A; 포인터 사용 부분에 대한 질문입니다.
0
199
1
교착상태와 게임이 튕기는 현상
0
218
1
멀티스레딩
0
409
2
자료구조 공부
0
419
2
윈도우 레지스트리 질문
0
261
1
파일시스템과 가상메모리
0
341
1
Page fault 메시지가 나오면 스왑 인, 스왑 아웃은 일어나지 않는 건가요?
0
257
1
가상 주소, 절대 주소 부분이 헷갈립니다.
0
342
2
운영체제 스레드 공부 중 궁금한 점 있습니다.
0
355
3
직업 관련 질문
0
328
1
페이징 기법의 주소 변환
0
301
2
PCB에 들어있는 정보
0
459
1

