CS/OS 썸네일형 리스트형 [운영체제] 우선순위 역전 Priority Inversion 우선순위 역전 Priority Inversion 간단히 말하면, 어쩌다 보니 우선순위 가장 높은 프로세스가 가장 늦게 완료되는 상황을 말한다. 임계구역 / 공유자원에 대한 접근을 제어하다가 이러한 문제가 발생할 수 있다. 예시) 우선순위 역전이 일어나는 상황 task3이 공유 자원 접근 위해 바이너리 세마포어 (binary semaphore) 획득 스케줄러에 의해 task1이 수행됨 task1은 task3이 갖고 있는 세마포어를 획득하기 위해 기다림 (waiting) 스케줄러에 의해 task3이 다시 실행됨 이 때 세마포어와 관련 없는 task2가 task3보다 우선순위가 높아 스케줄러에 의해 실행됨. 그러면서 task3의 완료가 뒤로 밀리며, 우선순위가 가장 높은 task1이 결국 가장 늦게 수행됨 (.. 이전 1 다음