Need help for kernel

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
Post Reply
UCoE
Posts: 2
Joined: Sun Jul 03, 2005 11:00 pm

Need help for kernel

Post by UCoE »

hi, i'm very new at this forum n i have a project of making a kernel and then later maybe making it into an OS::::and i've gotta do it pretty fast. i know the assembly language quite a bit, i have done OS at college level...
So what i initially wanna know is a checklist sort of a thing which specifies the various things to be code/implemented/taken care of etc. (i hope u get my point)..like for example..
1. A bootstrap loader
2. File management
3. Memory management
...
...
etc. so ne1 plz lemme know exactly all things required so i can get to know all the things involved
earlz
Member
Member
Posts: 1546
Joined: Thu Jul 07, 2005 11:00 pm
Contact:

Re: Need help for kernel

Post by earlz »

are u going to be using an already made filesystem(fat12,16,32 whatever linux's filesystem name is ect) or are u going to be developing one yourself
what about a command prompt/shell/console
what about built in stuff that lets u communicate with the kernel from an app(interrupts, memory addresses ect)
User avatar
smiddy
Member
Member
Posts: 127
Joined: Sun Oct 24, 2004 11:00 pm
Location: In my cube, like a good leming. ;-)

Re: Need help for kernel

Post by smiddy »

UCoE,

It depends on your requirements. What are your requirements and I'll tell you specifically what you need.
-smiddy
aggieben
Posts: 4
Joined: Wed Jul 13, 2005 11:00 pm

Re: Need help for kernel

Post by aggieben »

You need a bootstrap loader and some basic interrupt handlers. Probably the next thing to work on after that is designing your memory space and policies for memory management. Do you want to use a Flat model like VxWorks, or segmented like Linux? What allocation algorithms and data structures will you use?

After you decide on a memory model, you probably want to define your idea of a process/thread/whatever --- the basic computational unit. Once that unit is defined, the rest of the processing model will fall into place, like scheduling, priorities, pre-emption, more complete interrupt handling, etc, etc.

Once your computational model is solidified, then you can move on to other items like:
- interactivity (shell, GUI, whatever)
- filesystem/storage support
- other device support
- more sophisticated OS things like multitasking, networking, security (security should be considered from the start, really), exception handling, IPC, signals, useful error messaging, bug tracking, getting a compilier/linker/loader to be self-hosting (probably one of the hardest things).

One last thing to remember: you'll find that many things are co-dependant, which means you'll have to work on different parts a little bit at a time. In other words, developing a new OS from scratch is not a linear process.
Post Reply