Page 2 of 4

Posted: Sat Jan 20, 2007 12:02 pm
by Alboin
BlackHole2007 wrote:And yes, I do know how to code in C at least.
How well can you code in C? I don't suggest you make an operating system your first project of sorts. (The result is usually bad, even if it's just a 16-bit os.) Play around in different fields: game programming, cryptography, compiler internals, networking, gui applications, compression, etc. A lot of the things you learn in these fields will greatly help you with your os, however indirect they may be.

If you do know how to code well, however, go to the wiki and begin the fun that is osdev! (I should write a motivational osdeving book.)

Posted: Sat Jan 20, 2007 7:54 pm
by Tyler
BlackHole2007 wrote:No its not like mum wont let me download anything because she is afraid it might be "naughty" as you say, its because it could stuff up our brand new computer. I am a bit cross about how everyone is treating this topic. I'm just a kid who wishes to create his own operating system, that's all. And yes, I do know how to code in C at least.

And by the way, thanks very much Albion for sticking up for me!

Cheers,
BlackHole2007
Ok my apologies... and yes Alboin is nice to everyone... very unbiased and generally helpful.

The first honest thing i can say is forget GUI... though at this time Multimedia features (Video, Picture and Music) are the main selling point for most computers. The GUI is not the OS and you will not be writing it for a good while.

You will need a real want to do it, and you will know if you have this after your hundreth data sheet fully intaken that hasnt answered your tiny question... but that is really the fun of learning the system.

Though it is an opinion based thing... if you have any experience in C i urge you to use it. It was build for the purpose of System Development.. is extremely powerful with no feature missing and helps you learn the structure of the system. Assembly will be needed for the system... and writing a basic kernel in assembly is a very useful begining tool.

All else i can say is click wiki at the top.. read it all.. head over to osdever.org... read more and just keep reading till you have all the basics sorted and have your first boot to kernel. If your still up for it... keep reading, start to plan your outline for the core and how you will structure it and just program it up.

Posted: Sat Jan 20, 2007 11:27 pm
by bubach
The thing is that it sounds like you want some Visual Basic wizard that lets you make the perfect OS with a cool GUI in three simple steps, instead of asking anything like how it's done or what tools you need.
Start talking about using divx for it and not being allowed to download anything didn't help. :lol:

You need to start thinking of what language to use, and if not already, get fluent in it.

Posted: Sun Jan 21, 2007 3:43 am
by Candy
BlackHole2007 wrote:No its not like mum wont let me download anything because she is afraid it might be "naughty" as you say, its because it could stuff up our brand new computer. I am a bit cross about how everyone is treating this topic. I'm just a kid who wishes to create his own operating system, that's all. And yes, I do know how to code in C at least.

And by the way, thanks very much Albion for sticking up for me!

Cheers,
BlackHole2007
To be quite honest, making an operating system with disk access is almost the #1 way to screw up your computer, at least, it's the most likely. Don't you have a backup / spare / old computer you can use instead? Us people who can download anything they like do that too, with good reason.

Posted: Sun Jan 21, 2007 4:09 am
by inflater
its because it could stuff up our brand new computer
I think that OS developing *will* stuff up any computer with compilers, manuals, how-to's, etc. (I am that type :D)
I'm just a kid who wishes to create his own operating system
Way to go! I wish you good luck ;)
And yes, I do know how to code in C at least.
That is OK. But (if you are writing 32-bit OS) you must construct your own functions, like you can't use "cout <<". If you are writing a 16-bit OS, like me :D, you will have OSdev a little easier, because BIOS will do all this for you (video,disk,com ports,lpt ports), until you realize that you will need more than 1 MB RAM of addressing (my english sucks). Unreal mode anyone?
Don't you have a backup / spare / old computer you can use instead?
This is very useful for OS dev. If you haven't any 286,386,486 or even 8086 ;) crapping around, you can use a emulator, like QEMU. I tried my OS - PortixOS - in VirtualPC, and it worked perfectly, but Linux doesn't work in it.

inflater

Posted: Sun Jan 21, 2007 8:30 am
by Brynet-Inc
inflater wrote:
And yes, I do know how to code in C at least.
That is OK. But (if you are writing 32-bit OS) you must construct your own functions, like you can't use "cout <<". If you are writing a 16-bit OS, like me :D, you will have OSdev a little easier, because BIOS will do all this for you (video,disk,com ports,lpt ports), until you realize that you will need more than 1 MB RAM of addressing (my english sucks). Unreal mode anyone?

inflater
Last time I checked, "cout <<" was related with C++ not C, A better example would of been: "You can't use any functions of your host OS's standard C library: e.g printf(), strcpy(), strcmp() etc unless you write the functions yourself.. or port and existing library."

Posted: Sun Jan 21, 2007 8:31 am
by inflater
Ah yeah, cout is from MS VC++ :D
I programmed in C++ 4 years before.

inflater

Posted: Sun Jan 21, 2007 8:32 am
by Brynet-Inc
inflater wrote:Ah yeah, cout is from MS VC++ :D

