운영체제 기말고사 요약
- 최초 등록일
- 2017.06.19
- 최종 저작일
- 2017.06
- 4페이지/ 어도비 PDF
- 가격 1,500원
목차
없음
본문내용
5장
Critical Section에서 두 스레드가 동시에 접근할시 계산이 틀리는 이유
- 소스를 기계어 코드로 바꾸었고 counter가 전역변수 일 때 두 스레드가 동시에 도는데 동시에 끝났을 때는 값이 일정하지만 먼저 한쪽이 끝나고 다른 쪽이 전역변수를 아직 계산이 끝나지 않아서 바뀐 전역변수 값으로 계산이 끝나게 되면서 결과값이 달라지게 된다.
이를 보호하기 위한 방법
lock과 unlock을 사용하여 Critical Section을 만들어줘서 한 스레드만 접근할 수 있게 만들어준다.
Babershop에서 Semaphore의 세 가지 용도
Mutual exclusion Semaphore(상호배제) - 각 소파에는 한명씩만 앉을 수 있음, 이발하는 의자는 한사람만 앉을 수 있음.
Counting Semaphore - 이발소에 진입하는 사람들을 20명으로 제한, 소파에 앉는 인원을 4명으로 제한
Synchronization(동기화) - 계산할 때 캐셔와 손님 간에 사용, 이발사와 손님 간에 사용
참고 자료
없음