Page 1 of 1
what is the best kernel design?
Posted: Wed Apr 06, 2011 8:37 am
by melgmry0101b
Hi everyone,
Before starting my OS development , i found many kernel designs (hypird , Monolithic ,etc...)
at first i wanted to make my own design but i didn't know how or what is the concepts of making a kernel design.
after that i chose the Monolithic design.
Now my question is :
what is the best kernel design? , what is the easiest one?,can i make my own one? (if yes how?) ,and can i make a mix between two designs?
------------------------------------------
(i know that i asked this question late because i started my OS development but there is no matter to ask and know for the future)
Thank you in advance.
Re: what is the best kernel design?
Posted: Wed Apr 06, 2011 8:46 am
by Combuster
For the facts, see
Kernel. If you really want an opinion, make sure you have the flame and religion filters enabled.
Re: what is the best kernel design?
Posted: Wed Apr 06, 2011 8:57 am
by melgmry0101b
I found that windows 9x series depends on DOS with monolithic kernels.
How? How did Microsoft made an OS that is running on DOS?
Re: what is the best kernel design?
Posted: Wed Apr 06, 2011 8:59 am
by cxzuk
Here is my opinion;
To my understanding, a micro kernel has device drivers outside of kernel space. Where as monolithic kernels have device drivers inside kernel space.
With that in mind, I've opted to build a micro-kernel. The reason is because a micro-kernel retains the information about this boundary.
As im not using a conventional compiler or build environment, I am able to remove this boundary at compile time.. And hopefully at link/run-time to allow for a user setting "run in kernel space" options to provide a hybrid.
Mike
Re: what is the best kernel design?
Posted: Wed Apr 06, 2011 9:05 am
by melgmry0101b
cxzuk wrote:a micro kernel has device drivers outside of kernel space
But it requires a way to make the drivers communicate directly to Hardware,doesn't it?
Re: what is the best kernel design?
Posted: Wed Apr 06, 2011 9:30 am
by cxzuk
Mozo40 wrote:cxzuk wrote:a micro kernel has device drivers outside of kernel space
But it requires a way to make the drivers communicate directly to Hardware,doesn't it?
You can have the drivers talk to hardware directly or indirectly. It depends on the type of hardware.
* Look up, Task State Segment, DMA, Message Passing.
Mike
Re: what is the best kernel design?
Posted: Wed Apr 06, 2011 9:48 am
by melgmry0101b
OK
But what about making my own design or a mix between two designs?
Re: what is the best kernel design?
Posted: Wed Apr 06, 2011 2:54 pm
by cxzuk
Mozo40 wrote:OK
But what about making my own design or a mix between two designs?
You can mix the two designs to create a hybrid kernel.. but those are all of your choices. Either Monolithic (drivers in kernel space), micro kernel (drivers not in kernel space), or hybrid (some drivers in kernel space, but the others not in kernel space).
Mike