DocumentCode :
3645145
Title :
Sleepy Sloth: Threads as Interrupts as Threads
Author :
Wanja Hofer;Daniel Lohmann;Wolfgang Schröder-Preikschat
Author_Institution :
Friedrich-Alexander Univ. Erlangen-Nuremberg, Bamberg, Germany
fYear :
2011
Firstpage :
67
Lastpage :
77
Abstract :
Event latency is considered to be one of the most important properties when selecting an event-driven real-time operating system. This is why in previous work on the Sloth kernel, we suggested treating threads as ISRs -- executing all application code in an interrupt context -- and thereby reducing event latencies by scheduling and dispatching solely in hardware. However, to achieve these benefits, Sloth does not support blocking threads or ISRs, but requires all control flows to have run-to-completion semantics. In this paper, we present Sleepy Sloth, an extension of Sloth that provides a new generalized thread abstraction that overcomes this limitation, while still letting the hardware do all scheduling and dispatching. Sleepy Sloth abolishes the (artificial) distinction between threads and ISRs: Threads can be dispatched as efficiently as interrupt handlers and interrupt handlers can be scheduled as flexibly as threads. Our Sleepy Sloth implementation of the automotive OSEK OS standard provides much more flexibility to application developers while maintaining efficient execution of application control flows. Sleepy Sloth runs on commodity off-the-shelf hardware and outperforms a leading commercial OSEK implementation by a factor of 1.3 to 19.
Keywords :
"Hardware","Kernel","Instruction sets","Dispatching","Context","Message systems"
Publisher :
ieee
Conference_Titel :
Real-Time Systems Symposium (RTSS), 2011 IEEE 32nd
ISSN :
1052-8725
Print_ISBN :
978-1-4577-2000-0
Type :
conf
DOI :
10.1109/RTSS.2011.14
Filename :
6121427
Link To Document :
بازگشت