How to begin...

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
thphaca
Posts: 3
Joined: Thu Jul 28, 2005 11:00 pm

How to begin...

Post 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++?
dave
Member
Member
Posts: 42
Joined: Sat Jul 09, 2005 11:00 pm

Re: How to begin...

Post 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
Smith
Member
Member
Posts: 38
Joined: Wed Feb 02, 2005 12:00 am

Re: How to begin...

Post by Smith »

You could also program it in Pascal and ASM
thphaca
Posts: 3
Joined: Thu Jul 28, 2005 11:00 pm

Re: How to begin...

Post 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?
Last edited by thphaca on Fri Jul 29, 2005 11:00 pm, edited 1 time in total.
Legend
Member
Member
Posts: 195
Joined: Tue Nov 02, 2004 12:00 am
Contact:

Re: How to begin...

Post 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.
*post*
gcms
Posts: 1
Joined: Sun Jul 31, 2005 11:00 pm

Re: How to begin...

Post 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?
Phibred
Member
Member
Posts: 31
Joined: Sun Jun 26, 2005 11:00 pm
Location: Toronto, Ontario, Canada
Contact:

Re: How to begin...

Post 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.
It will come from the ashes of the old era.
-- James Vaughan
thphaca
Posts: 3
Joined: Thu Jul 28, 2005 11:00 pm

Re: How to begin...

Post 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.
User avatar
carbonBased
Member
Member
Posts: 382
Joined: Sat Nov 20, 2004 12:00 am
Location: Wellesley, Ontario, Canada
Contact:

Re: How to begin...

Post 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... :)
Post Reply