Re: Some very thought-provoking ideas about OS architecture.

leitner@convergence.de
21 Jun 1999 13:58:11 -0000


In local.linux-kernel, you wrote:
> Sandboxing parts of the OS.
> Finally it's possible to test new kernel parts without risking
> the rest of your system. Debugging a new networking library
> (kernel-level, that is) without endangering the rest of the
> system to stray pointers. The sandboxing protection can always
> be removed later when the new kernel addition has been found
> to work properly.

The fastest code is the one that is not executed at all.
Thus, to get the benefits from a sandbox or message-passing means that
you also have to do extensive error-checking even to helper routines
(should you choose to communicate with them via message passing, which
is a good thing if you want to experiment with new, optimized versions
without wreaking havoc.

So, you would spend up to 90% of your time checking for errors in
routines you would simply trust. Currently, gcc does error checking for
the arguments and argument types when calling a subroutine in the
kernel. This checking is done at compile time. With message passing,
this has to be done at run time. While there are efficient algorithms
available to do this, it will eat your CPU cycles relentlessly.

In the end you have a conceptually sound system that even scales to 128
CPUs, but you actually need 64 CPUs to be as fast as Linux is on 1 CPU.

Felix

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/