Any problems with this design?

Discussions on more advanced topics such as monolithic vs micro-kernels, transactional memory models, and paging vs segmentation should go here. Use this forum to expand and improve the wiki!
Post Reply
sundhaug92
Posts: 1
Joined: Mon Dec 13, 2010 1:09 pm

Any problems with this design?

Post 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?
User avatar
NickJohnson
Member
Member
Posts: 1249
Joined: Tue Mar 24, 2009 8:11 pm
Location: Sunnyvale, California

Re: Any problems with this design?

Post 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.
OSwhatever
Member
Member
Posts: 595
Joined: Mon Jul 05, 2010 4:15 pm

Re: Any problems with this design?

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