Real-Time Mach provides real-time thread and real-time synchronization facilites. A real-time thread can be created for a periodic or aperiodic activity with a timing constraint. Threads can be synchronized among them using a real-time version of the monitor based synchronization mechanism with a suitable locking protocol. In Real- Time Mach, we have implemented several locking policies, such as kernelized monitor, basic priority, priority inheritance protocol, priority ceiling protocol, and restartable critical section, for real-time applications. It can also avoid a unbonded priority inversionproblem.
In this paper, we describe the real-time synchronization facilities in Real-Time Mach and its implementation and performance evaluation. Our evaluation results demonstrated that a proper choice of locking policy can avoid unbounded priority inversions and improve the processor schedulability for real-time applications.