시스템 프로그래밍

13-1. 쓰레드 동기화의 개념/임계 영역 접근 동기화

CalebHong 2022. 6. 21. 10:45

- 임계 영역

=> 둘 이상의 쓰레드가 동시에 동일한 메모리 영역에 접근하도록 하는 코드 블럭

: 메모리 접근 동기화가 필요

- 여러 쓰레드의 실행 순서가 필요한 경우

: 순서 동기화(Chapter 14에서 다룰 예정)

 

쓰레드 동기화 기법의 두 가지 구분

: 유저 모드 동기화, 커널 모드 동기화

동기화 기법 유저 모드 동기화 커널 모드 동기화
Pros 커널 모드와의 빈번한 이동이
없기에 속도가 빠름
다양한 기능을 다룰 수 있음
Cons 커널 모드보다 기능이 제한적 유저 모드와의 이동으로 속도가 느림

유저 모드 동기화

 - 크리티컬 섹션(임계 영역) 기반 동기화

 - 인터락 함수 기반 동기화

 

커널 모드 동기화

 - 뮤텍스 기반 동기화(접근 동기화)

 - 세마포어 기반 동기화(접근 동기화)

 - 이름있는 뮤텍스 기반 동기화(접근 동기화)

 - 이벤트 기반 동기화(실행 순서 동기화)