Welcome to AstaHost - Dear Guest , Please Register here to get Your own website. - Ask a Question / Express Opinion / Reply w/o Sign-Up!
Replying to Operating System Creation?
Posted 26 September 2009 - 02:25 PM
OK, here is my own experience in trying to create an Operating System. The OS s friend of mine and I had in mind was to be a fully Arabic operating system to be sold commercially in Egypt (where I live) and other Arab countries. It was a very intense project - one which, unfortunately, we abandoned after about 10 months of work - but I hope some of the hands-on insight might be of help to you.
First of all, let me reiterate that, indeed, persistence and mental stability (a better term might be resilience) will be your true ultimate challenge here. Technical knowledge can be acquired. Information and details can be researched, asked for, or even created from the ground up if needs be. But you have to have an absolutely compelling reason to finish this project, and you need to know this reason, this purpose, before you start even thinking about the outline of your project.
Now, the programming languages we used for this operating system were C and Assembly, with the assembly code usually included in the C source files, except for the boot-loader and other low-level functions, for which assembly code was written separately.
I believe that the way to go about this is to, first, clearly define what you want out of your operating system. Is it simply a learning experience? Are you planning to continue developing for your own personal use? Do you intend to go commercial some time in the future?
Once you know what you want your operating system to do, you're in a much better position to research what you need. There are some very good online communities, books, and tutorials that will help you every step of the way, but you need to know which ones you're going to focus on first. Otherwise, you'll completely waste your time, energy, and motivation reading a ton of material you don't even need.
Unfortunately, I don't have the links to those resources anymore. However, as "tansqrx" mentioned above, I personally found Tanenbaum's book, Modern Operating Systems, an absolute, unqualified life-saver. It probably won't be your be-all-and-end-all in your pursuit of gaining knowledge about this subject, but it's definitely an outstanding starting-point. In some occasions - at least in my case - I didn't find his explanations and examples totally satisfactory, but they sure did let me know where to look for more information. If I remember correctly, he heavily leaned toward using demonstrations of his own open-source, UNIX-clone operating system, MINIX, which I found rather helpful, since I already had the source code available.
The last piece of advice I could give you here is: don't give up! This is going to take a lot of time -- a lot more than you realize, expect, or exaggeratedly estimate. But if you're the type who enjoys learning new concepts and facing big challenges, then it's definitely an undertaking worthy of your time and effort.
Best of luck :-)
Posted 24 September 2009 - 05:40 AM
Also MIT Operating Systems class is a must read. There is a lot of material available from MIT's opencourse ware site. Do check out some of the forums related to operating system like SkyOS, and linux distros. You'll find many people studying operating systems. They'll guide for sure.
Posted 23 September 2009 - 07:37 PM
Persistence and Mental Stability - I once spent two weeks at work (where I was porting an operating system fulltime) trying to work out a bug that was fixed by changing one bit. Not only that, but all the documentation on the processor that I found was either lacking this critical piece of information or was very misleading, close enough to being actually wrong (and this includes the manufacturer's official documentation). Be prepared to spend a good portion of your time beating your head against a wall.
Posted 22 September 2009 - 08:08 PM
i would like to do my own OS,but it will have to wait for a few years first until i get all knowledge on that kind of stuff before even trying to do it
Posted 22 September 2009 - 06:24 PM
Also there are few educational projects which tells you how operating system works. Check Mikeos and Pintos project. TomOS is fork of MikeOS. Nanoos is written in C++, if you're C++ user then do check it out.
Some good books are already mentioned by "@tansqrx" so do check them out.
Posted 22 September 2009 - 06:03 PM
• Modern Operating Systems (3rd Edition) - http://www.amazon.co...m/dp/0136006639
• Operating System Concepts - http://www.amazon.co...z/dp/0470128720
• Operating Systems: A Systematic View (6th Edition) - http://www.amazon.co...h/dp/0321267516
I remember taking my operating systems class in college and I had no idea an operating system was so complicated. First you will have to have an intimate relationship with the hardware so most of your programming should be in assembly. Next you will have to create routines to handle the handoff between the BIOS (assuming an Intel architecture) and the OS. Next you need to create drivers for at least the keyboard and monitor. After that you will need some APIs to make the OS useable to other programs. That’s about as much advice I can give you because I have never had the need ro ambition to create my own OS.
Posted 19 September 2009 - 10:41 PM