우선도 상한 프로토콜

Priority ceiling protocol

실시간 컴퓨팅에서 우선순위 상한 프로토콜은 중요한 섹션의 잘못된 중첩으로 인한 무한 우선순위 반전상호 교착 상태를 방지하기 위한 공유 리소스의 동기화 프로토콜입니다.이 프로토콜에서는 각 리소스에 우선 순위 제한이 할당됩니다. 이 한도는 리소스를 잠글 수 있는 태스크의 가장 높은 우선 순위와 동일합니다.프로토콜은 특정 상황에서 작업의 우선순위를 일시적으로 높임으로써 작동하므로 동적 우선 [1]순위 예약을 지원하는 스케줄러가 필요합니다.

ICPP 대 OCPP

프로토콜에는 두 가지 종류가 있습니다.Original Ceiling Priority Protocol(OCPP) 및 ICPP(Immediate Ceiling Priority Protocol)입니다.두 천장 방식의 최악의 경우 동작은 스케줄링 관점에서 동일합니다.두 변형 모두 일시적으로 [2]태스크의 우선순위를 높임으로써 작동합니다.

OCPP에서는 우선 순위가 높은 태스크 Y가 X가 잠근 리소스를 획득하려고 하면 태스크 X의 우선 순위가 높아집니다.그런 다음 태스크의 우선 순위가 리소스의 우선 순위 한도로 올라가고 태스크 X가 중요한 섹션을 신속하게 완료하여 리소스의 잠금을 해제합니다.동적 우선 순위가 다른 태스크에 의해 잠긴 모든 리소스의 우선 순위 상한보다 높은 경우에만 리소스를 잠글 수 있습니다.그렇지 않으면 태스크가 차단되어 [2]리소스를 기다립니다.

ICPP에서는 태스크가 리소스를 잠글 때 태스크의 우선순위가 즉시 높아집니다.태스크의 우선 순위가 리소스의 우선 순위 한도로 설정되므로 리소스를 잠글 수 있는 태스크는 예약할 수 없습니다.이렇게 하면 OCPP 속성이 "동적 우선순위가 다른 태스크에 의해 잠긴 모든 리소스의 우선순위 상한보다 높은 경우에만 리소스를 잠글 수 있습니다."[2]라는 것을 확인할 수 있습니다.

  • 블로킹 관계를 감시할[2] 필요가 없기 때문에 ICPP는 OCPP보다 구현이 용이합니다.
  • ICPP는 블로킹이 첫[2] 번째 실행 전에 이루어지기 때문에 컨텍스트스위치의 수를 줄입니다.
  • ICPP는 모든 리소스[2] 사용에서 발생하므로 더 많은 우선 순위 이동이 필요합니다.
  • OCPP는 실제 블록이 발생한 경우에만[2] 우선순위를 변경합니다.

ICPP는 Ada에서는 "Ceiling Locking", POSIX에서는 "Priority Protect Protocol", RTSJ에서는 [3]"Priority Ceiling Emulation"이라고 불립니다.HLP([4]Highest Locker's Priority Protocol)라고도 합니다.

「 」를 참조해 주세요.

레퍼런스

  • 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. ^ Renwick, Kyle; Renwick, Bill (May 18, 2004). "How to use priority inheritance". embedded.com. Retrieved November 11, 2014.
  2. ^ a b c d e f g "Archived copy" (PDF). Archived from the original (PDF) on 2014-11-13. Retrieved 2014-11-13.{{cite web}}: CS1 maint: 제목으로 아카이브된 복사(링크)
  3. ^ Alan Burns; Andy Wellings (March 2001). Real-Time Systems and Programming Languages — Ada 95, Real-Time Java and Real-Time POSIX (3rd ed.). Addison Wesley Longmain. ISBN 0-201-72988-1.
  4. ^ http://user.it.uu.se/~yi/syslog/rts/dvp-rts-08/notes/synchronization-resource-sharing.pdf[베어 URL PDF]