In this course, we are going to build an operating system in Rust programming language. The operating system that we will build targets AArch64 (ARM) architecture, and it will run on Raspberry Pi 3.

These are the topics that we will cover in this course:

We built our labs based on the materials originally developed for CS140e: An Experimental Course on Operating Systems by Sergio Benitez. We have ported it to use newer toolchains such as Rust 2018 edition, cargo-xbuild (instead of xargo), and no_std Rust with a minimal shim library (instead of custom built std). We’ve also developed it further to include topics such as virtual memory management, multicore scheduling, mutex designing, and implementing a networking stack.