Dining philosophers 문제에서 deadlock이 생기는 4가지 조건과 그에 따른 deadlock prevention 제시
- 최초 등록일
- 2009.05.18
- 최종 저작일
- 2009.05
- 2페이지/ 한컴오피스
- 가격 1,000원
소개글
Dining philosophers 문제에 대해 deadlock이 발생하는 조건인 4가지의 condition에 관해 설명하고 각각에 관해 deadlock prevention을 한다면 어떠한지에 관해 설명한다.
목차
- Deadlock이 생기는 4가지 조건
- Dining philosophers 문제에서 deadlock을 막기위해 각 해당조건의 문제를 제거했을 때에 관해 설명
- Deadlock을 막는 해결책 제시
본문내용
Deadlock 상태는 다음의 4가지의 조건에 의해 발생한다. mutual exclusion, hold and wait, no preemption, circular wait의 4가지 조건이 있다. dining philosophers 문제에서 philosopher는 thinking과 eating 두 가지 행동으로 chopsticks 자원을 사용한다.
<그림 1. Dining philosophers problem>
위 그림에서 chopstick이 5개만 존재하기 때문에 philosopher중 음식을 먹을 수 있는 사람이 한정되어 있다. 이 문제에서 deadlock이 발생할 조건을 살펴보겠다. chopstick은 mutual exclusion한 자원이다. 누군가 들고 있다면 다른 philosopher는 집어들 수 없다. 또한 chopstick 하나를 들고 있다면 또 다른 자원을 얻으려고 시도한다(hold and wait). 남이 가진 chopstick을 빼앗는 것은 허용하지 않는다(no preemption). 이러한 조건에서 모든
참고 자료
Operating System Concepts with Java, Silberschatz, Galvin Gagne