[OS] Lecture 6. Process Synchronization and Mutual Exclusion 6_7 - kibitzing/EnGrow GitHub Wiki
유튜브 링크
진구
- 은행 번호표 비유 너무 좋음. 이해가 착 됐다.
- busy waiting에 이어 starvation 해결
- 교수님이 해보라고 하는데 안 해보니 점점 이해와 거리가 멀어지는 것 같다.
- 모아서 한번 해봐야지..
세영
Sequencer
- 은행 번호표같은 느낌
- 0부터 계속 증가하는 값이고, 감소하지 않아서 사건의 발생 순서 유지
ticket()연산으로만 접근 가능
ticket(S)
- 현재까지
ticket()연산이 호출된 횟수를 반환 - One instruction cycle
Eventcount
- 은행 번호판같은 느낌
- 똑같이 0부터 시작하고 감소하지 않는 값
- 특정 사건의 발생 횟수를 기록하는 값
read(E),advance(E),await(E, v)연산으로만 접근 가능
read(E)
- 현재 event count값을 반환
advance(E)
E += 1E를 기다리고 있는 프로세스를 깨움 (다음 대기자 호출)
await(E, v)
- v는 번호표, E는 번호판 숫자
E < v이면queue[E]에 프로세스 전달 및 스케줄러 호출
Event Count / Sequencer로 세마포어의 단점이었던 Starvation을 해결