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: |
---|---|
RTAS 2014 |
Danner, Daniel ; Müller, Rainer ; Schröder-Preikschat, Wolfgang ; Hofer, Wanja ; Lohmann, Daniel: |
RTSS 2012 |
Hofer, Wanja ; Danner, Daniel ; Müller, Rainer ; Scheler, Fabian ; Schröder-Preikschat, Wolfgang ; Lohmann, Daniel: |
RTSS 2011 |
Hofer, Wanja ; Lohmann, Daniel ; Schröder-Preikschat, Wolfgang: |
RTSS 2009 |
Hofer, Wanja ; Lohmann, Daniel ; Scheler, Fabian ; Schröder-Preikschat, Wolfgang: |
SOSP-WiP 2009 |
Hofer, Wanja ; Lohmann, Daniel ; Scheler, Fabian ; Schröder-Preikschat, Wolfgang: |
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.
- Slides of the RTAS 14 conference talk (given on April 15, 2014, in Berlin, Germany)
- Slides of the RTSS 12 conference talk (given on December 7, 2012, in San Juan, Puerto Rico)
- Slides of the RTSS 11 conference talk (given on November 30, 2011, in Vienna, Austria)
- Slides of the RTSS 09 conference talk (given on December 3, 2009, in Washington, D.C., USA)
- Slides of the SOSP 09 work-in-progress talk (given on October 13, 2009, in Big Sky, MT, USA)
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