Linked by Thom Holwerda on Tue 9th May 2006 21:25 UTC, submitted by luzr
OSNews, Generic OSes Torvalds has indeed chimed in on the micro vs. monolithic kernel debate. Going all 1992, he says: "The whole 'microkernels are simpler' argument is just bull, and it is clearly shown to be bull by the fact that whenever you compare the speed of development of a microkernel and a traditional kernel, the traditional kernel wins. The whole argument that microkernels are somehow 'more secure' or 'more stable' is also total crap. The fact that each individual piece is simple and secure does not make the aggregate either simple or secure. And the argument that you can 'just reload' a failed service and not take the whole system down is equally flawed." My take: While I am not qualified to reply to Linus, there is one thing I want to say: just because it is difficult to program, does not make it the worse design.
Thread beginning with comment 122932
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: Pardon?
by egarland on Wed 10th May 2006 04:55 UTC in reply to "RE: Pardon?"
Member since:

Switch to a non-algorithmic, signal-based, synchronous model and the problem will disappear.

Again.. asked and answered.

"So while UNIX people use pipelines for a lot of important things, and will absolutely swear by the "many small and independent tools", there are also situations where pipelines will not be used.

You wouldn't do a database using a set of pipes, would you? It's not very efficient, and it's no longer a simple flow of information. You push structured data around, and you very much will want to access the database directly (with a very advanced caching mapping system) because not doing so would be deadly.

The point he seems to be making is that not everything works well through streams of data and message passing. Some things need locks and shared data structures. Every "Hybrid" kernel out there has found that to get the basic functionality of a kernel working you need to break down the walls of the microkernel and let different sections share data. By his definition these aren't microkernels. The shared data structures (and therefor shared address spaces) makes them monolythic.

I honestly don't know enough about OS design to weigh in intelligently on the subject.

Reply Parent Score: 3