CS/운영체제
[운영체제 - 김덕수 교수님] 프로세스 동기화, 상호 배제 - TAS(3/7)
Damagucci-juice
2022. 8. 3. 18:25
HW 솔루션
- TestAndSet (TAS) instruction
- test 와 set을 한번에 수행하는 기계어
- Machine instruction
- Atomicity, Indivisible
- 실행 중 interrupt를 받지 않음(preemption 되지 않음)
- Busy waiting
- 비효율적
TAS Instruction
- 타겟값을 저장, 타겟에 true 저장, 반환 세동작이 한번에 실행된다.
- 한명이 들어가서 일을 하고 있을 때, 2,3번이 뺑뺑돌고 있는데,
- 3번이 갔다고 치고, 다음에 4번이 온다면?
- 2번은 계속 기다릴 수 밖에 없다.
ME with TAS Instruction
- N-process mutual exclusion
- 장점
- 구현이 간단
- 단점
- Busy waiting
- Busy waiting 문제를 해소하기 위한 기법
- semaphore
- 대부분의 OS들이 사용하는 기법
- semaphore