What is the main advantage of the microkernel approach to system design? How do user programs and system services interact in a microkernel architecture? What are the disadvantages of using the microkernel approach?
Benefits typically include the following
(a) adding a new service does not require modifying the kernel,
(b) it is more secure as more operations are done in user mode than in kernel mode,
and
(c) a simpler kernel design and functionality typically results in a more reliable
operating system.