943,523 Members | Top Members by Rank

Ad:
You are currently viewing page 1 of this multi-page discussion thread
Mar 25th, 2004
-1

designing an operating system

Expand Post »
I'm not sure if this is the right spot to put this. I was wondering how would you create and operating system like linux or windows or novell. What programs would you use. I've always wondered how it was done. I would love to learn to create my own.
Similar Threads
Reputation Points: 29
Solved Threads: 1
Junior Poster
viperman224 is offline Offline
183 posts
since Dec 2003
Mar 26th, 2004
0

Re: designing an operating system

Quote originally posted by viperman224 ...
I'm not sure if this is the right spot to put this. I was wondering how would you create and operating system like linux or windows or novell. What programs would you use. I've always wondered how it was done. I would love to learn to create my own.
To achieve this you would need to program in a low-level language such as ASM (usually), but hey this is a C++ forum so I'll explain how to do it in C++.

It is essential to understand the heart of the OS, which is called the kernal, is the MOST important part of an OS. Fancy graphics and SVGA coding can all come after you have developed a solid hardcore kernal. Now as for what programs you would use, believe it or not you can use any standard command line compiler or IDE (such as Borland or MSVC++). The most important thing about using an OS is how its loaded. All hardrives and bootable media have something called boot sectors (typcal near front cylinders of the media) that allow "execution" of your OS. As long as you comply with specific system standards and handle all your RAM right then your OS should be properly loaded. Making an OS is a in-depth subject, when I first took a shot at it the below tutorials really helped me out. Check it out.

Tutorial on making a C/C++ OS:

Part 1:
http://www.1cplusplusstreet.com/vb/s...=6718&lngWId=3

Part 2:
http://www.1cplusplusstreet.com/vb/s...=6743&lngWId=3
Reputation Points: 28
Solved Threads: 9
Posting Whiz in Training
BountyX is offline Offline
222 posts
since Mar 2004
Mar 26th, 2004
0

Re: designing an operating system

This was originally posted in the tutorials section of the site. It got moved to C++. I think Computer Science is more appropriate for it so it's being moved once again
Administrator
Staff Writer
Reputation Points: 1422
Solved Threads: 162
The Queen of DaniWeb
cscgal is offline Offline
13,645 posts
since Feb 2002
Mar 26th, 2004
0

Re: designing an operating system

Sorry if I'm being in any way rude by this, but do you understand the undertaking you would have to go through in creating an OS? Bill Gates has a little empire for a reason. The OS would have to be adaptable to modern security risks and have the ability to adapt to software designers specifications.

I admire your desire to build one, but understand it is quite the task.
Reputation Points: 10
Solved Threads: 1
Light Poster
ajax-the-techie is offline Offline
39 posts
since Mar 2004
Mar 27th, 2004
0

Re: designing an operating system

he can try to build a kernal, thats what counts, and proven by linux a kernal can be a one man job, who knows maybe he will make an awsome kernal and distribute the source and in 4 years it will be graphical...

but in the rare occerence of the stated situation above, the most important thing is by trying to develop an OS he will understand the guts of how an OS works. Good Luck, despite an OS being a huge task and a duanting procedure, you can still keep it small and practial, creating nessisary OS's to repair computer complications would be a good application.

EDIT: remember an OS is just a system level environment, hello world can be an OS if developed and installed correctly.
Reputation Points: 28
Solved Threads: 9
Posting Whiz in Training
BountyX is offline Offline
222 posts
since Mar 2004
Mar 27th, 2004
0

Re: designing an operating system

Reputation Points: 47
Solved Threads: 2
Junior Poster in Training
infamous is offline Offline
77 posts
since Mar 2004
Mar 28th, 2004
0

Re: designing an operating system

the linux kernel was a one man job 13 years ago... with all due respect to Torvalds (and the man deserves a lot of it), I doubt he would be able to write the gargantuan beast we have now, all on his own

well, he probably could, but it would be more complicated now by orders of magnitude than what it was before...

but yes, you're of course right. viperman224 can write a basic dos. its quite an undertaking though...

I would recommend doing a LFS install first, so that you see how an OS these days fits together (as good as an article could be, nothing beats experience). better to see what end result you want than to start writing c without a clear image of what you want as a goal

or maybe a LFS of an older kernel would be better...they would be simpler without all the extra security and networking routines. you can always learn about those later...the important bit is to understand how dos works

but yeah. an interest in doing something is the first step towards much fun (and long nights...and an annoyed girlfriend...)
Reputation Points: 11
Solved Threads: 0
Newbie Poster
Olio is offline Offline
18 posts
since Mar 2004
Apr 2nd, 2004
0

Re: designing an operating system

The most obvious implementation is to write a cooperative multitasking system whereby when one application has finished doing stuff with the CPU, it calls some kind of yield function, or calls a wait for message function.

In the implementation of that you then have to switch to another task if necessary - possibly by calling setjmp() and longjmp() to save the stack and the cpu context (Assuming this is in C)

Otherwise you'll have to switch stack and save the CPU context manually, which will be CPU specific and may involve assembly language.

Once you've figured out which process needs to run you can then call longjmp() back to the context of that process, and continue it from where it left off. ect.....


On the other hand I would not suggest a DOS ......It sounds like a fun project, but it seems to me that people doing these kinds of projects are building desktop environments/GUI's not an operating systems. With that said, if I may make a suggestion, try using a MACH base rather than a DOS base. Remember the whole system is limited by the functionality of the kernel, plus MACH will just make a lot of things much easier on account of it's messaging system being, well actually existing. This will enable you to not only easily develop software for it, but also to easily extend its functionality.
Make any sense?
Reputation Points: 46
Solved Threads: 1
Banned
WEATHER CHANNEL is offline Offline
150 posts
since Jan 2004
May 13th, 2004
0

Re: designing an operating system

It may be too much for 1 person...count me in on it
Reputation Points: 11
Solved Threads: 0
Newbie Poster
Snyper is offline Offline
2 posts
since May 2004
May 17th, 2004
0

Re: designing an operating system

can you create an os by using visual basic 6...? its all i've got....
Reputation Points: 10
Solved Threads: 0
Newbie Poster
jchaike is offline Offline
9 posts
since May 2004

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
This thread is currently closed and is not accepting any new replies.
Previous Thread in Computer Science Forum Timeline: Help with Regex?
Next Thread in Computer Science Forum Timeline: AI text based chatroom in Java





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC