The primary goal of a real-time system is predictability. Achieving this goal requires all levels of the system to work in concert to provide fixed worst-case execution-times. Unfortunately, many real-time systems are overly restrictive, providing only ad-hoc scheduling facilities and basic concurrent functionality. Ad-hoc scheduling facilities and basic concurrent functionality. Ad-hoc scheduling makes developing, veirfying, and maintaining a real-time system extremely difficult and time consuming. Basic concurrent funcitonality foces programmers to develop complex concurrent programs without the aid of high-level concurrency features. Encouraging the use of sophisticated real-time theory and methodology, in ocnjunction with high-level concurrency features, requires flexibility and extensibility. Giving real-time programmers access to the underlying system data-structures makes it possible to interact with the system to incorporate new ideas and fine-tune specific applications .This paper explores this approach by examining its effect on a selection of crucial real-time issues: real-time monitors, timeouts, dynamic-priority scheduling and basic priority inheritance. The approach is implemented in muC++.
展开▼