Qbasicnews.com

Full Version: Writing a OS...
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5
hey im currently working on a OS...
Any Ideas???
Or even some help?
lookin to put toghether a team of about 5 people...
version 1.0 will only be text and maybe later on I'll use GUI...
THANKS, Justin

:rotfl: :rotfl:
:bounce:
sorry, mate, you cant write an OS in QB. Its impossible.

What you are probably thinking of is a gui, or fake OS.

Try learning the true definition of "OS"
yeah sure, count me in. Which drivers do you want me to write? :rotfl:
About a month ago I would have liked to have joined a team geared towards a fake os. But now that FreeBASIC is out I just don't see the point anymore. My advice is that you go learn assembly and C and try to make a real operating system. :wink:
If you want to write a DOS clone, yeah go ahead and learn C/asm. It'll be easier than you think - the real mode BIOS will do all the hard stuff for you.

But if you want XMS support, or even if you merely want the OS to be 32 bit monotasking, like a protected mode DOS - forget it, you'll never find enough documentation online.

There are plently of moldy-old references all over the internet for real mode BIOS interrupts, but nothing on protected mode BIOS. There are people out there who know, but where they found the info is a mystery to me... I've looked, but I guess this is stuff you can only learn in university operating system design courses.

A few months ago I wrote an floppy bootsector in asm that goes into protected mode, and detects and echos keypresses to the screen... and I only got that far by the charity of some helpful asm programmers at a forum (I still don't fully understand IRQs).

One of the next things a kernel is supposed to do is ask the BIOS what memory is OK to use, and which is reserved. But how? Where are the tutorials? The reference material? They're nowhere, so forget about it. The best you could could ever hope to write on your own is a 640K-limited toy OS.

Uh anyway, sorry for ranting.
Quote:But how? Where are the tutorials? The reference material? They're nowhere, so forget about it.

The Intel reference manuals would be a good start. The were being given away for free at one stage, not sure if thats still in effect though. One of my Uni mates got his copies, theres about five books all up, each about 3 or 4cm thick though, so theres a fair amount of reading.
Yeah, Intel still gives out the manuals, but be aware that the manual set for the basic Pentium 4 by itself is 4 or 5 volumes each being about 500 pages. (I know, I have them printed in binders on a shelf around here somewhere... Tongue )

It takes some looking to find them so I will give you the link...

http://www.intel.com/design/pentium4/man...m#sdm_vol1

If you look around on the web there are lots of sites on how to make a bootloader and basic IO stuff but most of the other stuff you will have to find out about in books or by looking at open source projects. I hope you have two computers too, rebooting to check for a bug over and over and over and having to switch from your OS back to whatever OS you develop in really sucks.

Have fun though Smile




Edit -
Oh yeah for the guy that asked where the tutorials where I went back into my library of favorites and pulled up some of the ones I found helpful when I was looking to make an OS.

http://www.nondot.org/sabre/os/articles

http://www.ansanest.com/josh/

http://www.acm.uiuc.edu/sigops/
Cool, thanks. I didn't know about that middle one.
This is a good resource: http://www.osdever.net/tutorials.php?cat=0&sort=1

But, in my opinion, learning to write an OS is completely and utterly pointless. Unless you're learning to write one for an embedded system (which is the only realistic application you will need to use the information for). Writing an operating system is just another step on the stairs of technological development; we passed it years ago -- concentrate on developing something using the modern accomplishments. Technological advancements aren't made by re-inventing the wheel (or in this case, following a guide to constructing the wheel).

OS development is boring and far too overrated... nobody will use the OS; it will probably just be a lot of wasted time learning information that's of very little use to you.

And even if you did get something running that could run programs, you then have the headache of writing a bunch of trivial applications to make booting worth somebody's time.

Just concentrate on developing something modern and useful instead.
Pages: 1 2 3 4 5