- 배타적 제어란 '다른 것을 배제하는 제어'를 의미함 (e.g. 회의실)
- 누군가가 회의실을 이미 사용중이면 다른 사람은 해당 회의실을 사용할 수 없음
- 여러 사람이 공유하기 때문에 배타적 제어가 필요함
- 컴퓨터 세계에서도 직렬 처리에서는 배타적 제어가 필요없지만, 병렬 처리에서는 필요함
- 배타적 제어를 하는 부분은 병목 현상이 발생하기 쉬움
DBMS에서의 배타적 제어
- 매우 짧은 시간 동안만 락(Lock)을 유지하는 래치(Latch)
- CPU에서 의미가 없는 처리를 하면서 대기하는 방식
- 스핀락(Spin-lock)이라고도 불림
- 비교적 장시간 락을 유지하도로 큐를 이용해서 관리하는 방식인 슬립락(Sleep-lock)이라는 것도 있음
- 스핀해서 락을 확보하지 못하면 슬립하는 등 상황에 따라 스핀할지 슬립할지를 판단하는 방식도 있음 -> 어댑티브락, Adaptive-lock
출처: 그림으로 공부하는 IT인프라 구조
'Computer Science > IT Infra' 카테고리의 다른 글
I/O 크기 (0) | 2022.03.17 |
---|---|
Stateful vs Stateless (0) | 2022.03.16 |
HDD와 SSD의 차이점 (0) | 2022.02.05 |