846 B
846 B
Kernel
A kernel is the fundamental part of an operating system which has full control of the machine is running on and is responsible of managing the fundamental functionality required for a full OS (like memory management, security, hardware [in monolithic kernels], etc.).
Monolithic kernel
Monolithic kernels include all relevant functionality in the kernel side, including drivers. Naturally, this mean that monolithic kernels are big and have a huge attack surface due to the amount of code running in kernel mode (with full privileges). Notable monolithic kernels are: the classical Unix, Linux and the BSD kernels.
Microkernel
See Microkernel
A microkernel--unlike a monolithic one, has less functionality on the kernel side, moving most to the userland.