In a monolithic kernel, all operating system services run together with the main kernel thread. Monolithic kernels have traditionally been used in Unix-like operating systems and are generally faster since less software is involved. However, monolithic kernels can become very large and difficult to maintain over time as bugs in one part of the kernel can have system-wide effects and debugging is challenging.
3. In a monolithic kernel, all OS services run
along with the main kernel thread.
Monolithic kernels, which have
traditionally
been used by Unix-like operating systems.
Since there is less software involved it is
faster.
Monolithic kernel
4. As it is one single piece of software it
should be smaller both in source and
compiled forms.
Less code generally means fewer bugs
which can translate to fewer security
problems.
5. Most work in the monolithic kernel is
done via system calls.
These types of kernels consist of the
core functions of the operating system
and the device drivers with the ability to
load modules at runtime.
6. Coding in kernel space is hard, since you
cannot use common libraries and
debugging is harder.
Bugs in one part of the kernel have strong
side effects.
Kernels often become very huge, and
difficult to maintain.
7. Even if the modules servicing these operations are
separate from the whole, the code integration is
tight and difficult to do correctly.
Since the modules run in the same address space,
a bug can bring down the entire system.
8. The disadvantage cited for monolithic
kernels is that they are not portable;
that is, they must be rewritten for each
new architecture that the operating
system is to be used on.