운영체제 기본/동시성: 두 판 사이의 차이
한글 폰트 폭 차이로 흐트러지지 않도록 ASCII 도식 표기 정리 |
코드 앞의 불필요한 자기해설·면책성 문장 제거 |
||
| 9번째 줄: | 9번째 줄: | ||
== 실행 순서보다 먼저 정해야 하는 불변식 == | == 실행 순서보다 먼저 정해야 하는 불변식 == | ||
재고가 한 개 남았고 두 주문을 처리한다고 하자 | 재고가 한 개 남았고 두 주문을 처리한다고 하자. | ||
<pre> | <pre> | ||
| 43번째 줄: | 43번째 줄: | ||
== 원자 연산으로 잠금 만들기 == | == 원자 연산으로 잠금 만들기 == | ||
공유 RAM에 놓인 잠금 변수의 0을 비어 있음, 1을 사용 중이라고 하자. 이 변수는 원자 연산이 요구하는 크기와 정렬 조건을 만족해야 한다 | 공유 RAM에 놓인 잠금 변수의 0을 비어 있음, 1을 사용 중이라고 하자. 이 변수는 원자 연산이 요구하는 크기와 정렬 조건을 만족해야 한다. 비교 후 교환(CAS)은 현재 값이 0일 때만 1로 바꾸는 일을 하나의 원자적 연산으로 수행하고, 성공 여부를 반환한다. | ||
<pre> | <pre> | ||