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