기아 상태(Starvation)
교착 상태(Deadlock)
Aging
Signaling
이진 뮤텍스(Binary mutex)이다.
오직 한 프로세스로부터만 접근되어야 한다.
여러 프로세스로부터 접근될 수 있다.
위에 언급된 모두 해당 안됨
뮤텍스(mutex)와 계수(counting)
이진(binary)과 계수(counting)
뮤텍스(mutex)와 이진(binary)
스핀(spin)과 이진(binary)
이진 세마포어(Binary semaphore)이다.
해제는 오직 한 프로세스로부터만 접근되어야 한다.
해제 시 여러 프로세스로부터 접근될 수 있다.
2
7
12
42
독자-저자(Readers-writers)
생산자-소비자(Producer-consumer)
철학자들의 만찬(Dining philosophers)
잠자는 이발사(Sleeping barber)
문제해결에 비어있는 버퍼와 사용될 수 있는 버퍼의 수에 대한 세마포어가 사용될 수 있다.
유한한 N 개의 버퍼를 가지고 있다.
세마포어만으로 이 문제를 완벽하게 해결할 수 있다.
생산자(Producer)가 아이템을 큐(queue)에 넣는 속도와 소비자(consumer)가 큐에서 아이템을 빼는 속도가 같다면, 유한 버퍼 문제(bounded buffer problem)는 발생하지 않는다.
독자(Reader)
저자(Writer)
독자(Reader)와 저자(writer)
프로세스(Process)
3명의 철학자들과 5개의 젓가락
4명의 철학자들과 5개의 젓가락
5명의 철학자들과 5개의 젓가락
5명의 철학자들과 6개의 젓가락
Resource hierarchy solution
Arbitrator solution
Dijkstra's algorithmm
Chandy–Misra–Haas algorithm
Deadlock이 발생한다.
Starvation이 발생한다.
Inconsistency가 발생한다.
Interrupt가 발생한다.
자원 유형에 따른 사용 순서를 정의
Thread를 사용
Pipe를 사용
Socket을 사용
Round-robin algorithm
Banker's algorithm
Elevator algorithm
Karn's algorithm
© Seunggon Kim