Neal H Warfield wrote: > A microkernel attempts to manage the low level > resources and export an interface. An exokernel, on the other hand, > merely wraps the resources in a security blanket and exports them to > the applications directly. This would require a hurd library to provide > the current mach environment, which could increase context switches even > more.
I'm assuming that the hurd library(ies) that implements Mach services simply runs in user space. Consequently, for certain operations, say perhaps an IPC send() or recv(), that a context switch would not be required. > It is my feelings that to use an exokernel will require nearly all of the mach > kernel to be reimplemented over it Agreed. I am not dissatisfied with Mach, although it is an aging microkernel and if there were significant, tangible benefits to the end user of an alternative design, I think it's worth speculation. I like the Hurd and I applaud its architecture over more monolithic systems such as Linux. End users, however, won't care about conceptual superiority -- they'll look for real world justification for choosing a particular platform. Kevin