Scott Quinn wrote:
The reason I brought up System 10 is that it is the "best" microkernel
implementation I have at this point
(the other one is a OPENSTEP box, substatntially older). Current Macs share much more
with PeeCees
than SGI IRISes and Sun SPARCs, so there is most likely a non-insignificant amount of
suboptimal hardware
that eats processor cycles like a cow eats grass to do things that a better arch. hands
off and is done with.
I was hoping a OSF/1-DUNIX-Tru64 user would pop in a bit more about that platform (hoping
to pick up most
of a AS4100 to try it out on soon). It uses the OSF/1 Mach-based system but on
well-designed few-compromises
hardware.
I would still suspect a mk-based design to fall short on performance.
E.g., I believe Mach-US and -UX were notably slower implementations
than the monolithic bsdss running on the same mk.
If you look at "true believer" mk architectures, you see things
significantly decomposed and *lots* of little servers involved
in *everything* (e.g., even resolving a path in a filesystem
involves lots of abstraction -- directories are active objects,
not passive "name lists", etc.). And, each one of these
incurs a significant performance hit because "communication"
isn't *just* "pass a parameter list on the stack".
OTOH, in embedded designs where things like name resolution
and object identification are largely static (and can happen
*once* or *infrequently*), that overhead falls to a more
manageable level (e.g., the cost of setting up the equivalent
of "pipes" is born once).