This article explains the concept of microkernel in lucid language the use of microkernel and importance of microkernel. The main function of the microkernel is to provide a communication facility between the client program and the various services .Due to expansion of Unix the kernel has became large. It is very difficult to manage the kernel. In the mid’s of 1980s, researchers at Carnegie Melon University developed an operating system called Mach that modularized the kernel using the microkernel approach. This allowed kernel to be separated in different modules. In Microkernal approach structures the operating system by removing all unnecessary components from the kernel and they are implemented as a system and user level programs.
If the client program wishes to access a file , it must communicate with file server. There is no direct interaction between client program and service. An interaction takes place indirectly by exchanging message with the microkernel. Extending the microkernel is one of the benefits of the microkernel approach. Most of services are running as user rather than kernel process the microkernel is able to provide more security and reliability. Though any services fails, the rest of operating system remains untouched. Some modern operating system have used the microkernel approach. Tru64 UNIX provide a UNIX interface to the user. And therefore it is constructed with mach kernel. Apart from UNIX there is another example is QNX.
QNX is real time operating system and QNX is depend on micokernel.As we know QNX microkernel provides services into two parts first one is message passing and second one is process scheduling.QNX microkernel also handles two types that is low level network communication and second is hardware interrupts. Services in QNX are provided by Some process that run on outside the kernel in user mode. There is problem due to which microkernel suffer and that is reduction in performance due to increased system function overhead. This best example of this is windows NT hard layered microkernel organization. Windows NT’s this version delivered low performance compared with windows 95. System NT 4.0 partially redressed the performance problem by moving layers from user space to kernel space and integrating them more closely. An architecture Windows XP was designed its architecture was more monolithic than microkernel.
BENEFITS OF MICROKERNEL:
Benefits of microkernel models are as follow
1. Easier to extend a micro kernel.
2. Easier to port the operating system to new architecture.
3. More reliable (less code is running in kernel mode).
4. More secure.
6. Performance overhead of user space to kernel space communication. In short microkernel moves as much from the kernel into user space. Interaction can be made between user modules using message passing. Microkernel typically provides minimal process and memory management in addition to communication facility. This structure removes all non-essential components from the kernel and implements them as system and user level programs.
Application of microkernel is to make interaction between the client program and the various services that are also running in user space.