inflater
Actually it's part of the C++ standard, Not Microsoft's C++ compiler alone. :wink:

Posted: Sun Jan 21, 2007 8:38 am
by inflater
Anyway, who is programming a 32-bit OS in MS VC++? I heard about the posibilities...
why, why Pascal is not portable like C is... :(

inflater

Posted: Sun Jan 21, 2007 9:26 am
by gaf
Candy wrote:Don't you have a backup / spare / old computer you can use instead?
"Also I have an old i386 pc in my garage"
inflater wrote:I think that OS developing *will* stuff up any computer with compilers, manuals, how-to's, etc
The best way to trash your windows installation is to surf the internet installing all "useful" freeware that you can find. As each of these tool needs its own installation and creates new registry keys windows will start breaking apart in just a few months.

The tools you need for operating-system development usually don't interfere with the system that much. They might occupy some space, but neither the registry nor the installer are usually polluted.
Alboin wrote:I don't suggest you make an operating system your first project of sorts. (The result is usually bad, even if it's just a 16-bit os.)
Games, cryptography, compilers.. Frankly I don't think that any of these is less complex if taken seriously. In my opinion it's not so much about where you start but rather about the expectations you have. Hoping to be able to write a decent compiler in less than a few years is probably just as delusional as trying to compete with the new Vista release.
Alboin wrote:A lot of the things you learn in these fields will greatly help you with your os, however indirect they may be.
That goes both ways..

You just have to start somewhere and there's no reason why it shouldn't be some hello-world kernel. The only real prerequisite for OS development is to know a language well enought to get some work done. Apart from that it takes a lot of dedication, time and reading to get started, but you'll notice that yourself.
Tyler wrote:All else i can say is click wiki at the top.. read it all.. head over to osdever.org... read more and just keep reading till you have all the basics sorted and have your first boot to kernel.
There are a couple of beginner tutorials on osdever.net that you might want to have a look at. They should give you an impression of what OS development looks like, so that you can decide yourself if you're up to the task.

regards,
gaf

Posted: Sun Jan 21, 2007 10:42 am
by Alboin
gaf wrote:
Alboin wrote:I don't suggest you make an operating system your first project of sorts. (The result is usually bad, even if it's just a 16-bit os.)
Games, cryptography, compilers.. Frankly I don't think that any of these is less complex if taken seriously. In my opinion it's not so much about where you start but rather about the expectations you have. Hoping to be able to write a decent compiler in less than a few years is probably just as delusional as trying to compete with the new Vista release.
I meant more of a theoretical approach: Learning how huffman coding is done, reading about the internals of a compiler, making a simple tetris game. (And really, how hard is it to implement a simple cryptography algorithm?) By the time one has learned about all of this they will be able to follow documentation, know how to implement algorithms, and understand generally good programming concepts. (I should start explaining myself more.. 8) )

Posted: Sun Jan 21, 2007 11:26 am
by BlackHole2007
Yes I do have a laptop which I can use but unfortunately it is an old packard bell one which is a bit broken already (I have had it for about 3 years now) I am also planning to buy an apple Ibook because they can run lunix and unix .tar files am I correct? I have BOCHS on my laptop but unfortunately it keeps on coming up with an error so any help on that will be great! and Tyler appolagies accepted. Thanks for the help and stuff peeps. You are all great!

Cheers,
BlackHole2007
:)

Posted: Sun Jan 21, 2007 11:36 am
by smbogan
Brynet-Inc wrote:
Alboin wrote:Be gentle...
Not a chance :wink:
He's about as gentle as pumic-based lubricant.
BlackHole2007 wrote:I am also planning to buy an apple Ibook because they can run lunix and unix .tar files am I correct?
Uh, I don't think you are correct...I don't know a lot about *nix systems, but I think that tar is just a different sort of compression. I'm fairly certain WinZip opens tar files on Windows. I hope that isn't the only reason you are going to get a Mac.

Posted: Sun Jan 21, 2007 11:38 am
by bubach
"they can run lunix tar files" ?? :roll:

Posted: Sun Jan 21, 2007 11:41 am
by gaf
Alboin wrote:And really, how hard is it to implement a simple cryptography algorithm?
Some ROT13 toy might not be hard to conceive, but once you start taking it just a little more serious cryptography soon turns into an incredibly complex topic. Similiar things could be said about real-world compilers and actual games. In my opinion operating system development is by no means inherently more difficult than other disciplines. The real question is how ambitious or professional your project is meant to be.
Alboin wrote:By the time one has learned about all of this they will be able to follow documentation, know how to implement algorithms, and understand generally good programming concepts.
Certainly it's not a good idea to plunge into OS development without knowing at least the most basic programming techniques. Once you however mastered the language there's no real reason why a (toy) OS couldn't be done as a rather early project. Having some more experience or background knowledge is always nice and might sometimes be extremly helpful, but it's hardly a real necessity for any project.

If you know nothing you just have to start somewhere and I don't see why this somewhere couldn't be an operating system.

cheers,
gaf