Sloth: Threads as Interrupts - Hofer, Wanja; Lohmann, Daniel; Scheler, Fabian; Schröder-Preikschat, Wolfgang (Proceedings of the 30th IEEE Real-Time Systems Symposium (RTSS 2009), 2009)
Traditional operating systems differentiate between threads, which are managed by the kernel scheduler, and interrupt handlers, which are scheduled by the hardware. This approach is not only asymmetrical in its nature, but also introduces problems relevant to real-time systems because low-priority interrupt handlers can interrupt high-priority threads. We propose to internally design all threads as interrupts, thereby simplifying the managed control-flow abstractions and letting the hardware interrupt subsystem do most of the scheduling work. The resulting design of our very light-weight SLOTH system is suitable for the implementation of a wide class of embedded real-time systems, which we describe with the example of the OSEK-OS specification. We show that the design conciseness has a positive impact on the system performance, its memory footprint, and its overall maintainability. © 2009 IEEE.
UnivIS-Import:2015-04-16:Pub.2009.tech.IMMD.IMMD4.slotht
Keywords: Sloth; Operating Systems; Embedded Systems; Real-Time Systems; Thread Management; Interrupt Handling; OSEK; Infineon TriCore; Priority-Driven Scheduling; CiAO; VAMOS