Sign in to follow this  
crazy_andy

create an ooperating system

Recommended Posts

I would like to learn how to create a basic operating system. I have searched google, and found a tutorial by sigOps, however its not very usefull. it tells you a few basic things then just gets really vague. does anyone know a good web tutorial / book that: explains what hardware I need goes through the stages of development, including: wrotomg drivers I/O basic graphics ... how to boot to the new OS what programs to use to write / compile it ... I know it will be hard, and take a while, but I would like to be able to get to the stage where I can start writing basic programs for it.

Share this post


Link to post
Share on other sites
Here are some links:

http://www.osdever.net/
http://my.execpc.com/CE/AC/geezer/osd/
http://www.openbg.net/sto/os/
http://database.sarang.net/study/OS/os-faq.html
http://www.nondot.org/sabre/os/articles/
http://visopsys.org/osdev/
http://linuxgazette.net/issue85/mahoney.html

And an article (from osdever.net):

http://osdever.net/bkerndev/Docs/intro.htm


That should answer all your questions.

Share this post


Link to post
Share on other sites
thanks for the links and the other topic. I looked through all of the links, in this topic and the other. I found a lot of intresting stuff, however i havn't found anything thats a full tutorial, that explains how to compile and boot the code and then shows you step by step how to create the different parts of the OS. the osdever one is good, but its just a group of links rather than a set order.

Is there any books that go through everything and explain all the code, so that by following the instructions in that book alone someone could make a simple OS and have enough understanding to then go off and develope it by themselves.

Share this post


Link to post
Share on other sites
Quote:
Original post by crazy_andy
Is there any books that go through everything and explain all the code, so that by following the instructions in that book alone someone could make a simple OS and have enough understanding to then go off and develope it by themselves.


Something like this?

Share this post


Link to post
Share on other sites
Interesting question for a 'beginners' forum :)

Anyway, a shameless commercial for my research group (although, I myself am not working with the OS guys): A simple implementation of an OS is MINIX. It may not be the most recent OS (although minix 2.0 is also recently released), but it might be a simpler example than the code of a real linux distribution (smaller, less assembler). Connected to this are the OS books by Andrew Tanenbaum.

Tom

Share this post


Link to post
Share on other sites
It will indeed take a while, I'm writing one and have spent a very short while, of around a month. I'm now just working on setting up paging correctly. I'm looking at maybe having something that I can write some basic applications for in around a year - I work slowly.

Another helpful site to have a look at is http://www.mega-tokyo.com/osfaq2 and the associated forums at http://www.mega-tokyo.com/forum/index.php

My personal opinion is that an operating system isn't necessarily something that you can do, beyond the basics, from a book. You can get some pointers on how to compile it and boot it (I'd recommend using GRUB, for what it's worth. There are loads of tutorials on it, and it's generally assumed you're using it rather than a homegrown bootloader), but really it's something that you'll do in your own style, getting some code if you need it, reading technical documents (I recommend spending a good length of time reading AMD and Intel's documentation, linked from osdever.net) and debugging. Debugging alone can take days to find the errors, as you'll have to write the debugging support obviously (although some emulators, Bochs for example include basic debugging) - there isn't an os for gdb or something to run on.

Another thing I'd recommend is a good *nix installation - a lot of the tools that you'd find useful (building your own GCC cross compiler for example) are a lot easier to use on (and in some cases, only exist for) a Linux machine.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this