Page 1 of 1

Any problems with this design?

Posted: Thu Dec 16, 2010 6:14 am
by sundhaug92
I am considering writing a kernel halfway between a microkernel and a monolithic design.
I am planning to do the memory management in kernel, but everything regarding ports, done in userspace.
The kernel only keeps a small API for files, folders, UIDs, GIDs, memory-management, and processes. BTW My idea is to only let root or maybe a special user run a program that requests a port/IRQ or physical memory.
Is this a good design?

Re: Any problems with this design?

Posted: Thu Dec 16, 2010 6:26 am
by NickJohnson
I do something similar, letting superuser processes access ports/IRQs/physical memory. I haven't had any problems with that design so far.

Re: Any problems with this design?

Posted: Thu Dec 16, 2010 6:44 am
by OSwhatever
sundhaug92 wrote:I am considering writing a kernel halfway between a microkernel and a monolithic design.
I am planning to do the memory management in kernel, but everything regarding ports, done in userspace.
The kernel only keeps a small API for files, folders, UIDs, GIDs, memory-management, and processes. BTW My idea is to only let root or maybe a special user run a program that requests a port/IRQ or physical memory.
Is this a good design?
No it's nothing wrong with your design and this type of kernel is sometimes called a hybrid kernel. I'm doing something similar. However, I let user programs access IO memory, and hook up on IRQs. The kernel just handle the resource allocation so there is no conflict.