Page 1 of 1

Starting an OS!

Posted: Fri Sep 20, 2002 1:34 am
by New OS maker
Hey,

I want to start an OS, but how do i start off, i am learning C++ & have Microsoft Visual C++ 6, Visual Basic 6, Visual Fox Pro 6 & all the other tools that come with visual studio 6 enterprise (i only dont have the msdn library) are all these tools enough to start off do i only need to know C++??

can i make an OS as powerfull as windows?

Please tell me WHERE do i start???

ciao. 8)

Re:Starting an OS!

Posted: Fri Sep 20, 2002 2:07 am
by Pype.Clicker
New OS maker wrote: Hey,

I want to start an OS, but how do i start off, i am learning C++ & have Microsoft Visual C++ 6, Visual Basic 6, Visual Fox Pro 6 & all the other tools that come with visual studio 6 enterprise (i only dont have the msdn library) are all these tools enough to start off do i only need to know C++??
no. almost all these tools will be almost useless. you need a good assembler (always comes handy at a time), a linker you can control (i mean telling it what byte you want to go at which place, etc). Starting with C++ isn't recommended because it requires a complex runtime support that you probably just won't have at start (exceptions support, RTTI, etc.) - but it is possible nonetheless...
can i make an OS as powerfull as windows?
I'm afraid not ... because the power of Windows is in its software library and you probably don't own $100.000.000.000 to force software companies to support your O.S.
However you can try to create something more powerful than windows ... which power is somewhere else ;)
Please tell me WHERE do i start???
learn, learn, learn ... find out what memory management is, what paging is about, the difference between preemptive and real-time scheduling, how to synchronize N readers and M writers to a shared resource, how your processor handles interrupts (and what they're all about), how a disk works, etc.

then the time will come when you'll have to make the design choices (microkernel ? exokernel ? unix/nt-like kernel ?, 16/32/64 bits ? GUI/commandline/speech ...)

then you'll start with real coding ;)
ciao. 8)