Order in kernel

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
astrid
Posts: 1
Joined: Tue Feb 07, 2006 12:00 am

Order in kernel

Post by astrid »

I scheduled a day for every part of my OS.But I 'm not sure in what
order to do the kernel components.I planned to do it in more than a day.
I've quickly finded out that isn't a linear dependence.
For example the file manager is using the device manager who again
uses the file manager(circular).
Components are:
memory management
processor
process scheduler
device manager
file manager
network layer
system calls
...
Also a big question.The kernel uses read, write from C library or system calls or it uses only it's internal functions.
User avatar
carbonBased
Member
Member
Posts: 382
Joined: Sat Nov 20, 2004 12:00 am
Location: Wellesley, Ontario, Canada
Contact:

Re: Order in kernel

Post by carbonBased »

It will certainly take more then a day per each module.

Order is, of course, up to you and your OS design. If it means anything, I completed items (roughly) in this order:

-basic bootup
-gdt/idt initialization
-paging
-page allocator
-byte granularity allocator
-tss based multitasking
-mutexes, semaphores, etc
-driver manager

There's other things I've forgotten of course, but generally speaking, you want to get all your building blocks done first... simple utilities (linked lists, btrees, queues, etc) and then build on them (message queues, semaphores, mutexes), and then build larger modules on top of them, of course.

As per your second question... depends on the kernel, I guess. My kernel doesn't use any form of read/write. What would you be reading/writing?

Generally speaking (and a good architecture), the C library sits on top of the kernel (ie, the C library is implemented via system calls to the kernel).

--Jeff
Da_Maestro
Member
Member
Posts: 144
Joined: Tue Oct 26, 2004 11:00 pm
Location: Australia

Re: Order in kernel

Post by Da_Maestro »

The first thing I did after gdt/idt stuff was write basic standard functions like:
kalloc
print
inb
outb
and so on...
Two things are infinite: The universe and human stupidity. But I'm not quite sure about the universe.
--- Albert Einstein
Post Reply