The case for writing a kernel in rust

Amit Levy, Bradford Campbell, Branden Ghena, Pat Pannuto, Prabal Dutta, Philip Levis

Research output: Chapter in Book/Report/Conference proceedingConference contribution

33 Scopus citations

Abstract

Decades of research has attempted to add safety mechanisms to operating system kernels, but this effort has failed in most practical systems. In particular, solutions that sacrifice performance have been generally avoided. However, isolation techniques in modern languages can provide safety while avoiding performance issues. Moreover, utilizing a type-safe language with no garbage collector or other runtime services avoids what would otherwise be some of the largest sections of trusted code base. We report on our experiences in writing a resource efficient embedded kernel in Rust, finding that only a small set of unsafe abstractions are necessary in order to form common kernel building blocks. Further, we argue that Rust's choice to avoid runtime memory management by using a linear type system will enable the next generation of safe operating systems.

Original languageEnglish (US)
Title of host publicationProceedings of the 8th Asia-Pacific Workshop on Systems, APSys 2017
PublisherAssociation for Computing Machinery, Inc
ISBN (Electronic)9781450351973
DOIs
StatePublished - Sep 2 2017
Externally publishedYes
Event8th ACM Asia Pacific Conference on Systems, APSys 2017 - Mumbai, India
Duration: Sep 2 2017 → …

Publication series

NameProceedings of the 8th Asia-Pacific Workshop on Systems, APSys 2017

Other

Other8th ACM Asia Pacific Conference on Systems, APSys 2017
Country/TerritoryIndia
CityMumbai
Period9/2/17 → …

All Science Journal Classification (ASJC) codes

  • Computer Networks and Communications
  • Hardware and Architecture

Fingerprint

Dive into the research topics of 'The case for writing a kernel in rust'. Together they form a unique fingerprint.

Cite this