스핀락
-
[운영체제] 스핀락(Spinlock)은 무엇인가?ComputerScience/운영체제 2020. 6. 14. 00:42
2020/06/14 - [운영체제] - [운영체제] 뮤텍스(Mutex), 세마포어(Semaphore) 그리고 모니터(Monitor) 뮤텍스와 비교되는 스핀락 빙글빙글 돈다는 의미에서 스핀락이다. 스핀락 특정한 자료구조를 lock 또는 unlock 함으로써 공유 데이터에 대한 접근 권한을 관리하는 방법이다. 권한을 획득하기 전까지는 CPU는 무의미한 코드를 수행하는 busy waiting 상태로 대기하고 있다가 접근 권한을 얻는다면 내부 코드를 수행하고 종료 후 권한을 해제한다. 상태가 획득/해제 밖에 없기 때문에 공유 영역에는 하나의 컴퍼넌트만 접근할 수 있으며 획득과 해제의 주체는 동일해야 한다. 즉, Lock를 얻을 수 없다면 계속해서 for문을 돌면서 Lock을 얻을 수 있는 지 확인한다. Lock..