The Case for Writing a Kernel in Rust
Title | The Case for Writing a Kernel in Rust |
Publication Type | Conference Paper |
Year of Publication | 2017 |
Authors | Levy, Amit, Campbell, Bradford, Ghena, Branden, Pannuto, Pat, Dutta, Prabal, Levis, Philip |
Conference Name | Proceedings of the 8th Asia-Pacific Workshop on Systems |
Publisher | ACM |
Conference Location | New York, NY, USA |
ISBN Number | 978-1-4503-5197-3 |
Keywords | Collaboration, human factors, Metrics, policy-based governance, Policy-Governed Secure Collaboration, pubcrawl, resilience, Resiliency, Safe Coding |
Abstract | 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. |
URL | https://dl.acm.org/citation.cfm?doid=3124680.3124717 |
DOI | 10.1145/3124680.3124717 |
Citation Key | levy_case_2017 |