[정글] PintOS Project1 #3 Priority Scheduling 2/2
[정글] PintOS Project1 #2 Priority Scheduling 1/2 은 여기에 정리 Priority Inversion Priority Inversion 은 H (High), M (Middle), L (Low) 라는 세 개의 쓰레드가 있고, 각각의 우선순위는 H > M > L 일 때 H 가 L 을 기다리고 있는 상황 (L이 Lock을 점유하고 있는 상황에서 H가 Lock을 요청한 상황) 에서 H 가 L 에게 CPU 점유권을 넘겨주면, M 이 L 보다 우선순위가 높으므로 점유권을 선점하여 실행되기 때문에 Thread 가 마무리되는 순서가 M -> L -> H 가 되어 M 이 H 보다 우선하여 실행되는 현상이다 이런 문제를 해결하기 위해 Priority Donation 을 구현해야 한다, 아..