Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
good to see your teaching OS Design, why not build your own skeleton and have them work on that? If you are in a time crunch then I'd go with the most non-object oriented code you could find, so stay away from FreeBSD code or Linux code, (puke). Are you going to teach the bootstrap loader or use GRUB? I'd use GRUB for teaching I guess because it might be a whole semester just with that, but kick that around for 300 levels. I would stay away from the tanenbaum books, his code is object oriented and nasty. But I hear that some Uni's once used his books for teaching, so whatever its nasty. Perhaps you should pin-point a specific aspect such as PCI or a certain controller like FDC to start. The whole thing in 3 months is too fast.
What's so wrong with object-oriented code for a beginner? "C-style" object orientation in C is fairly fundamental to creating readable programs - objectless idioms are available but that would leave you without the ability to use structs, so why would you reccommend that for a teaching course?
I could check out a book for that.
I bet it takes you more time to read a book about operating systems theory and understand it than it takes me to read and understand a FDC datasheet. The best university courses are more theory based, because technologies come and go and teaching students just one language, or just very specific details of something can leave them without any relevant knowledge at all in a few years time.
And let's not feed the troll the moment his ban got lifted
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
AntiRush wrote:The Kaya project has been designed for exactly that. It's divided into stages and depending on your course you can give students pre-built stages to start with if you desire. It's a pretty large project but every CS major that goes through Xavier University (and more than a few other undergrad CS programs) does it in a 3 month semester.
Disclaimer: I'm currently an undergrad at Xavier.
That's interesting. Do you have a link to the Xavier course that uses Kaya?
AntiRush wrote:The Kaya project has been designed for exactly that. It's divided into stages and depending on your course you can give students pre-built stages to start with if you desire. It's a pretty large project but every CS major that goes through Xavier University (and more than a few other undergrad CS programs) does it in a 3 month semester.
Disclaimer: I'm currently an undergrad at Xavier.
That's interesting. Do you have a link to the Xavier course that uses Kaya?