우선순위 역전
IT 위키
더 많은 작업
- Priority Inversion
- 주로 RTOS 프로세스 스케줄링에서, 공유자원 동기화 시 높은 우선순위 프로세스가 낮은 우선순위 프로세스로 인하여 수행이 지연되는 현상
- 우선순위가 높은 프로세스의 공유자원을 가진 경우, 우선순위를 상속하여 높임
- 우선순위가 더 높은 프로세스가 들어오지 않는 이상 우선적으로 작업을 끝내고 공유자원을 되돌려 줌
- 위 예시에서 Task3는 Task1의 우선순위를 상속받아 Task2의 방해를 받지 않음
- 다만, 여러개의 공유자원이 복잡하게 얽힌 경우 교착 상태 발생
- 우선순위 상속의 교착 상태 문제 해결
- 프로세스가 공유자원을 소유하고 있는 동안 지정된 상한선으로 임시 상승
- 상한선은 현재 대기중인 프로세스의 우선순위 최대값 보다 한 단계 낮게 설정
- 대기 중인 모든 프로세스의 공유 자원과 우선순위를 예측할 수 있어야 함
