[운영체제] 프로세스 임계구역(Critical Section)문제와 고전적 해결안


[운영체제] 프로세스 임계구역(Critical Section)문제와 고전적 해결안

동기화 도구들이 왜 필요할까? 협력적 프로세스가 데이터를 공유하는 방법 협력적 프로세스 : 시스템 내에 실행 중인 다른 프로세스에게 영향을 주거나 받는 프로세스 논리 주소 공간(코드, 데이터)을 직접 공유, 공유 메모리, 메시지 전달 → 공유 데이터를 동시에 접근하면 데이터의 일관성을 망칠 수 있음 데이터의 일관성을 유지하기 위해 논리 주소 공간을 공유하는 협력적 프로세스의 질서 있는 실행을 보장 프로세스가 병행 또는 병렬로 실행될 때 공유하는 데이터의 무결성에 문제를 일으킴 문제가 발생하는 예시 static int count = 0; // 전역 변수 // 스레드 t1은 count를 1씩 더함 Task t1 = new Task(() => { for (int i = 0; i < 10000; i++) cou..


원문링크 : [운영체제] 프로세스 임계구역(Critical Section)문제와 고전적 해결안