the corner office

a blog, by Colin Pretorius

The great kernel debate

The Linus Torvalds - Andrew Tanenbaum dust-up from 1992 about how stupid an idea a monolithic kernel was for a 'modern' operation system is legend in Linux circles. It's 14 years later and the back-and-forth still flares up every now and again. This page discusses Linus Torvalds' latest response to a pro-microkernel article by Tanenbaum in the IEEE Computer magazine.

I've used a number of Tanenbaum's textbooks for university subjects over the past few years, and the 'microkernels are where it's at' sections always provoke a bit of a 'yeah right, that's not what kernel hackers say' reaction from me.

The debate interests me, not because I'm qualified to have opinions about how best to build kernels, but because the debate highlights a tension between theory and practice. Support for microkernels seems quite logical if you consider all the stuff you've learned about software development - modularity, simplicity, defensive design, etc etc. The only problem is that mainstream kernels like Linux are monolithic, and there seems to be no significant impetus for smaller-and-better microkernels to replace them.

Perhaps it's just an issue of barriers to entry, because a large part of the success of a kernel is dependent on driver support, which isn't easy to come by without a huge developer community willing to write the drivers needed, but still: if monolithic kernels were so bad, surely the people who spend the most time writing production-use kernels would come to the same conclusion academics do?

{2006.05.14 17:57}

Comments:

1. hugo (2006.05.16 - 18:16) #

"if monolithic kernels were so bad, surely the people who spend the most time writing production-use kernels would come to the same conclusion academics do?"

hmmm, i wish it was that easy, but the way i see, the longer they spend time in monolithic land, the more committed they have to become to the ideals of the mono, to justify the investment...

that can of course be abstracted to many things, like religion, musical tastes, sports fanaticism, etc...

or maybe i'm just cynical++ tonight..?

;)

that being said, some people (at least in OS design) are willing to make the break with the status quo and beat out their own religion^Wpath.. are you familiar with the DragonflyBSD project? ( http://www.dragonflybsd.org ) The way I understand it (forgive the sneakily inserted disclaimer ;) Matt Dillon was working on FreeBSD circa 4.x, and when the core team decided to go all fine grained locking on 5.x, he forked off, and went the way of message passing between components instead. One of his goals is to ultimately make it possible for disparate machines across the Internet to form one giant processing cluster. Funky stuff :)

Anyway, enough outta me.

ciao!

2. Colin (2006.05.16 - 19:39) #

Hmm, investment: fair point :)

Thanks for the DragonFlyBSD pointer, it looks quite interesting!

« Things to do when you're bored

» Sickness and VMware