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.
