Where to start?

  • Nobody/Anonymous

    I whant to learn how to make a OS, "didactic purpose" I whant that ;)

    What skills I need?... math, know a lot of ADT's, know how to analize an algorithm, know a lot the hardware?, what I need to know?

    If you can say me where to start (reading the code), and reading some sources will be good.

    • Andrea Righi

      Andrea Righi - 2004-01-07

      WOW! hardly question... :)  Unfortunately there are not books that can answer to your question... but probably the best book about osdev is "Operating Systems: Design and Implementation" - Andrew S. Tanenbaum and Albert S. Woodhull.

      First of all I think you need a very very good knnowledge about C programming; if you think to develop your OS using VBasic, Pascal, COBOL, etc good luck! :))

      Then you have to focalize a particular architecture (for example i386) and learn as much as possible about this. You will think about portability in the future... This means also you have to know a kind of assembler: I suggest to you to learn the GNU assembler, which allows to use __inline__ code in your C programs.

      About the i386 architecture are <indispensable> the set of Pentium manuals at http://www.intel.com/Pentium4/manuals in particular the 3rd volume: System Programming Guide.

      You can find a lot of materials (docs, tutorials, link) for newbie at http://osdev.neopages.net probably this is the best place to start.
      Another place where you can find a lot of resources is http://www.nondot.org/sabre/os/articles.

      An easy way to begin an OS could be also to develop your OS as a process that runs on linux, then using the Flux OS kit (www.cs.utah.edu/projects/flux) that allows to use the BSD & linux driver on your OS... this is probably the easy way, in particular for the debugging, but not a good way if you like to learn the  architecture...

      Welcome in the community of OS developers!!! :))

    • David

      David - 2004-01-07

      Thanks for the welcome, at the moment I know a little about nasm, I think I can underrstand gas with this knowledge.

      I have a question about the oskit, is like bochs?


      About the link on p4 manuals give me a not found page, but I have some links:

      For Intel, and for AMD:

      Time a go I order the ones from Intel, but never come there.. my mom say my that some day she look the fedex bus, but aparently they dont let nothing here, I will re-order they. For the AMD, they are not sended all the world. Hope this help too.

      Have a nice day or night.

    • Andrea Righi

      Andrea Righi - 2004-01-08

      >I have a question about the oskit, is like bochs?

      No, the oskit is a set of libraries that provides basic low-level services in C language.
      For example these libraries provide many standard string, memory, POSIX-like routines, etc...
      You can use it to compile your own kernel. Go here for details: http://www.cs.utah.edu/flux/oskit/html/oskit-wwwch1.html

      >About the link on p4 manuals give me a not found page, but I have some links:

      Oops! The correct link is http://www.intel.com/design/Pentium4/manuals/
      Here you can find the manuals in PDF. Your p4 manuals link can be used to order a printed copy...

    • David

      David - 2004-01-09

      Ohh!!!, now I understand, then I can use this for not start literally from scratch, and test the output with bochs, nice!.

      Have nice day.

    • David

      David - 2004-01-09

      mmm, by the way, I am downloading the snapshoot of St. Patrick's Day. ;), thx


Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks