기본 미션
p.363의 확인 문제 1번 풀고 인증하기
선택 미션
Ch,12(12-1) 임계 구역, 상호 배제 개념을 정리하기
임계 구역 : 동시에 실행하면 문제가 발생하는 자원에 접근하는 코드 영역
상호 배제 : 한 프로세스가 임계 구역에 진입했다면 다른 프로세스는 임계 구역에 들어올 수 없도록 해야 상호 배제를 위한 동기화가 이루어진다.
개념 정리
12-2장 동기화 기법
1. 뮤텐스 락
동시에 접근해서는 안 되는 자원에 동시에 접근하지 않도록 만드는 동기화 도구이다. 전역 변수 lock, acquire 함수, release 함수를 이용한다. lock을 획득할 수 없다면 기다리고, 있다면 임계구역을 잠근 뒤 작업을 진행하고, 임계 구역에서 빠져나올 때엔 다시 lock을 해제한다.
2. 세마포
뮤텐스 락과 유사하지만 공유 자원이 여러 개 있는 상황에서도 적용이 가능한 동기화 도구이다. 전역 변수 S, wait 함수, signal 함수를 이용한다. 만약 임계 구역에 진입할 수 있는 프로세스 개수가 0 이하라면 사용할 수 있는 자원이 있는지 반복적으로 확인하고, 임계 구역에 진입할 수 있는 프로세스 개수가 하나 이상이면 S를 1 감소시키고 임계 구역에 진입한다.
3. 모니터
세마포에 비해 사용자가 사용하기 편리한 동기화 도구로 조건 변수를 사용합니다.
메모
모니터는 잘 모르겠다... 대충 조건 변수와 공유 자원이 많을 때 쉽게 관리하기 위해 큐를 만들어 사용한다는 것 같다.
'혼공단' 카테고리의 다른 글
[혼공단 9기] 혼공컴운 회고록 (1) | 2023.02.26 |
---|---|
[혼공단 9기] 혼공컴운 6주차 (0) | 2023.02.19 |
[혼공단 9기] 혼공컴운 4주차 (0) | 2023.02.05 |
[혼공단 9기] 혼공컴운 3주차 (0) | 2023.01.25 |
[혼공단 9기] 혼공컴운 2주차 (0) | 2023.01.25 |