Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is difference between monolithic and micro kernel?

Could anyone please explain with examples difference between monolithic and micro kernel? Also other classifications of the kernel?

like image 528
Renjith G Avatar asked Dec 27 '10 09:12

Renjith G


People also ask

What is the difference between micro kernel and monolithic kernel?

In microkernel, user services and kernel services are kept in separate address space. In monolithic kernel, both user services and kernel services are kept in the same address space.

What is the main difference between monolithic kernel and micro kernel architectures?

The main difference between microkernel and monolithic kernel is that the microkernel-based systems have OS services and kernel in separate address spaces while the monolithic kernel-based systems have OS services and kernel in the same address space. Microkernel and monolithic kernel are two types of kernels.

Is monolithic or microkernel better?

Since monolithic kernels' device drivers reside in the kernel space, monolithic kernels are less secure than microkernels, and failures (exceptions) in the drivers may lead to crashes (displayed as BSODs in Windows). Microkernels are more secure than monolithic kernels, hence more often used in military devices.

Is monolithic kernel better?

Advantages of Monolithic Kernel – One of the major advantages of having a monolithic kernel is that it provides CPU scheduling, memory management, file management, and other operating system functions through system calls. The other one is that it is a single large process running entirely in a single address space.


1 Answers

Monolithic kernel is a single large process running entirely in a single address space. It is a single static binary file. All kernel services exist and execute in the kernel address space. The kernel can invoke functions directly. Examples of monolithic kernel based OSs: Unix, Linux.

In microkernels, the kernel is broken down into separate processes, known as servers. Some of the servers run in kernel space and some run in user-space. All servers are kept separate and run in different address spaces. Servers invoke "services" from each other by sending messages via IPC (Interprocess Communication). This separation has the advantage that if one server fails, other servers can still work efficiently. Examples of microkernel based OSs: Mac OS X and Windows NT.

like image 95
sariful islam Avatar answered Oct 05 '22 22:10

sariful islam