bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Mach lack for frequent operations


From: Marcus Brinkmann
Subject: Re: Mach lack for frequent operations
Date: Sat, 19 Nov 2005 01:17:42 +0100
User-agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.7 (Sanjō) APEL/10.6 Emacs/21.4 (i386-pc-linux-gnu) MULE/5.0 (SAKAKI)

At Fri, 18 Nov 2005 17:34:12 -0200,
Matheus Morais <address@hidden> wrote:
> 
> Quoted from Microkernels, Úlfar Erlingsson and Athanasios Kyparlis
> "For some frequent operations, e.g. networking, the overhead of
> context-switching was too great for an out-of-kernel implementation. Thus
> the microkernels were not as efficient as originally thought."
> 
> I can't understand why for some frequent operations microkernels are not
> efficient as originally thought. I thinking is why IPC cost on Mach is very
> high. Its that true? Can anyone explain why that overhead happen in Mach?

This is not generally true for microkernels, but certainly for Mach.

The main problem with the Mach kernel is the "substantially higher
cache-miss rate", which is a result of Mach, not of the client-server
design.  A good introduction to this topic, and references to further
information, is contained in:

http://www.marcus-brinkmann.org/cap-papers/Year/1996.complete.html#Lie96

@Article{Lie96,
  author = {Jochen Liedtke},
  title = {Toward Real µ-kernels},
  journal = {Communications of the ACM},
  month = {September},
  year = {1996},
  volume = {39},
  number = {9},
  pages = {70--77},
  abstract = {The inefficient, inflexible first generation inspired
  development of the vastly improved second generation, which may yet
  support a variety of operating systems.},
  keyword = {L4, Design Principles},
  url = {http://www.l4ka.org/publications/1996/towards-ukernels.pdf},
  url = {http://www.l4ka.org/publications/1996/towards-ukernels.ps},
  citeseer-url = {http://citeseer.ist.psu.edu/liedtke96toward.html}
}

Thanks,
Marcus





reply via email to

[Prev in Thread] Current Thread [Next in Thread]