Você está na página 1de 3

1 .Explain Nanokernel, Microkernel and Monolithic kernel based model.

Also
write the difference between three models in the form of table.
Microkernel:- A microkernel (also known as -kernel) is the near-minimum
amount of software that can provide the mechanisms needed to implement an
operating system (OS). These mechanisms include low-level address space
management, thread management, and inter-process communication (IPC).
The microkernel approach is to define a very simple abstraction over the
hardware, with a set of primitives or system calls to implement minimal OS
services such as thread management, address spaces and interprocess
communication. All other services, those normally provided by the kernel such
as networking, are implemented in user-space programs referred to as
servers. Servers are programs like any others, allowing the operating system
to

be

modified

simply

by

starting

and

stopping

Monolithic:- The monolithic approach is to define a high-level virtual


interface over the hardware, with a set of primitives or system calls to
implement operating system services such as process management,
concurrency, and memory management in several modules that run in
supervisor mode.
Even if every module servicing these operations is separate from the whole,
the code integration is very tight and difficult to do correctly, and, since all the
modules run in the same address space, a bug in one module can bring down
the whole system. However, when the implementation is complete and
trustworthy, the tight internal integration of components allows the low-level
features of the underlying system to be effectively utilized, making a good
monolithic kernel highly efficient.

Nanokernel :- A kernel where the total amount of kernel code, i.e. code
executing in the privileged mode of the hardware, is very small. The
term picokernel was sometimes used to further emphasize small size. The
term nano kernel was coined by Jonathan S. Shapiro in the paper It was a
sardonic response to mach which claimed to be a microkernel while Shapiro
considered it monolithic, essentially unstructured, and slower than the
systems it sought to replace. Subsequent reuse of and response to the term,
including the picokernel coinage, suggest that the point was largely missed.
Both nanokernel and picokernel have subsequently come to have the same
meaning expressed by the term microkernel.

Microkernel

Monolithic

Microkernels are used in


QNX, L4 and HURD

Monolithic kernels are


used in Unix and Linux

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 .

Monolithic kernels are


faster than microkernels

microkernel
approach
uses message queues.
1st gen microkernels
poorly implemented IPC
so were slow on context

Monolithic kernels use


signals and sockets to
ensure IPC

Nanokernel

switches.
A pure Microkernel has
to be small in size.

Monolithic
kernels
generally are bulky

Micro
kernels
only
keeps the basic of the
facility in kernel code
and
remaining
is
implemented in the user
space.

Memory management In
Mono kernel everything
in the kernel space

Você também pode gostar