CS计算机代考程序代写 cache Monolithic Kernel vs Microkernel

Monolithic Kernel vs Microkernel
1 ) Monolithic kernel is much older than Microkernel, the idea was conceived at the end of the
1980’s.
2 ) Monolithic kernels are used in Unix and Linux. Microkernels are used in QNX, L4 and HURD. It was initially used in Mach (not Mac OS X) but later converted into a hybrid kernel. Even Minix is not a pure kernel because device drivers are compiled as part of the kernel .
3 ) Monolithic kernels are faster than microkernels. The first microkernel Mach was 50% slower than Monolithic kernel, while later version like L4 were only 2% or 4% slower than the Monolithic kernel .
4 ) Monolithic kernels generally are bulky. A pure Microkernel has to be small in size, to fit into the processor’s L1 cache (first generation microkernel).
5) In Monolithic kernels, the device drivers reside in the kernel space while in the Microkernel the device drivers reside in the user space.
6 ) Since the device driver resides in the kernel space, it makes monolithic kernel less secure than microkernel, and failure in the driver may lead to crash. Microkernels are more secure than the monolithic kernel, hence used in some military devices.
7 ) Monolithic kernels use signals and sockets to ensure IPC, microkernel approach uses message queues. 1st gen microkernels poorly implemented IPC so were slow on context switches.
8 ) Adding a new feature to a monolithic system means recompiling the whole kernel, whereas with microkernels you can add new features or patches without recompiling.