I probably would. I’m also in OMSCS and the two operating systems classes offered cover a very different spectrum (GIOS is more about learning the Linux OS interface and AOS is about experimental concepts in OS development). There isn’t a “back to basics” OS class unfortunately.
Thanks for feedback, I am considering both (a) Linux interface (b) Back to basics building at least a decent multitasking kernel with memory management.
I think building some sort of OS from scratch would be a wonderful class. I've actually thought about what _I_ would like to see in a class like this before. These ideas might be useful to you:
1. Use a widely available architecture. This practically means x86 or x86_64. Nothing against RPis, for example, it's just that _everyone_ is more likely to have some sort of Intel desktop/laptop before they even have an RPi.
2. Start from the very basics: booting up and go into a NOP loop should be one of the first lessons.
3. Don't need to go too far: basic but functional implementations of things like memory management, multitasking, file systems, etc. are enough.
4. By the end, have a simple OS that boots up to a basic shell, is capable of reading/writing to something like FAT16 and can run multiple tasks in parallel.
We definitely need more course that go down to deep specifics of how OSes work, are implemented.
(I feel like Tanenbaum's Minix book the last excellent piece of literature in the area that came closest. But of course, if you're aware of other literature on this, let me know!)
Thank you for feedback. Do you think $49 - $79 would be justified for a %100 practical course, with about 2.5 hours of dense (not sparse to fill time) material?