뮤텍스
뮤텍스는 Pthread에서 제공하는 동기화 메커니즘으로 공유 자원 공간에 대한 접근 시간 제어로 동기화를 달성한다.
상호 배제는 잠금 형식으로 이루어진다. 열쇠를 얻어야 임계 영역에 진입할 수 있다. 임계 영역을 빠져나오면 열쇠를 되돌려줘서 다른 쓰레드가 열쇠를 얻을 수 있도록 한다.
세마포어
공유 리소스에 접근할 수 있는 최대 허용치만큼 동시에 사용자 접근을 할 수 있게 한다. 쓰레드가 접근을 요청하면 세마포어에서 카운트가 하나 줄어들고, 리소스 사용을 마치면 카운트가 하나 증가한다.
1. 임계영역 설정
2. 임계 영역 진입 전 세마포어 값 확인
3. 값이 0보다 크면 임계역 진입. 세마포어 값 1 감소
4. 세마포어 값이 0이면 값이 0보다 커질 때까지 Block되며, 0보다 커지게 되면 다시 2번부터 시작.
'Linux > Embedded System' 카테고리의 다른 글
펌웨어 (Firmware) (0) | 2014.12.04 |
---|---|
FPGA란 (0) | 2014.12.03 |
쓰레드 풀링 (Thread Poling) (0) | 2014.12.01 |
선점형(preemptive) & 비선점형(non - preemptive) (0) | 2014.11.24 |
U-boot란 무엇인가 (0) | 2014.11.24 |