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)