At some point I would like to create an operating system.

I am quite familiar with C, and I know some basic assembly.

Can anyone give me ideas of applications to create to learn more about OS Design.

I would buy a book, but I don't have an extraordinary amount of money. I currently have the assembly book "Assembly Language Step-by-Step, Second Edition", by Jeff Duntemann.

I know that at the stage of coding I am at now I cannot produce an OS.

One last thing - I have been to the OSDev Forums and Wiki. It has taught me a lot.

In short try implementing some OS kernel services.

- I would recommend you take a look at anything that describes the kernel functions/algorithms.
---- A starting point.
---- Another one: Just implement a part of POSIX's specification. :)
- You can always get more info on how say RHEL implements a particular aspect. I seriously believe that in this world of WWW you should get every piece of info for free.
- You can download some example implementations from any free POSIX OS to for help if you need.

Personally I recommend that you read up a bit on the basic algorithms and data structs used in the OS impl before you jump into actually writing them.


Check out the sourceforge web site ... There you will see many operating systems in various partial stages of development ... Might make more sense / provide more learning to work on a partial os rather than start some thing totally new