mutex 뮤텍스(Mutex) / 세마포어(Semaphore) 위 내용을 설명하기에 앞서 임계 영역(Critical Section)에 대한 개념부터 파악이 필요하다. 때문에 어떤 스레드(태스크 또는 프로세스)가 임계 구역에 들어가고자 한다면 지정된 시간만큼 대기해야 한다. 각 프로세스는 자신의 임계 구역에 진입하려면 진입허가를 요청해야 한다. 임계 구역 이후에는 임계 구역을 빠져나왔음을 알리는 코드 부분인 퇴장 구역(exit section)이 있다. 임... mutex뮤텍스세마포어SemaphoreSemaphore ) Philosophers - Implement 1 또한 동시에 접근을 한다면 어떤 스레드가 값을 업데이트 하는 도중 다른 스레드가 그 값에 접근하더라도 변화된 값을 읽지 못하게 되는 상황이 발생할 수 있다. 이처럼 여러 개의 스레드가 공유된 자원에 접근 할 때 데이터의 신뢰성을 보장받을 수 없는 경우를 스레드 동시성(Concurrency) 문제라고 한다. 스레드 : 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위 프로그램 -> 프로세스... mutexThreadPhilosophers42Seoulprocess42Seoul [운영체제] Mutex 와 Semaphore Mutex (binary semaphore) 임계 영역에 하나의 스레드만 들어갈 수 있다 Semaphore 임계 영역에 여러 스레드가 들어갈 수 있다 Counter를 이용해 동시에 리소스에 접근할 수 있는 스레드 수를 제어한다 Semaphore Semaphore는 세마포어 값 S를 이용하여 임계 영역에 접근할 수 있는 스레드의 수를 제어한다고 했다 이를 Pseudo Code로 표현하면 아래와... ThreadOSSemaphoremutex운영체제OS
뮤텍스(Mutex) / 세마포어(Semaphore) 위 내용을 설명하기에 앞서 임계 영역(Critical Section)에 대한 개념부터 파악이 필요하다. 때문에 어떤 스레드(태스크 또는 프로세스)가 임계 구역에 들어가고자 한다면 지정된 시간만큼 대기해야 한다. 각 프로세스는 자신의 임계 구역에 진입하려면 진입허가를 요청해야 한다. 임계 구역 이후에는 임계 구역을 빠져나왔음을 알리는 코드 부분인 퇴장 구역(exit section)이 있다. 임... mutex뮤텍스세마포어SemaphoreSemaphore ) Philosophers - Implement 1 또한 동시에 접근을 한다면 어떤 스레드가 값을 업데이트 하는 도중 다른 스레드가 그 값에 접근하더라도 변화된 값을 읽지 못하게 되는 상황이 발생할 수 있다. 이처럼 여러 개의 스레드가 공유된 자원에 접근 할 때 데이터의 신뢰성을 보장받을 수 없는 경우를 스레드 동시성(Concurrency) 문제라고 한다. 스레드 : 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위 프로그램 -> 프로세스... mutexThreadPhilosophers42Seoulprocess42Seoul [운영체제] Mutex 와 Semaphore Mutex (binary semaphore) 임계 영역에 하나의 스레드만 들어갈 수 있다 Semaphore 임계 영역에 여러 스레드가 들어갈 수 있다 Counter를 이용해 동시에 리소스에 접근할 수 있는 스레드 수를 제어한다 Semaphore Semaphore는 세마포어 값 S를 이용하여 임계 영역에 접근할 수 있는 스레드의 수를 제어한다고 했다 이를 Pseudo Code로 표현하면 아래와... ThreadOSSemaphoremutex운영체제OS