Abstraction Layers and Energy Efficiency in TockOS, a Rust-based Runtime for the Internet of Things
Examensarbete för masterexamen
Computer systems and networks (MPCSN), MSc
The advent of the Internet of Things (IoT) has led to an increasing number of connected devices with the need to run several applications concurrently. This calls for an operating system with a complete network stack, customized for embedded systems with the requirements to be up and running for very long periods of time. In this thesis, we demonstrate how Tock, an operating system written in Rust, easily can be ported to a new hardware platform and provide similar results in terms of performance and energy-efficiency as other state-of-the-art operating systems for the IoT. Our thesis revolves around the CC26xx family of microcontrollers from Texas In- struments. These microcontrollers provide a wide range of features for power man- agement, such as peripheral clock management, and support for several different power modes. We show how software constructs can be used to facilitate the use of these power saving resources and decide what power mode to use depending on the workload. Besides comparing Tock with its competitors, we document the process of working with Rust in an embedded setting and research if Tock manages to leverage the features of Rust to its advantage through an adequate abstraction level.
Data- och informationsvetenskap , Computer and Information Science