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.
what is the best kernel design?
-
- Member
- Posts: 109
- Joined: Wed Nov 10, 2010 10:49 am
- Combuster
- 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?
For the facts, see Kernel. If you really want an opinion, make sure you have the flame and religion filters enabled.
-
- Member
- Posts: 109
- Joined: Wed Nov 10, 2010 10:49 am
Re: what is the best kernel design?
I found that windows 9x series depends on DOS with monolithic kernels.
How? How did Microsoft made an OS that is running on DOS?
How? How did Microsoft made an OS that is running on DOS?
Re: what is the best kernel design?
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
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
-
- Member
- Posts: 109
- Joined: Wed Nov 10, 2010 10:49 am
Re: what is the best kernel design?
But it requires a way to make the drivers communicate directly to Hardware,doesn't it?cxzuk wrote:a micro kernel has device drivers outside of kernel space
Re: what is the best kernel design?
You can have the drivers talk to hardware directly or indirectly. It depends on the type of hardware.Mozo40 wrote:But it requires a way to make the drivers communicate directly to Hardware,doesn't it?cxzuk wrote:a micro kernel has device drivers outside of kernel space
* Look up, Task State Segment, DMA, Message Passing.
Mike
-
- Member
- Posts: 109
- Joined: Wed Nov 10, 2010 10:49 am
Re: what is the best kernel design?
OK
But what about making my own design or a mix between two designs?
But what about making my own design or a mix between two designs?
Re: what is the best kernel design?
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).Mozo40 wrote:OK
But what about making my own design or a mix between two designs?
Mike