Microkernels (WAS RE: New to the list.)

Don Y dgy at DakotaCom.Net
Sat Aug 5 19:35:30 CDT 2006


Sean Conner wrote:
> It was thus said that the Great Don Y once stated:
>
>> And it makes things so much easier to "load balance" in a
>> multiprocessor design since you just move the thread to
>> a different processor and let the magic do its thing
>> (at a nontrivial cost, unfortunately).
> 
> I also worked at a software company porting Unix utilities to QNX and I
> really like QNX and what can be done with it.  I could use the modem on my
> boss' computer to dial out without using *any* special software, just
> specify the device on his computer (not only was the file system network
> transparent, but you could use devices across the network).  You could even
> run a program on one computer, pipe the output to another program on another
> computer and send the output to a third computer, all from the command line,
> and all possible because QNX was built on a microkernel and had all this
> functionality built in.

Exactly.  Things are inherently "decomposed" so all you need is
a name service that lets you tag resources ("objects") and
an RPC protocol that extends the local messaging and you
"magically" have a distributed system.  By extension, you
can move key threads from one machine to another depending
on how where its I/Os will be located and what percentage
of it's work is CPU bound vs. communication bound.

Sure, you can do the same in a monolithic kernel.  But you
have to *add* structure to it to provide these features
and flexibility.



More information about the cctech mailing list