What is the role of a macro kernel?
Overview
The kernel is the main component of any operating system. The function or role of a kernel includes memory management, device management, and accessing all computer resources. Based on the functions of the kernel, there are three main categories of OS kernel.
- Monolithic kernel
- Micro kernel
- Hybrid kernel
Macro kernel
The macro kernel is a combination of both
The monolithic kernel runs all the services in kernel mode, and the entire kernel functionality is organized into a single block that is difficult to debug and maintain.
The micro kernel is slower because of additional messages passing overhead between all the services, and the functionality of the kernel is minimal.
Finally, the hybrid kernel in which the macro kernel falls. It covers almost all the disadvantages of previous kernel structures. Let's discuss its function in detail.
Function
The main purpose of this kernel is to have a similar kernel structure to the microkernel but to implement the monolithic structure at the same time. Following are the major functions of the macro kernel:
- All operating system services work in kernel space which was not allowed in microkernel because there are no such benefits of keeping services in user space.
- It gives the speed and simple design of a monolithic kernel to OS.
- It gives the modularity and stability of a microkernel to OS.
Example
XNU is the kernel that Apple Inc. acquired and developed for use in the macOS, iOS, watchOS, and tvOS operating systems.
XNU is a macrokernel that includes monolithic and microkernel features, trying to get the most out of both technologies—including microkernel messaging capabilities. It makes the modularity of the operating system and most of the protected memory available to maintain the speed of the monolithic kernel for certain critical tasks.
Free Resources