Jump to content



Welcome to AstaHost - Dear Guest , Please Register here to get Your own website. - Ask a Question / Express Opinion / Reply w/o Sign-Up!

Toggle shoutbox Shoutbox Open the Shoutbox in a popup

@  yordan : (25 May 2013 - 09:50 PM) Hi, Agyat What's New?
@  yordan : (25 May 2013 - 07:59 PM) Yay, Shoutbox Is Back! Yahooo!
@  agyat : (24 May 2013 - 05:15 PM) O Dear, Where Are You? Without Your Words This Sb Is ..
@  agyat : (23 May 2013 - 01:23 AM) Wow! Mr. Sb Back Home.
@  OpaQue : (23 May 2013 - 12:44 AM) Ting
@  OpaQue : (24 April 2013 - 02:44 PM) I guess, Time to run Mycent script.
@  OpaQue : (24 April 2013 - 02:43 PM) wow.. not much spam. except habatt posting lot of links.. :P
@  yordan : (23 April 2013 - 01:04 PM) You're welcome, agyat. Nice to have been helpful. Second lesson: try full words, "you" instead of "EW".
@  agyat : (23 April 2013 - 05:03 AM) @YORDAN: tHANK EW FOR YOUR FIRST LESSON.   :D
@  yordan : (22 April 2013 - 09:43 PM) @agyat : "why don't you help me", or "please help me", or "please teach us"
@  yordan : (22 April 2013 - 09:42 PM) welcome back, velma
@  velma : (22 April 2013 - 07:51 AM) **yawns** Good to be back, wonder what is going on here :)
@  agyat : (22 April 2013 - 03:50 AM) Oh! so, why don't help me learn english..
@  yordan : (21 April 2013 - 08:38 PM) The goal mentioned by shiu : "learning english, learning computer"
@  agyat : (21 April 2013 - 06:31 PM) WHAT GOAL?
@  yordan : (20 April 2013 - 10:39 AM) yes, that's our goal. simultaneouly learning English and teaching/learning computer using.
@  shiyu : (20 April 2013 - 07:30 AM) learning english,learning computer
@  yordan : (19 April 2013 - 01:11 PM) Oh, I see, it's just a trick in order to force people looking at your texte. Somehow smart, maybe.
@  agyat : (19 April 2013 - 02:54 AM) And of course I know it is not SEO friendly.
@  agyat : (19 April 2013 - 02:52 AM) There may be two possible answers for that ....


1) Shout was posted using mobile keypad.

2) To force people read content carefully and/or with more concentration.

Replying to Operating System Creation?


Post Options

    • Can't make it out? Click here to generate a new image

  or Cancel


Topic Summary

Entheone

Posted 26 September 2009 - 02:25 PM

Hi there OutlawGuy,

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 :-)

starscream

Posted 24 September 2009 - 05:40 AM

Yes. Sigops is very interesting series. Also "Linux from scratch" is one good resource for those who want to build linux-style OS from scratch. More books to list : Andrew Tannenbaum's Modern Operating Systems, Operating System Concepts, Operating Systems Implementation - Prentice. There are some Old Books on XINU series. Like, Operating System Design with Xinu and Operating System Design-Internetworking With XINU, Vol. II.

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.

tansqrx

Posted 23 September 2009 - 07:37 PM

I really like the SIGOPS link. I particularly find one prerequisite in the introduction section to be very telling.

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.


Eggie

Posted 22 September 2009 - 08:08 PM

it's good to be interested in this sort of stuff....but i think its more complex than i even think,and i think its very hard to do this kind of project with not much of experience with operating systems and "pc's inside" ....
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 :D

thanx..Eggie

starscream

Posted 22 September 2009 - 06:24 PM

If you want to create your own operating system then SIGOPS tutorial series is for you. Also i found this tutorial interesting. And while you're learning about operating system. Make sure you pay attention to small things like interrupt, device drivers, display, sound and interface etc. Some more details about this are covered in this tutorial. You can also learn from other operating system. For example, how linux is created from tutorial like "Linux from scratch". For UNIX like Clone, check this. If you're C# user then there is one project going on called as "SharpOS".

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.

tansqrx

Posted 22 September 2009 - 06:03 PM

If you are really serious then I would recommend starting out with a book like the following:

• 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.

outlawguy89

Posted 19 September 2009 - 10:41 PM

I always wanted to creat my operating system (not a great one that could compete with Mac or Windows of course), but a simple little language that could host programs (written by me). Is there any one way to start on creating the system, and is there a commonly used programming language I would need to learn to start writting it?

Review the complete topic (launches new window)