To read all comments associated with this story, please click here.
Microkernel is necessarily slower than a monolithic kernel (unless the monolithic one is very badly done, of course).
OTOH, the cleaner architecture and modularity of microkernel affords for much faster development speed, as proven by hurd, minix and friends.
More interesting to me is how it compares to Darwin since they're both using the Mach kernel.
It sounds a lot like Darwin, as mentioned by Avie Tevanian, in the fact that they readily tore the kernel apart and put it back together.
IMO, going with Mach was a very bad decision. Micro-kernels are necessarily slower, but Mach is just notorious for bad performance. They should have gone with something like L4 which is known for extremely good performance (for a micro-kernel anyways).
By the way, 5-10 years from now, performance of micro-kernels should be comparable to monolithic kernels. The reason micro-kernels are so slow is the constant context switching, which wouldn't matter if the processor had a tagged TLB. With a tagged TLB, each TLB entry is tagged with an address space, so context switching would not require a full TLB flush, only a tag change (i.e. changing a register). Intel and AMD both have plans to introduce a tagged TLB in their processors sometime soon due to much better virtualization performance.







Member since:
2005-07-06
Just out of curiosity, have any basic performance tests been done against the kernel/operating system? How does hurd compare to linux or any of the BSD kernels?