https://pdos.csail.mit.edu/6.S081/2021/xv6/book-riscv-rev2.p...
So far, it is saying all the things that need to be said once, once, and very clearly.
I still chuckle at another student's description of the class... "a crash course in enabling and disabling interrupts in order to prevent segfaults and pagefaults.
I came across a compiler bug when doing the course with gcc outputting incorrect ASM which was quite exciting as I've never come across one in the wild before. I really should check if that's been fixed and report it if not.
One of the requests on the course was to include time taken for the assignments as part of the submission. This was part of the (locally run) grading script, so even though I didn't submit I still completed it, luckily.
There were 11 assignments, and each took 5-10 hours apart from a few I got stuck on - I've got one assignment listed as being 30 hours (and I still remember the frustration. I nearly got to the point of emailing the course creators to ask for help but figured it out in the end as part of it was my aforementioned compiler bug).
On top of this there are two lectures a week (often ran over time with questions) so about 3 hours per assignment and some reading material.
I had used C before this course and was very rusty. This caused me to make some mistakes in the beginning, like pulling in standard libraries rather than using the ones as part of XV6, that someone new to C would likely not have made.
So in total I'd say 36 hours of lectures, 10 hours reading, 100+ hours doing assignments.
when i took operating systems, we extended linux with an eye to building reliable systems (we built stuff like fault injectors for syscalls) as that was where the professor's graduate work had been and made various toy modifications to actual linux subsystems.
maybe folks working with nachos or one of these other toy operating systems get more topical depth (implement a scheduler or vm subsystem from scratch or such), but i personally found the experience of making real modifications to linux to be both more interesting and rewarding. (although many in the course struggled)
https://news.mit.edu/2021/mit-put-unexpected-gains-work-imme...
I guess some of the GUI stuff is worth something, but you can just make a ray traced OS with Unity so.