본문 바로가기
CS/운영체제

뮤텍스와 세마포어란?

by taehee.kim.dev 2020. 11. 17.

뮤텍스와 세마포어가 무엇인가요?


공유된 자원에 여러 프로세스, 스레드가 동시에 접근하면서 문제가 발생할 수 있다.

이를 안전하게 관리하기 위한 기법이 뮤텍스와 세마포어이다.

 

  • 뮤텍스 : 칸이 하나밖에 없는 화장실.

    • 한 번에 한 프로세스나, 스레드만 접근 가능.

    • 다음 스레드들은 순서대로 대기.

  • 세마포어 : 여러 개의 칸이 있는 화장실. 현재 화장실의 빈칸을 보여주는 전광판이 존재.

    • 프로세스나 스레드는 빈칸이 있다면 접근 가능.

    • 빈 칸이 없다면, 생길 때까지 순서대로 대기.

 

Critical section : 여러 프로세스가 데이터를 공유하면서 실행될 때, 각 프로세스에서 공유 데이터를 액세스 하는 프로그램 코드 부분.

 

 

참조 : 

jwprogramming.tistory.com/13

 

Semaphore란? 세마포어와 뮤텍스의 차이는?

Deadlock에 이어, Semaphore와 mutex에 대해 설명하고자 합니다. - 프로세스 간 메시지를 전송하거나, 공유메모리를 통해 특정 데이터를 공유하게 되는 경우 문제가 발생할 수 있습니다. 즉, 공유된 자

jwprogramming.tistory.com

worthpreading.tistory.com/90

 

뮤텍스(Mutex)와 세마포어(Semaphore)의 차이

이 글은 Medium에 개시된 글입니다. Medium에서 보시면 좀 더 유쾌한 환경에서 글을 보실 수 있습니다. 뮤텍스(Mutex)와 세마포어(Semaphore)의 차이 Toilet problem 동시성 프로그래밍의 가장 큰 숙제는 ‘공

worthpreading.tistory.com

 

'CS > 운영체제' 카테고리의 다른 글

컨텍스트 스위칭이란?  (0) 2020.11.19
교착상태란?  (0) 2020.11.16
프로세스와 스레드의 차이  (0) 2020.11.16

댓글