== Books == * [[http://pages.cs.wisc.edu/~remzi/OSTEP/|Operating Systems: Three Easy Pieces]] (free) * [[http://nobius.org/~dbg/practical-file-system-design.pdf|Practical File System Design with the Be File System]] by [[http://www.nobius.org/dbg/|Dominic Giampaolo]]. See also [[http://nobius.org/~dbg/fs-kit-0.4.tgz|File System Construction Kit]]. * [[http://greenteapress.com/wp/think-os/|Think OS]] and [[http://greenteapress.com/semaphores/index.html|The Little Book of Semaphores]] by Green Tea Press == Online courses == * [[https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-828-operating-system-engineering-fall-2012/index.htm|Operating System Engineering from MIT OpenCourseWare]] * [[http://csapp.cs.cmu.edu/3e/labs.html|Computer Systems: A Programmer's Perspective, 3/E (CS:APP3e)]] by CMU * [[https://viewsourcecode.org/snaptoken/|Snaptoken's tutorials]] walk through writing medium-sized software projects from scratch, step by step. Includes a text editor, garbage collector, and programming language. [[https://viewsourcecode.org/snaptoken/similarTutorials.html|List of similar tutorials]]. == Write-your-own OS == * [[http://osblog.stephenmarz.com/index.html|The Adventures of OS: Making a RISC-V Operating System using Rust]] * [[https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/|Baking Pi]]. OS development from scratch for RPi B+ and A+ (not updated for later versions).