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}