|From:||"Thomas E. Spanjaard" <tgen@xxxxxxxxxxxxx>|
|Date:||Tue, 22 Aug 2006 19:13:51 +0000|
:I think L4 and Mungi have proven that doesn't have to be the case these :days.
Well, I am not an expert on L4 or Mungi, but I can count cpu cycles, and having to do a context switch eats a *lot* of computer cycles,
and having to do a context switch which involves a change in the
protection map eats even *more* computer cycles. So many, in fact,
that the overhead often exceeds the overhead of the operation one is
trying to execute.
One then winds up in a situation where one must hack the code to pieces to make it efficient... to reduce the number of context switches that occur. For example, a number of people have advocated that the TCP stack be moved to userland. To my mind this is *NOT* micro-kernelish, as one then has no protection between the userland application and the networking stack. Shifting the work around without introducing new protection realms is NOT a microkernel architecture. It offers no additional reliability or debuggability to the system, and makes the code such a huge mess that it becomes unmaintainable.
Cheers, -- Thomas E. Spanjaard tgen@xxxxxxxxxxxxx
Description: OpenPGP digital signature