Page 1 of 1
How to begin...
Posted: Thu Jul 28, 2005 11:00 pm
by thphaca
I know almost everything about Operating Systems, but I don't know anything about developing them. What should I begin learning? something like C or C++?
Re: How to begin...
Posted: Thu Jul 28, 2005 11:00 pm
by dave
I would recommend that if you do not know a programming language that you begin by learning one C, C++, Assembly, etc. Any language will do although some people will have a preference the facts remains you can learn to program with any language; However, since your attempting OS development I would suggest C. Assembly language will also be needed.
If you do not know how to program seriously consider attempting some other more obtainable projects. While you may know what an OS is and how to use it by no means does it give any idea of how to write an OS.
I am not attempting to put you down for trying just trying to give you a real view. Without prior programing experience your almost guaranteed to fail.
DAve
Re: How to begin...
Posted: Fri Jul 29, 2005 11:00 pm
by Smith
You could also program it in Pascal and ASM
Re: How to begin...
Posted: Fri Jul 29, 2005 11:00 pm
by thphaca
Thanks; you are right, that is very unrealistic. Does a C program require a "real" operating system, or does it just require DOS, and a CPU?
P.S. In my opinion C is a very strict language, but it's not like the other ones aren't any less strict. Why aren't there any new languages?
Re: How to begin...
Posted: Fri Jul 29, 2005 11:00 pm
by Legend
Depends. A C program basically only requires a CPU - till you start using functions like malloc, fopen, etc., when it needs an operating system (or, if you are writing the operating system, you need to implement those yourself)
New languages, yes, for kernel development there is not too much new. Most (new - sometimes questionable?) things today are done in the safe language, garbage collection world.
Re: How to begin...
Posted: Sun Jul 31, 2005 11:00 pm
by gcms
I have a good knowledge of C programming and some reasonable x86 ASM. I also know some basic OS theory, but I don't know how to fill the gap between these topics to be able to really code an OS. Anyone can point some good documentation that can help?
Re: How to begin...
Posted: Thu Aug 04, 2005 11:00 pm
by Phibred
Personally if you are just starting to develop a new toy Operating System it might be better to just do it in straight Assembler, I prefer NASM. Personally I think I learned a lot more about how a computer works by staying away from C or and other higher level languages, and it really isn't that much harder to learn. If you need some help starting try tampering around with my operating system
http://individual.utoronto.ca/Phibred/LunarOS.htm
It is P-Mode Based however I wrote the bootloader so if you want to play around in 16 bit mode before it jumps to 32-bit there should be some space around in there to work. And if you wanted to learn some assembler well, wait until I get version 0.03.21 out [my current version] the Command Prompts command structure is a lot more organized. I will try to put that online tonight, if I remember.
Re: How to begin...
Posted: Thu Aug 04, 2005 11:00 pm
by thphaca
Though I want to learn C or C++, my interest in O/S development has decreased. It seems like it requires allot of experienced people (so that it doesn't take a decade to build) to develop an Operating System as good as Lunix, Windows, or Apple (and any other O/S that I left out). I will stick with just developing applications, but maybe in the futer, I will decide to start attempting to develop an O/S. Thank you for your suggestions everyone.
Re: How to begin...
Posted: Fri Aug 05, 2005 11:00 pm
by carbonBased
This is one of the most intelligent responses I have ever heard from a development interested in osdev. Cheers thphaca!
Very few people seem to realized what is involved in osdev, and so the the community is filled with half finished projects that will never be finished. It's *very* refreshing to hear someone forgoe the effort, for the time being, until they're fully prepared. I really think this is the best approach. Only when you are fully ready, can you make a nice dent in the dreams you have for your own OS.
Cheers,
Jeff
PS: I hope that came out right... my english is.. uhm... sceptical... tonight...