Friedrich-Alexander-Universität Erlangen-Nürnberg  /   Technische Fakultät  /   Department Informatik

Sloth: A Minimal-Effort Kernel for Embedded Systems

Motivation

The main research goal in the Sloth project is to investigate how to make better use of given hardware abstractions in (embedded) operating systems.

When designing an operating system, the operating system engineer always faces a trade-off decision between an efficient system implementation on a given hardware platform and portability to other platforms. This is because usually operating system kernels make use of a hardware abstraction layer internally, which hides platform specifics to a certain extent, facilitating the porting process.

Whereas sacrificing efficiency and memory footprint for portability might be feasible in desktop and server operating system kernels, it is difficult to argue this way when building embedded operating systems. On the one hand, those systems need to be configurable and tailorable to the applications' needs, which run on top of the kernel. This is what our research in the CiAO and VAMOS projects is focused on. On the other hand, the kernel will always need some kind of hardware abstraction layer, which needs to be ported to the different hardware platforms. The Sloth project investigates how to move down that abstraction layer a little, making better use of the underlying hardware platform to implement the offered system services and abstractions, trading the better efficiency and footprint for slightly more porting effort and hardware dependency.

The first part of the Sloth project is to investigate how to better implement threads in embedded real-time kernels. To learn more about that, see

Threads as Interrupts and the RTSS 2009 paper.

The second part of the Sloth project, named Sleepy Sloth, focuses on how to provide the application with more flexibility by providing a blocking thread abstraction while still executing efficiently using interrupt hardware scheduling and dispatching. To learn more about that, see

Threads as Interrupts as Threads and the RTSS 2011 paper.

The third part of the Sloth project, entitled Sloth on Time, investigates how to efficiently implement time-triggered real-time operating systems by making extensive use of timer cell arrays to dispatch time-triggered tasks and to implement related kernel services. To learn more about that, see

Efficient Hardware-Based Scheduling for Time-Triggered RTOS and the RTSS 2012 paper.

Publications

ECRTS 2014

