운영체제 공정한이발소
- 최초 등록일
- 2015.06.20
- 최종 저작일
- 2014.04
- 10페이지/ 한컴오피스
- 가격 2,000원
목차
1. 공정한 이발소 알고리즘을 모두 이해하고 여기에 사용된 모든 세마포어의 용도를 기술하고 이유도 함께 기술하라.
2. A.4 Problems의 A.5번 문제를 해결한 알고리즘을 제시하라.
본문내용
- Semaphore
1. Mutual exclusion : 상호배제 즉, 임계영역을 보호하기 위해 사용 (세마포어 초기값은 1) / 한 스레드만이 임계영역에 들어갈 수 있고 다른 스레드는 임계구역 밖에서 대기해야 한다.
- mutex1, mutex2 : 한 개의 소파나 이발의자에는 한명의 손님만이 앉아야 하고, 손님이 의자에서 일어날 경우 대기큐에서 기다리던 다음 손님에게 알려준다.
2. Counting semaphore : 사람 명수를 세어주는 세마포어 (세마포어 초기값은 0보다 큰 양수) / 카운터값을 하나 증가 또는 감소시키고 이 때 카운터 값이 0보다 같거나 작으면 대기큐에서 기다리고 있는 한명을 깨워준다.
- max_capacity, sofa, barber_chair, coord : 이발소 의자에 3명, 소파에 4명, 이발소 안에 20명의 사람수 제한이 있기 때문에 소파, 이발의자, 이발소 자리를 기다리는 사람에게 자리가 비면 자리가 비었다고 알려준다.
참고 자료
없음