본문 바로가기

개인공부

Spinlock

반응형

Spinlock 쉽게 말하면 정수형 변수이다.

 

초기화, P() , V() 연산으로만 접근 가능

 

 

위 연산들은 atomic한 연산들이다.

 

P(S){

    while(S<=0) do

    endwhile;

    S <- S -1;

}

 

V(S){

    S <- S +1;

}

 

 

 

P연산은 물건을 꺼내가는것  물건을 생기는 것을 기다린다.

 

V연산은 물건을 반납하는 것이다.

 

P는 자물쇠를 거는 것

 

V는 자물쇠를 푸는 것

 

P,V 연산은 트랜잭션 처럼 한번에 수행하는 것을 보장한다. 

 

스핀락도 Busy waiting 문제가 아직 있다.

반응형

'개인공부' 카테고리의 다른 글

Eventcount / Sequencer  (0) 2020.06.22
Semaphore  (0) 2020.06.21
크리티컬섹션 HW 솔루션  (0) 2020.06.21
크리티컬 섹션 해결 알고리즘  (0) 2020.06.21
프로세스 동기화 방법  (0) 2020.06.21