Microkernels were experimental (in the early 1990s).
Microkernels are obviously more complex (than monolithic kernels).
It will also show many people that microkernels are widely used in important commercial environments, where both reliability and high performance are essential.
EPL Release of Microkernel Demonstrates Progress Towards Open Source Goal
However, I am a pragmatic person, and at the time I felt that microkernels (a) were experimental, (b) were obviously more complex, and (c) executed notably slower.
By constructing a general kernel model drawn from elements common to all typical architectures, the Linux kernel gets many of the portability benefits that otherwise require an abstraction layer, without paying the performance penalty paid by microkernels.
That was because microkernels usually required two context switches for each module that was called by the microkernel.
In addition, traditional microkernels tended to be larger in overall memory footprint due to the additional memory, stack, process, and data overhead.
The material will be particularly pertinent to practitioners because it examines enabling technologies for creating operating systems such as objects and microkernels.
The first generation of microkernels suffered from poor performance.
But over the years, enthusiasm changed to disappointment, because the first-generation microkernels were inefficient and inflexible.
Although these advantages seemed obvious, the first-generation microkernels could not substantiate them.