우선상속

Priority inheritance

실시간 컴퓨팅에서 우선 순위 상속은 무한 우선 순위 역전을 제거하는 방법이다.프로그래밍 방법을 사용하여 프로세스 스케줄링 알고리즘은 A가 리소스 잠금이 있는 리소스(A의 원래 우선순위보다 높은 경우)를 기다리는 다른 프로세스의 최대 우선순위로 프로세스(A)의 우선순위를 높인다.

우선순위 상속 프로토콜의 기본 개념은 한 직종이 하나 이상의 높은 우선순위 작업을 차단할 경우 원래 우선순위 할당을 무시하고 중요 섹션을 높은 우선순위 수준에서 실행하는 것이다.중요 섹션을 실행하고 잠금을 해제한 후 프로세스는 원래 우선 순위 수준으로 돌아간다.

세 가지 작업을 고려하십시오.

작업 이름 우선 순위
H 높은
M 중간
L 낮음

H와 L 모두 공유 리소스를 필요로 한다고 가정해 보십시오.L이 이 공유 자원을 획득하고(중요 섹션에 입력) H가 그 후에 요구하면, H는 L이 이를 해제할 때까지(중요 섹션이 해제될 때까지) 차단한다.공정 M은 우선순위 상속을 하지 않으면 중요 구간에서 공정 L을 선점하고 그 완료를 지연시킬 수 있어 사실상 우선순위가 낮은 공정 M이 우선순위가 높은 공정 H를 간접 선점하게 된다.이것은 우선순위 뒤집기 버그다.

우선상속과 함께 L은 공유자원에서 H가 차단될 때마다 H의 높은 우선순위로 중요구간을 실행한다.이에 따라 M은 L을 선점하지 못하고 막히게 된다.즉, L이 H의 우선권을 상속받았기 때문에 우선 순위가 높은 작업 M은 우선 순위가 낮은 작업 L의 중요 부분이 실행될 때까지 기다려야 한다.L이 임계 구간을 벗어나면 원래의 (낮은) 우선순위를 되찾고 H(L에 의해 차단된)를 깨운다.우선 순위가 높은 H는 L을 선점하고 완성을 향해 달려간다.이를 통해 M과 L이 연속적으로 재개되어 우선순위 뒤집기 없이 완료까지 진행할 수 있다.

우선 순위 상속을 지원하는 운영 체제

참고 항목

참조

  • Lui Sha; Ragunathan Rajkumar & John P. Lehoczky (September 1990). "Priority Inheritance Protocols: An Approach to Real-Time Synchronization" (PDF). IEEE Transactions on Computers. 39 (9): 1175–1185. doi:10.1109/12.57058.
  1. ^ "RT-mutex subsystem with PI support". Retrieved 2021-11-27.

외부 링크