MikeOS - simple OS you can use for learning about how OSes work
mikeos.berlios.de
mikeos.berlios.de
eCos - it's an embedded system used in the real world, so it's not super simple, but since its aims are less universal, there is less code and therefore it's easier to follow what's going on.
Minix - this has really clear, readable code. I once needed a floppy driver for eCos and ended up porting the minix code, because the Linux and *BSD drivers were so hairy.
http://www.cs.purdue.edu/research/xinu.html
http://www.cs.duke.edu/%7Enarten/110/nachos/main/main.html
I got a good laugh from the marking scheme, I had forgot all about this:
Normal = (0.02*A0 0.10*A1 + 0.10*A2 + 0.13*A3) + 0.20*M + 0.45*F
Exam = (0.20*M + 0.45*F ) / 0.65
Assigns = (0.02*A0 + 0.10*A1 + 0.10*A2 + 0.13*A3 )/ 0.35
if ( Exam < 50% ) {
Course Grade = min (Normal, Exam)
} else {
Course Grade = Normal
}
Then on the first day of class they tell you if you fail the assignments, you fail the course.I really enjoyed taking that course, it was very interesting material.