뮤텍스,세마포어 -> https://velog.io/@miin-hyukkk/운영체제-IPCInter-Process-Communication
뮤텍스 알고리즘
1. 데커 알고리즘
flag과 turn 변수를 통해 임계 구역에 들어갈 프로세스/스레드를 결정하는 방식
2.피터슨 알고리즘
데커와 유사하지만, 상대방 프로세스/스레드에게 진입 기회를 양보하는 것에 차이가 있음
3.제과점 알고리즘
여러 프로세스/스레드에 대한 처리가 가능한 알고리즘. 가장 작은 수의 번호표를 가지고 있는 프로세스가 임계 구역에 진입함
뮤텍스
임계 영역에 하나의 작업 스레드만 허용하는 것임
임계 영역에 들어갈 수 있는 작업 스레드는 lock을 소유해야함
자원을 소유하고 있는 작업 스레드는 lock을 쥐고 있고 작업이 끝나면 lock을 풀어냄
해당 자원을 쥐고 있는 스레드만이 lock을 반환할 수 있어서 비선점 방식이 됨
(비선점: 쓰고있는애를 강제로 나오게 못하는 게 비선점 방식)
세마포어
임계 영역에 들어가는 스레드가 복수개가 가능
동기화 대상이 여러 개일 경우에 사용됨
세마포어의 경우 공유 자원에 1개 이상의 스레드가 접근할 수 있으며 "접근 스레드의 수"에 한계를 두는 방식임
🫠
출처: https://murphymoon.tistory.com/entry/임계구역을-보호하기-위한-기법-운영체제OS-면접질문-6
감사합니다. 이런 정보를 나눠주셔서 좋아요.