Hacker News new | past | comments | ask | show | jobs | submit login
MikeOS - simple OS you can use for learning about how OSes work (berlios.de)
19 points by nickb on April 10, 2008 | hide | past | favorite | 4 comments



Other good ones:

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.


This seems a little too primitive. If you want to learn about things like preemptive multi-threading, virtual memory etc... you might be better served looking at something like Minix or XINU. Not to mention that C code is going to be easier to wrap your head around than all assembler.

http://www.cs.purdue.edu/research/xinu.html

http://www.cs.purdue.edu/homes/dec/xsoft.html

http://www.minix3.org/


This reminds me of CS 350...we used Nachos, here is a good walk through.

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.


I agree this is great for learning purposes, Assembler code looks like well documented, hopefully it will keep small as it is now, I think simplicity is the most important feature of this OS.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: