> I have thought a bit about the microkernel idea. When I read about > microkernels (such as L4), it seemed the idea is to have drivers in > userspace, not in kernelspace. However, there seem to be a lot of drivers > in Mach (IDE, NIC, ...). Wouldn't it give a more modular and more robust > design if these drivers were moved into translators like the file systems > have been. Is there any disadvantages that I don't see?
My thought on this, which may be different from others, is that we remove the ``software'' drivers from kernel space and move them to userspace. For example: nfs, tcp/ip etc. Hardware drivers, on the other hand, remain in the kernel as they are quite intimate with the hardware and this is, thus, where they belong. In essence: a microkernel exports resources and a medium by which to access and use them. What you are suggesting sounds a bit like an exokernel where the devices themselves are also exported. (Versus a monolithic kernel which is a Microkernel plus the ``software drivers'') -Neal -- Neal H Walfield University of Massachusetts at Lowell [EMAIL PROTECTED] or [EMAIL PROTECTED]

