[openbeos] Re: Is BeOS a true microkernel?

  • From: "Michael Phipps" <mphipps1@xxxxxxxxxxxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Fri, 11 Jan 2002 17:33:53 -0500

>Maybe that's not such a good question (since I don't rightly
>know what a true mu-kernel is -- but I'm curious...)

A microkernel, by Tanenbaum's definition (page 388) only does 4 things:
Interprocess communication (BMessages/ports, for us), some
memory management, limited amount of low-level process management
and scheduling and low level i/o.

Without the source, it would be very hard to tell if Be's kernel was
truly micro or not. And, of course, there is always a debate between
whether add-ons make the kernel non-micro or not, and what "some" and 
"limited" mean.

>How about: do all the servers run only as user-mode processes?


>If so, would someone mind summing up what the whole
>mechanism/policy concept means with regard to the
>OBOS/BeOS client-server-kernel architecture?

AFAIK, simply this. Stay out of kernel land. Little needs to be there.
Mostly file systems and drivers. Servers do the "heavy lifting" - 
depending on who wrote what (style thing) the client can be anything
from almost empty to fairly fat. Dianne indicated to me that BView's 
are > 5000 lines of C++ code on the client side. That seems like too
much, to me.

>(After reading Daniel's newsletter article and Tanenbaum's Modern
>OS's chp.1, my interest is piqued. :)

Tanenbaum is dense, but very good. I had it within arms reach. :-)

Other related posts: