[컴][OS] Spinlock, Mutext lock



Spinlock, Mutext lock

Mutex lock 은 os 에서 software 로 lock 을 만들었는데 그중 가장 간단한 도구가 mutex lock 이다.

Mutex lock 을 spinlock 이라고도 부른다. 왜냐하면, process 가 lock 이 available 될 때까지 계속 돌기 때문이다.(spin)

이 spinlock 은 busy waiting 을 만든다. 하지만 반대로 그래서 context switch 가 필요없다.

멀티코어 시스템에서 특정한 경우에는 spinlock 이 훨씬 좋은 선택이 된다.

만약 lock 이 짧은 순간이라면, 다른 thread 는 또다른 core 에서 critical section 을 수행하는 동안 하나의 thread 가 하나의 core 에서 lock 을 기다릴 수 있다.


Spinlock 은 multiprocessor 시스템에서 쓰는 locking mechanism 중 하나이다.
짧은 시간에 lock 을 할 때 사용한다.이 짧은 시간의 정의는

lock 은 2개의context switch 가 필요하다.
1. thread 를 waiting state 로 옮기는 context switch
2. lock 이 가능하게 됐을 때 waiting thread 를 복구 시키는 context switch
일반적인 spinlock 을 사용하는 규칙은 lock 이 2개 미만의 context switch 의 시간동안 lock 을 잡을 때 사용한다.


References


  1. Operating System Concepts 10th edition

댓글 없음:

댓글 쓰기