Page 1 of 1
Prerequisites
Posted: Fri Jul 27, 2007 8:28 am
by #XVryCmplxAlgrthmX#
[b]Requirements before beginning? Is there an order in which I must develop certain parts of the OS?
![Idea :idea:](./images/smilies/icon_idea.gif)
[/b]
Posted: Fri Jul 27, 2007 8:35 am
by AJ
Hi,
1) Why the poll?
2) The development order of a new OS has been discussed lots before and there is a specific article on the wiki on how to get started. In stubs, see also the Eleanor Semaphore, Lino Commando and James T. Click articles. The Getting Started section has something on prerequisites too.
3) What are you thinking when you say a new type of kernel?
Cheers,
Adam
Posted: Fri Jul 27, 2007 9:15 am
by frank
Requirements before beginning:
- * Good understanding of assembly
* Good understanding of C (if you plan on using C in your kernel)
* Good understanding of how all of the different parts of a computer work together
* You need to understand that you cannot just write a fully working OS like XP or Linux in a couple of weeks or months
* Good understanding of how to use a compiler and assembler
That's about all I can think of right now.
Posted: Fri Jul 27, 2007 9:40 am
by Alboin
You should know how to program, and how to read documentation with more than "Hello World" experience.
You should be able to think past the programming language. Think of how something can be done without thinking about the language. Be abstract. Let the language be an extension of yourself. Flow with it, love it; be one with the language.
A healthy supply of tea is also handy.
![Wink ;)](./images/smilies/icon_wink.gif)
(That's true for any programming task, actually.)
Posted: Tue Jul 31, 2007 3:07 pm
by Candy
I'm also not sure what to do with the poll.
If I were you I would research other people's accomplishments until you know what you want to develop, how you want to do that and where to expect the largest problems. Once you do, just code it, test it and release it.
This is OS Dev. Nobody tells you what to do. If you want to limit applications to nonrecursive functions without using a stack at all, be our guest. If you want to allow hair-raisingly quick threads, be my guest. If you want to try something none of us would even believe is possible, just do it.
The order isn't important unless you can prove one of the ways to be impossible. Developing a userland before doing the kernel for instance is pretty hard. On the other hand, I see many people here integrate what I would call "userland" with the kernel initially, in the same way that RTOSes do.
Posted: Tue Jul 31, 2007 9:01 pm
by XCHG
In my opinion, there must be a certain and generic order in which things need to be developed for at least beginner OS Developers. A beginner doesn't know much about OS development thus he or she won't be able to make decisions about the things that need to be designed and coded first and those that come after that. It is like asking a 3 year old kid to decide what college he wants to go to and what Masters degree he wants to pursue. I think it'd help if the three year old at least knew what college degrees were available, what their benefits were, why people pursue them and etc.
Posted: Wed Aug 01, 2007 10:02 am
by Candy
XCHG wrote:In my opinion, there must be a certain and generic order in which things need to be developed for at least beginner OS Developers. A beginner doesn't know much about OS development thus he or she won't be able to make decisions about the things that need to be designed and coded first and those that come after that. It is like asking a 3 year old kid to decide what college he wants to go to and what Masters degree he wants to pursue. I think it'd help if the three year old at least knew what college degrees were available, what their benefits were, why people pursue them and etc.
Did you read the first part of my reply?
Posted: Wed Aug 01, 2007 11:55 am
by XCHG
Yes. Why?
Posted: Wed Aug 01, 2007 1:57 pm
by Candy
XCHG wrote:Yes. Why?
It sort of pointed out where I would expect people to find usable orders to make things in - by following in the footsteps of those who have made OSes and learning from their mistakes.