what is the best kernel design?

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
melgmry0101b
Member
Member
Posts: 109
Joined: Wed Nov 10, 2010 10:49 am

what is the best kernel design?

Post 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) :D
Thank you in advance. :D
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: what is the best kernel design?

Post by Combuster »

For the facts, see Kernel. If you really want an opinion, make sure you have the flame and religion filters enabled.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
melgmry0101b
Member
Member
Posts: 109
Joined: Wed Nov 10, 2010 10:49 am

Re: what is the best kernel design?

Post 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?
cxzuk
Member
Member
Posts: 164
Joined: Mon Dec 21, 2009 6:03 pm

Re: what is the best kernel design?

Post 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
melgmry0101b
Member
Member
Posts: 109
Joined: Wed Nov 10, 2010 10:49 am

Re: what is the best kernel design?

Post 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?
cxzuk
Member
Member
Posts: 164
Joined: Mon Dec 21, 2009 6:03 pm

Re: what is the best kernel design?

Post 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
melgmry0101b
Member
Member
Posts: 109
Joined: Wed Nov 10, 2010 10:49 am

Re: what is the best kernel design?

Post by melgmry0101b »

OK
But what about making my own design or a mix between two designs?
cxzuk
Member
Member
Posts: 164
Joined: Mon Dec 21, 2009 6:03 pm

Re: what is the best kernel design?

Post 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
Post Reply