뮤텍스와 세마포어가 무엇인가요?
공유된 자원에 여러 프로세스, 스레드가 동시에 접근하면서 문제가 발생할 수 있다.
이를 안전하게 관리하기 위한 기법이 뮤텍스와 세마포어이다.
-
뮤텍스 : 칸이 하나밖에 없는 화장실.
-
한 번에 한 프로세스나, 스레드만 접근 가능.
-
다음 스레드들은 순서대로 대기.
-
-
세마포어 : 여러 개의 칸이 있는 화장실. 현재 화장실의 빈칸을 보여주는 전광판이 존재.
-
프로세스나 스레드는 빈칸이 있다면 접근 가능.
-
빈 칸이 없다면, 생길 때까지 순서대로 대기.
-
Critical section : 여러 프로세스가 데이터를 공유하면서 실행될 때, 각 프로세스에서 공유 데이터를 액세스 하는 프로그램 코드 부분.
참조 :
Semaphore란? 세마포어와 뮤텍스의 차이는?
Deadlock에 이어, Semaphore와 mutex에 대해 설명하고자 합니다. - 프로세스 간 메시지를 전송하거나, 공유메모리를 통해 특정 데이터를 공유하게 되는 경우 문제가 발생할 수 있습니다. 즉, 공유된 자
jwprogramming.tistory.com
뮤텍스(Mutex)와 세마포어(Semaphore)의 차이
이 글은 Medium에 개시된 글입니다. Medium에서 보시면 좀 더 유쾌한 환경에서 글을 보실 수 있습니다. 뮤텍스(Mutex)와 세마포어(Semaphore)의 차이 Toilet problem 동시성 프로그래밍의 가장 큰 숙제는 ‘공
worthpreading.tistory.com
'CS > 운영체제' 카테고리의 다른 글
컨텍스트 스위칭이란? (0) | 2020.11.19 |
---|---|
교착상태란? (0) | 2020.11.16 |
프로세스와 스레드의 차이 (0) | 2020.11.16 |
댓글