Recompilation would lead to more memory and time consumption. For adding new features to a monolithic kernel, one would have to recompile the whole kernel. Extensibility: One of the major differences between the two kernel types is extensibility.Interprocess communication: Monolithic kernels make use of signals and sockets to achieve interprocess communication, whereas micro kernels make use of messaging queues to achieve the same.Whereas in the case of a microkernel, due to the division of system operation between kernel and userspace, a service crash does not affect other services. This is because every process running in the same address space is affected. Stability: If a process crashes in a monolithic kernel, it results in a system-wide halt.In the case of Microkernel, the execution is slower due to additional messages passing between the different services running in different address spaces. Speed of Execution: Monolithic kernel provides better speed when compared to Microkernel as it runs all instructions under the same address space, which makes execution faster.This leads to an increase in the size of the operating system as well.
Size of the kernel: In Monolithic, since all system instructions are executed under kernel space, it increases the overall size of the kernel.In the case of microkernels, only important processes such as interprocess communication, scheduling, and memory management take place in kernel space. Space usage for execution: Monolithic kernel runs all the operating system instructions in the same address space, the kernel space, whereas Microkernel runs most system instructions in userspace and only a few in kernel space.Let us discuss some of the major differences between Monolithic Kernel vs MicroKernel. Key Differences between Monolithic Kernel and MicroKernel