Friday, May 05, 2006

Microkernels

Microkernels? Arent' they the gritty part of the popcorn that gets caught in your teeth? I know that Linus Torvalds has been talking a lot about microkernels vs monolithic kernels, and this time with an interesting twist. From a recent article: "The real issue, and it's really fundamental, is the issue of sharing address spaces. Nothing else really matters. Everything else ends up flowing from that fundamental question: do you share the address space with the caller or put in slightly different terms: can the callee look at and change the callers state as if it were its own (and the other way around)?"

Linus also said "In the UNIX world, we're very used to the notion of having many small programs that do one thing, and do it well. And then connecting those programs with pipes, and solving often quite complicated problems with simple and independent
building blocks. And this is considered good programming. That's the microkernel approach. It's undeniably a really good approach, and it makes it easy to do some complex things using a few basic building blocks. I'm not arguing against it at all."

Anyway the whole discussion of micro-kernel vs monolithic kernel is pretty pointless. All popular OS kernels are monolithic. Its a meaningless debate without a working fast microkernel in the market that is actually competitive. I'm pretty sure it's a load of work to port the Linux kernel to become a micro kernel. Anyone got the spare time to do that?

1 Comments:

Anonymous Anonymous said...

I know the blog is old, but just an FYI: Apple's OS X uses a microkernel, so the "All popular OS kernels are monolithic." isn't true. Admittedly, it is tweaked for faster messaging, but at it's core, it's still a microkernel.

2:40 AM  

Post a Comment

<< Home