We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

A microkernel written in Rust: Porting the UNIX-like Redox OS to Armv8

Formal Metadata

Title
A microkernel written in Rust: Porting the UNIX-like Redox OS to Armv8
Subtitle
A case study of Rust as a language for writing microkernel based compositions
Title of Series
Number of Parts
561
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
This talk is about my experiences porting the Rust language based Redox OS stack to the Arm v8 architecture. The talk uses this theme to discuss the general importance of microkernel architecture in safety critical domains, the trends I've seen in safety themed system design - especially around the Arm architecture, the viability of the Rust language for safety themed system software construction and the design of the Redox OS stack - a stack written in Rust on top of the Redox microkernel. I work at Arm on safety critical software architecture. My area of interest is at the intersection of operating system architecture, safety focused programming models and safety themed extensions to the Arm architecture. Microkernels are a justifiably popular design choice in safety critical domains with most of the dominant OS' in the proprietary realm being microkernel implementations. Rust is a modern systems programming language with features that assist with safe software development. Rust focuses on memory safety, especially in concurrent execution scenarios and presents functional and imperative design patterns - traditionally the domain of very high level interpreted languages - in an accessible form to system software programmers. The Redox OS is a UNIX like operating system with a microkernel core - all written in Rust. With version 8 of the Arm architecture, Arm became 64-bit capable. The Arm architecture has continued to evolve with new safety and security themed extensions being added such as hardware support for memory tagging, pointer authentication and others. I wanted to test the claims made by the Rust language community about the safety centric properties of Rust. I also wanted to explore how microkernel design can leverage the evolving Arm architecture. Porting Redox OS to Arm v8 presented me with an opportunity to explore all of the above. In this talk, I would like to share my experiences of the above while describing the design of Redox OS.