In a microkernel, kernel and user modes are implemented in different address spaces, unlike other types of architecture. In simple words, the user mode is implemented in the user address space, and kernel mode is implemented in the kernel address space, which reduces the size of both kernel and the operating system.
Let's discuss its function in detail.
In this kernel architecture, the kernel is only responsible for the essential services, and the rest of the services are implemented in the user application program. The microkernel is responsible for the following services:
CPU Utilization through CPU scheduling
Memory management
Inter-process communication (IPC) between user and kernel space
Note: The communication between spaces is established using message passing.
As both user and kernel space are isolated, the operating system remains unaffected, so if any user service fails, it doesn't affect kernel service.
Similarly, if the user wants to add any service, the user doesn't need to modify the kernel service.
The kernel architecture is small, due to which it functions better.
Because the spaces are isolated, it increases the security of kernel processes from user processes.
The microkernel is slower because of additional messages passing overhead between all the services, and the kernel's functionality is minimal.
It has minimal services of process and memory management.
Microkernel-based OSs are Mac OS X and Windows NT. GNU Hurd is an excellent example of an OS running on a microkernel. It's still in active development.
Free Resources