Does anyone have any OS course / book recommendations?
I've worked my way through the excellent MIT course on xv6 [0], but I'm not sure what to work on next. Something related to Linux or one of the BSDs would be nice to see how things are done in the real world.
I cannot recommend this MIT course enough for those getting started. The projects are set up in a very nice way (i.e. if you can't complete one tricky assignment, you don't need it as a prereq for later ones) and the code is very simple. They've also gone to great lengths to set it up in a simple way (e.g. using cross-compilation for RISCV on qemu). It's also a great experience to really understand OS, as you'll make mistakes that will leave you scratching your head until you realize you messed up your page table and yeeted your kernel stack out of your address space.