Skip to content

Operating System

Do it yourself

OSDev is by and far the best resource in this aspect. I reccomend building an understanding of ISAs before beginning in this project.

Which ISA to choose

Many people choose x86 as their first ISA as it has extensive documentation. This is a solid choice, however, I think Risc-V offers a compelling open source option thats fairly easy to work with.

Lecture Series

My favorite OS lecture series are by Prof. Geoffrey Challen. The assignments, sample exams, and lectures are all available at ops-class.

Working with Risc-V resources

Title Description Author
RISC-V OS Using Rust Good tutorial of how to work with Risc-v (in rust) Stephen Marz
Xv6-RISCV Source Unix-v6 in RISC-V (also availaible in x86) See Authors on readme
Xv6-RISCV Book Unix-v6 in RISC-V Book documentation Russ Cox, Frans Kaashoek, Robert Morris

Learn how its already done

Title Description Author
The design of the Unix Operating System Great to learn historical (simple + fundamental) OS design choices Maurice J. Bach
Design and Implementation of the 4.4BSD Operating System Covers transition into more modern OS design Kirk McKusick, Keith Bostic, Mike Karels,John Quarterman
Design and Implementation of the FreeBSD Operating System (2nd edition) Covers more modern OS design Kirk McKusick, George V. Neville-Neil, Robert Watson

Tools

  • Gnu toolchain (cross compiler version for target ISA)
  • GDB
  • Qemu
  • Gnu Make
  • Real hardware + jtag (or swd)