SSAFY-CSStudy / OS

SSAFY CS 운영체제 스터디입니다.
11 stars 0 forks source link

[5. 병행제어] 동시성 문제를 해결하기 위한 방법? #38

Open qkrtjdwo5662 opened 8 months ago

qkrtjdwo5662 commented 8 months ago

1Depth

Question

임계영역이란 무엇인가?

Answer 동시성 문제는 멀티스레드 환경에서 여러 스레드가 동시에 접근하면 안되는 공유자원을 참조하는 문제를 의미하며, 이러한 동시성 문제가 발생하는 코드 영역을 임계영역이라고 한다.

2Depth

Question

동시성 문제를 해결하기 위한 방법은 무엇인가?

Answer 상호배제 : 임계구역에 오직 하나의 스레드만 들어가게 하는 것
상호배제를 구현하기 위한 기법에는 뮤텍스, 스핀락, 세마포의 방식이 있다.

3Depth

Question

뮤텍스와 스핀락을 비교해보자

Answer 뮤텍스 : 락이 잠겨있으면 blocking 되어 대기큐에서 대기하며 대기시간이 긴 경우에 사용하는 것이 적합하다.
스핀락 : 락이 풀릴때까지 계속해서 락을 검사하며 지속적인 cpu를 사용하여 대기시간이 짧은 경우에 사용하는 것이 적합하다.

Additional Explain