Copyright © 2004, Aonix
47
Issues with the RTSJ
•Understanding resource contention between RTSJ hard real-time components and firm real-time components requires detailed understanding of RTSJ implementation choices (not necessarily documented)
•Care must be taken to properly manage immortal buffers shared between hard and soft real-time without using direct synchronization
–Absence of synchronization not enforced statically or dynamically
–Wait-free queues require information copying and/or dynamic buffer management and design of ad hoc throttling techniques
•Performance penalties: NoHeapRealtimeThread implements read and write barriers, RealtimeThread implements different write barrier,  to enforce “isolation” strategy
3 Different Models of Execution