Measuring and policing blocking times in real-time systems
ACM Transactions on Embedded Computing Systems (TECS)
TTF-ravenscar: a profile to support reliable high-integrity multiprocessor ada applications
ACM SIGAda Ada Letters
Hi-index | 0.00 |
The run-time support mechanism usually deployed for monitoring the timing requirements of real-time systems is based on deadline monitoring, i.e., the system calls specific application code whenever a deadline is violated. However, from a fault-tolerance point-of-view, deadline miss is the final error in a chain of errors that results from some fault in the execution of one or more threads. Recognising this, major real-time programming standards, like Ada, POSIX and the RTSJ, have proposed different mechanisms for monitoring the execution time of threads. Nevertheless, in order to provide a complete fault-tolerance approach against timing errors, the potential blocking time of threads also has to be monitored. In this paper, we propose a mechanism for monitoring the blocking time of threads in the context of both basic priority inheritance and priority ceiling protocols. We also implement and evaluate the mechanism with the definition of blocking-time clocks and timers (extending the POSIX standard), via the modification of the open-source operating system MaRTE OS.