Posted
by
Cliff
on Thursday November 01, 2001 @02:07PM
from the bzImage-got-nuthin'-on-this dept.

shankark asks: "I was doing a paper review on the exokernel, and found some pretty good design ideas in it comparing the work with the monolitic kernel and microkernel architectures. There was also a Slashdot story way back in 1998, but the thread sort of died out. I wanted to know if there is any work being done in trying to incorporate the exokernel design ideas into the mainstream linux kernel. What would be the pros and cons of doing such a thing?"

Fantastic. This person re-iterates exactly the same URL link that was in the story (http://www.pdos.lcs.mit.edu/exo.html) and it gets moderated up to 4 as 'insightful'? Seriously, if you're going to moderate a story, the least you can do is click on the link so you know what you're moderating.

You've got something that appears to fit just the most basic definition of a kernel. Simply securing and multiplexing the hardware.

Somehow, I really don't think that'll work out for a large operating system. (Mind you, for a box with simple functionality, this may actually be good in terms of performance.)

It seems like the only real argument they are pushing is speed. (But, although they don't really admit it, you put some major kinks in compatibility.) The only real comparable example is something called "Socket". Their version is twice as fast as a version running under BSD.

But then again, all the OS code that would make it 'play nice' with other things on the operating system probably aren't there, which would explain the gain. (I'll go ahead and throw out the notion of academic dishonest, which was there in microkernels, using different compiling options, etc. Ask Linux all about what he thinks of it.)

Anyhow, what little I've seen emphasis speed, but doesn't show the downside. That would appear to be the cost of converting *complex* applications, and the ability to coexist with other things.

I see no real benefit of going with this method. For example, if I was a company, given the choice of having my internal app ported to an Exokernel, or throwing more hardware at it, I'd throw more hardware at it. No brainer. No big boon for developers.

And many of the Exokernel ideas are just a slight refinement on the Partitioning idea used by large server systems. So by that token, it makes sense.

I think the bigger problem, however, is the idea in the academic community that they can build a perfect system for every application if they just abstract things enough. This drove Microkernels and this is driving Exokernels.