Many embedded systems have complex timing constraints and, at the same time, have flexibility requirements which prohibit offline planning of the entire system. To support a mixture of time-triggered and event-triggered tasks, some industrial systems deploy an RTOS with a table-driven dispatcher complemented with a preemptive scheduler to allocate the free time slots to event-driven tasks. Rather than allocating dedicated time-slots to time-triggered tasks, in this work we provide RTOS support to dynamically re-allocate time-slots of time triggered tasks within a pre-computed time range to maximize the available processing capacity for event-triggered tasks. Although the concept - called slotshifting - is not new, we are the first to extend a commercial RTOS with such support. In addition, we extend slot shifting with a run-time mechanism to reclaim resources of time-triggered tasks when their reserved capacities are unused. This mechanism eliminates over-provisioning of capacities to (event-triggered) tasks that have been converted to periodic tasks to resolve interdependencies during off-line synthesis, e.g. allowing for a resource-efficient implementation of a polling task. After implementing our unique RTOS extensions, we investigate the run-time overheads for the corresponding scheduling mechanisms. Measurements show that the increase in terms of absolute run-time overhead is minor compared to an off-the-shelf micro-kernel with a fixed-priority scheduler.
|Title of host publication||Proceedings of the 10th IEEE/IFIP International Conference on Embedded and Ubiquitous Computing (EUC, Paphos, Cyprus, December 5-7, 2012)|
|Publication status||Published - 2012|
|Event||2012 IEEE 15th International Conference on Computational Science and Engineering - Nicosia, Cyprus|
Duration: 5 Dec 2012 → 7 Dec 2012
|Conference||2012 IEEE 15th International Conference on Computational Science and Engineering|
|Period||5/12/12 → 7/12/12|