[linux-elitists] ME roadshow
Wed Sep 6 13:27:51 PDT 2000
> Since 1991, one of the biggest trends in CPU performance has been the
> increasing importance of the cache and TLB. This means that the best
> way to get really high-performance behavior for your kernel code is to
> map it into each process's address space--what Linux does with modules.
> It sounds like QNX does this for core kernel components, but if you follow
> this argument to its logical conclusion, you'll say "hmm, anything we
> implement as an out-of-kernel server is going to thrash the cache and TLB,
> and will suck performance-wise, so let's just move it all into loadable
> modules." Of course, you still want stuff like Apache outside the kernel
> for reasons of security and robustness, but anything that needs to take
> advantage of highly asynchronous hardware behavior should be in there.
So does this mean that the days when the kernel lives in one address
space and each user space application had its own memory space are
gone. I remember in my kernels class they talked about the two kinds
of VM systems. One was when the kernel was mapped into the same
address space as the user process and the other was when the kernel
had an independant memory space all its own. I know Linux at least on
intel is using the first method.
More information about the linux-elitists