Page 1 of 1

need to know the structure of Operating systems

Posted: Wed Mar 12, 2008 12:19 pm
by myinterest
Hi,

I am very much interested in knowing how operating system interact with hardware and other software.

I searched for many books on os, ever books details the os concepts like process, memory management, threads,scheduling etc.. But my requirement is to know, if i am the person who actually wants to develop my own os what are the things i need to know and how to relate those.
For example when we start the PC it boots and the bootloader loads the os.so which process actually interacts with that how we are going to design that process, what are the concepts need to understand in order to write os and all the other stuff. I know some part of theory like wht is process,concurrency,scheduling, multiprogramming, deadlock etc..But i want to know how we write our OS to implement these concepts and how its targetted to interact with the hardware and other software etc.

Please guide me regarding the understanding of these concepts and how i need to start looking into the os inorder to develop my own OS.
Please suggest me some books and links where i need to get some material or I ll be greatfull if any can guide me to understand those concepts.

Thanks & Regards,
Raghu.

Posted: Wed Mar 12, 2008 2:56 pm
by xyzzy
I would recommend buying and reading Operating Systems: Design and Implementation, it's a really good book.

Posted: Thu Mar 13, 2008 3:45 am
by AJ
Hi,

I would also recommend the freely available (in hard copy) Intel manuals - also see the sticky topic at the top of this forum for more book advice.

How are you at programming? If you are interested in hobby OS development, I would suggest (others may disagree), that you need the following:

1. Be able to do basic programming in Assembly Language - by 'basic programming', I mean be comfortable with reading other people's ASM code and be able to look up any instructions you do not know (Intel Manuals...), and be happy to write basic read/write control register and other support functions.

2. It will really help if you can read C/C++, whatever language you intend to program a hobby OS in. A lot of code samples you meet will be in C.

If I haven't said it enough already, get the Intel Manuals :) BTW, your reasons for starting in OS Dev are pretty much the same as mine were (I thought - "I'll build a hello world OS and stop there". Then I got the bug. Now I can stop any time I like... Good luck!

Cheers,
Adam

Have a look at linux 0.01

Posted: Thu Mar 13, 2008 3:50 am
by DeletedAccount
The linux kernel source code 0.01 is a good reference , but even after some hacking it doesnt work with some bioses ...