articles/kernel.md: new article
This commit is contained in:
parent
d30e7b0a2e
commit
8bb6485b6c
1 changed files with 16 additions and 0 deletions
16
articles/kernel.md
Normal file
16
articles/kernel.md
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
# Kernel
|
||||||
|
A kernel is the fundamental part of an [operating system](operating_system.md) 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](unix.md), [Linux](linux.md) and the [BSD](bsd) kernels.
|
||||||
|
|
||||||
|
## Microkernel
|
||||||
|
*See [Microkernel](microkernel.md)*
|
||||||
|
|
||||||
|
A microkernel--unlike a monolithic one, has less functionality on the kernel side, moving most
|
||||||
|
to the userland.
|
Loading…
Add table
Reference in a new issue