Multiprogramming a 64 kB Computer Safely and Efficiently
Amit Levy, Bradford Campbell, Branden Ghena, Daniel Giffin, Pat Pannuto, Prabal Dutta, and Philip Levis
Published in Proceedings of the 26th ACM Symposium on Operating Systems Principles (SOSP 2017), October 2017.
Low-power microcontrollers lack some of the hardware features and memory resources that enable multiprogrammable systems. Accordingly, microcontroller-based operating systems have not provided important features like fault isolation, dynamic memory allocation, and flexible concurrency. However, an emerging class of embedded applications are software platforms, rather than single purpose devices, and need these multiprogramming features. Tock, a new operating system for low-power platforms, takes advantage of limited hardware protection mechanisms as well as the type-safety features of the Rust programming language to provide a multiprogramming environment for microcontrollers. Tock isolates software faults, provides memory protection, and efficiently manages memory for dynamic application workloads written in any language. It achieves this while retaining the dependability requirements of long-running applications.
Data (WWW), Paper (1MB)
BibTeX entry
@inproceedings{levy17-tock, author = "Amit Levy and Bradford Campbell and Branden Ghena and Daniel Giffin and Pat Pannuto and Prabal Dutta and Philip Levis", title = "{Multiprogramming a 64 kB Computer Safely and Efficiently}", booktitle = "{Proceedings of the 26th ACM Symposium on Operating Systems Principles (SOSP 2017)}", year = {2017}, month = {October} }