로딩
요청 처리 중입니다...

[OS_PINTOS] #1-4. Priority Inversion

 [OS_PINTOS] #1-4. Priority Inversion

Priority Inversion이란 priority가 높은 thread가 priority가 낮은 thread를 기다리는 상황을 말한다. 즉, priority 관계가 역전 되었다는 뜻이다.

Priority Inversion을 나타낸 그래프. (출처 : KAIST OS Lab) 이는 Thread H가 lock을 request 했다가 다시 Thread L이 lock을 돌려받는 과정에서 우선 순위가 더 높은 Thread M이 있음으로써 lock을 가로챘기 때문에 발생하는 현상이다.

이러한 현상이 발생하게 되면 lock을 요청한 thread H의 priority 가 더 높음에도 불구하고 Thread M이 먼저 실행되는 결과가 나온다. 이를 해결해 주기 위한 방법으로 제시 된 것이 바로 Priority Donation이다.

Priority Donation을 나타낸 그래프. (출처 : KAIST OS Lab) Thread H가 lock을 요청하면서, 자신의 priority를 Thread L에게...

# OS # PINTOS # 운영체제 # 운체 # 핀토스