Müller, Rainer ; Danner, Daniel ; Schröder-Preikschat, Wolfgang ; Lohmann, Daniel:
Multi Sloth: An Efficient Multi-Core RTOS using Hardware-Based Scheduling.
In: IEEE Computer Society (Veranst.):
Proceedings of the 26th Euromicro Conference on Real-Time Systems (ECRTS '14)
(Euromicro Conference on Real-Time Systems, Madrid, Spain, July 2014).
2014, S. 189-198. - ISBN 978-1-4799-5798-9
Stichwörter: Sloth, Operating Systems, Embedded Systems, Real-Time Systems, Multi-Core, MPCP, AUTOSAR, Infineon TriCore, Infineon AURIX
[doi>10.1109/ECRTS.2014.30] (BibTeX)

RTAS 2014

Danner, Daniel ; Müller, Rainer ; Schröder-Preikschat, Wolfgang ; Hofer, Wanja ; Lohmann, Daniel:
Safer Sloth: Efficient, Hardware-Tailored Memory Protection.
In: West, Richard (Hrsg.) : Proceedings of the 20th Real-Time and Embedded Technology and Applications Symposium (RTAS '14)
(IEEE Real-Time and Embedded Technology and Applications Symposium, Berlin, Germany, April 2014).
Los Alamitos, CA, USA : IEEE Computer Society, 2014, S. 37-47. - ISBN 978-1-4799-4691-4
Stichwörter: Sloth, Operating Systems, Embedded Systems, Real-Time Systems, Interrupt Handling, Safety, Memory Protection, MPU, OSEK, AUTOSAR, Infineon TriCore (BibTeX)

RTSS 2012

Hofer, Wanja ; Danner, Daniel ; Müller, Rainer ; Scheler, Fabian ; Schröder-Preikschat, Wolfgang ; Lohmann, Daniel:
Sloth on Time: Efficient Hardware-Based Scheduling for Time-Triggered RTOS.
In: Lu, Chenyang ; Almeida, Luis (Hrsg.) : Proceedings of the 33rd IEEE Real-Time Systems Symposium (RTSS 2012)
(33rd IEEE Real-Time Systems Symposium (RTSS 2012), San Juan, Puerto Rico, December 2012).
Los Alamitos, CA, USA : IEEE Computer Society, 2012, S. 237-247. - ISBN 978-0-7695-4869-2
Stichwörter: Sloth; Operating Systems; Embedded Systems; Real-Time Systems; Interrupt Handling; Timers; Time-Triggered Scheduling; OSEK; AUTOSAR; Infineon TriCore
[doi>10.1109/RTSS.2012.75] (BibTeX)

RTSS 2011

Hofer, Wanja ; Lohmann, Daniel ; Schröder-Preikschat, Wolfgang:
Sleepy Sloth: Threads as Interrupts as Threads.
In: Almeida, Luis ; Brandt, Scott (Hrsg.) : Proceedings of the 32nd IEEE Real-Time Systems Symposium (RTSS 2011)
(32nd IEEE Real-Time Systems Symposium (RTSS 2011), Vienna, Austria, November 2011).
Los Alamitos, CA, USA : IEEE Computer Society, 2011, S. 67-77. - ISBN 978-0-7695-4591-2
Stichwörter: Sloth; Operating Systems; Embedded Systems; Real-Time Systems; Thread Management; Interrupt Handling; OSEK; Infineon TriCore; Priority-Driven Scheduling; Blocking Threads
[doi>10.1109/RTSS.2011.14] (BibTeX)

RTSS 2009

Hofer, Wanja ; Lohmann, Daniel ; Scheler, Fabian ; Schröder-Preikschat, Wolfgang:
Sloth: Threads as Interrupts.
In: Baker, Theodore P. (Hrsg.) : Proceedings of the 30th IEEE Real-Time Systems Symposium (RTSS 2009)
(30th IEEE Real-Time Systems Symposium (RTSS 2009), Washington, D.C., USA, December 2009).
Los Alamitos, CA, USA : IEEE Computer Society, 2009, S. 204-213. - ISBN 978-0-7695-3875-4
Stichwörter: Sloth; Operating Systems; Embedded Systems; Real-Time Systems; Thread Management; Interrupt Handling; OSEK; Infineon TriCore; Priority-Driven Scheduling; CiAO; VAMOS
[doi>10.1109/RTSS.2009.18] (BibTeX)

SOSP-WiP 2009

Hofer, Wanja ; Lohmann, Daniel ; Scheler, Fabian ; Schröder-Preikschat, Wolfgang:
Sloth: Let the Hardware Do the Work!
In: ACM SIGOPS (Hrsg.) : Proceedings of the Work-in-Progress Session of the 22nd ACM Symposium on Operating Systems Principles (SOSP-WiP 2009)
(Work-in-Progress Session of the 22nd ACM Symposium on Operating Systems Principles (SOSP-WiP 2009), Big Sky, MT, USA, October 2009).
2009, S. 1.
Stichwörter: Sloth; Threads; Interrupts; OSEK (BibTeX)

Presentation Slides

The slides used for presentations on Sloth are usually rather sparse, so be sure to read the papers or contact us if you want more details.

People Involved in Sloth

Theses

Ongoing Theses

Finished Theses

Efficient Time-Triggered Execution in an Interrupt-Driven Real-Time Operating System (SLOTH_TT)
Bearbeiter: Danner Daniel (beendet am 2.7.2012, Ausarbeitung...)
Betreuer: Dr.-Ing. Wanja Hofer, Prof. Dr.-Ing. habil. Daniel Lohmann, Dr.-Ing. Fabian Scheler, Prof. i. R. Dr.-Ing. habil. Wolfgang Schröder-Preikschat


Entwurf und Implementierung einer MPU-basierten Task-Isolation für das OSEK-Echtzeitbetriebssystem Sloth (SLOTH_MPU)
Betreuer: Dr.-Ing. Wanja Hofer, Dipl.-Inf. Rainer Müller, Dipl.-Inf. Daniel Danner, Prof. Dr.-Ing. habil. Daniel Lohmann


Implementation of an Interrupt-Driven OSEK Operating System Kernel on an ARM Cortex-M3 Microcontroller (SLOTH_CM3)
Bearbeiter: Rainer Müller (beendet am 27.10.2011, Ausarbeitung...)
Betreuer: Dr.-Ing. Wanja Hofer, Prof. Dr.-Ing. habil. Daniel Lohmann, Prof. i. R. Dr.-Ing. habil. Wolfgang Schröder-Preikschat


OSEK Priority Level Sharing in the Interrupt-Driven Sloth RTOS (SLOTH_BCC2)
Betreuer: Dipl.-Inf. Rainer Müller, Dipl.-Inf. Daniel Danner, Dr.-Ing. Wanja Hofer, Prof. Dr.-Ing. habil. Daniel Lohmann


Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching (SLOTH_LINUX)
Bearbeiter: Müller Rainer (beendet am 02.07.2012, Ausarbeitung...)
Betreuer: Dr.-Ing. Wanja Hofer, Prof. Dr.-Ing. habil. Daniel Lohmann, Dr.-Ing. Fabian Scheler, Prof. i. R. Dr.-Ing. habil. Wolfgang Schröder-Preikschat