This paper describes the experience, problems and successes found in implementing a unix-like operating system kernel in rust. Using the basic design and much of the lowest-level support code from the Weenix operating system written for CS167/9 I was able to create a basic kernel supporting multiple kernel processes scheduled cooperatively, drivers for the basic devices and the beginnings of a virtual file system. I made note of where the rust programming language, and its safety and type systems, helped and hindered my work and made some, tentative, performance comparisons between the rust and C implementations of this kernel. I also include a short introduction to the rust programming language and the weenix project.

Apparently an undergrad implemented Weenix in Rust last year. Redox OS folks might be interested in this.

Note: This is an archived post from my unmaintained Tumblr blog

Posted with tags weenix operating systems brown university paper rust redox unix redox os