Visible to the public The Case for Writing a Kernel in Rust

TitleThe Case for Writing a Kernel in Rust
Publication TypeConference Paper
Year of Publication2017
AuthorsLevy, Amit, Campbell, Bradford, Ghena, Branden, Pannuto, Pat, Dutta, Prabal, Levis, Philip
Conference NameProceedings of the 8th Asia-Pacific Workshop on Systems
Conference LocationNew York, NY, USA
ISBN Number978-1-4503-5197-3
KeywordsCollaboration, human factors, Metrics, policy-based governance, Policy-Governed Secure Collaboration, pubcrawl, resilience, Resiliency, Safe Coding

An operating system kernel written in the Rust language would have extremely fine-grained isolation boundaries, have no memory leaks, and be safe from a wide range of security threats and memory bugs. Previous efforts towards this end concluded that writing a kernel requires changing Rust. This paper reaches a different conclusion, that no changes to Rust are needed and a kernel can be implemented with a very small amount of unsafe code. It describes how three sample kernel mechanisms--DMA, USB, and buffer caches--can be built using these abstractions.

Citation Keylevy_case_2017