Messages in this thread | | | Date | Tue, 31 Aug 2004 00:38:14 -0400 | From | Jeff Garzik <> | Subject | Re: silent semantic changes with reiser4 |
| |
Linus Torvalds wrote: > > On Mon, 30 Aug 2004, Tom Vier wrote: > > >>On Thu, Aug 26, 2004 at 09:48:04AM -0700, Linus Torvalds wrote: >> >>> - safely synchronize globally visible data structures >>>That's quite fundamental. 99% of what a kernel does is exactly that. TCP >>>would be in user space too, if it wasn't for _exactly_ this issue. A lot >> >>What about microkernels? They do tcp in userspace. > > > No they don't. They do TCP in a separate address space from user space, > that just also happens to be separate from the "microkernel address > space". > > So a microkernel will have _more_ address spaces, and they won't be "user > space". They'll be "server deamon space" or something. Now, that's also > why they tend to have performance problems - because you need to copy the > data between different address spaces, and switch the CPU context etc > around.
Man, this thread came a long way. I peek in and see a pet topic...
_My_ own definition of microkernel, which differs from traditional CS, is where I would love to see Linux go: move as much as humanly possible to userspace, such that, the kernel only contains pagecache operations, driver fast paths, and security checks. Move slow paths, including ACPI probing, PCI bus walking, driver init/reset paths, some of the ioctl handling, to userspace. Be willing to accept extra context switches as a cost in all but the fast paths.
What you have left after you move all the slow paths to userspace is my version of a microkernel. The kernel is still monolithic and a single address space, but a lot smaller.
Now this (a) is likely just a pipe dream and (b) will increase complexity because each driver will _require_ a userspace component, but hey... you gotta have goals in life.
Jeff
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |