Messages in this thread | | | Date | 21 Jun 1999 13:58:11 -0000 | From | leitner@converge ... | Subject | Re: Some very thought-provoking ideas about OS architecture. |
| |
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/
| |