A kernel is a component of a computer operating system.[1] A comparison of system kernels can provide insight into the design and architectural choices made by the developers of particular operating systems.
Comparison criteria
The following tables compare general and technical information for a number of widely used and currently available operating system kernels. Please see the individual products' articles for further information.
Even though there are a large number and variety of available Linux distributions, all of these kernels are grouped under a single entry in these tables, due to the differences among them being of the patch level. See comparison of Linux distributions for a detailed comparison. Linux distributions that have highly modified kernels — for example, real-time computing kernels — should be listed separately. There are also a wide variety of minor BSD operating systems, many of which can be found at comparison of BSD operating systems.
The tables specifically do not include subjective viewpoints on the merits of each kernel or operating system.
Feature overview
The major contemporary general-purpose kernels are shown in comparison. Only an overview of the technical features is detailed.
Kernel name
|
Programming language
|
Used in
|
Creator
|
Executable format (also see section below)
|
Type
|
Integrated firewall
|
SMP support
|
Multiple architecture support (also see section below).
|
Multitasking
|
Virtualization
|
Security
|
Profiling/Debugging
|
Soft real-time support
|
Hard real-time support
|
Can keep RTC in UT[2]
|
Amiga Exec
|
|
AmigaOS
|
Commodore International
|
HUNK
|
Exokernel (atypical)[3]
|
No
|
No
|
No
|
Yes
|
No
|
No
|
Yes
|
No
|
No
|
No
|
Amiga Exec SG (2nd Generation)
|
|
AmigaOS 4
|
Hyperion Entertainment
|
ELF/HUNK
|
Exokernel (atypical)
|
No
|
No
|
No
|
Yes
|
No
|
No
|
Yes
|
No
|
No
|
?
|
DragonFly BSD kernel
|
C
|
DragonFly BSD
|
Matt Dillon
|
ELF
|
hybrid
|
Ipfirewall, PF
|
Yes
|
No
|
Yes
|
chroot, jail, vkernel
|
Unix permissions
|
DDB, KGDB
|
?
|
?
|
?
|
FreeBSD kernel
|
C
|
FreeBSD,
Debian GNU/kFreeBSD,
Gentoo/FreeBSD,
Orbis OS
|
The FreeBSD Project
|
ELF, others - platform dependent
|
monolithic
|
IPFilter, Ipfirewall, PF
|
Yes
|
Yes
|
Yes
|
chroot, jail, bhyve
|
Unix permissions, POSIX.1e and NFSv4 ACLs,[4][5] Capsicum, TrustedBSD MAC, OpenBSM
|
KDB, DDB, KGDB, DTrace, hwpmc
|
Yes
|
?
|
Yes
|
GNU Hurd
|
C
|
GNU/Hurd (Arch Hurd, Debian GNU/Hurd)
|
GNU Project/Free Software Foundation
|
ELF
|
multiserver microkernel
|
No
|
partial
|
No
|
Yes
|
chroot, Xen
|
Unix permissions, POSIX ACL, POSIX Capabilities
|
?
|
?
|
?
|
?
|
GNU Mach
|
C
|
part of GNU Hurd, used in GNU/Hurd
|
GNU Project/Free Software Foundation
|
ELF
|
microkernel
|
No
|
partial
|
No
|
Yes
|
chroot, Xen
|
Unix permissions, POSIX ACL, POSIX Capabilities
|
?
|
?
|
?
|
?
|
Inferno kernel
|
|
Inferno
|
Bell Labs / Vita Nuova Holdings
|
?
|
virtual machine
|
?
|
Yes
|
Yes
|
Yes
|
chroot, Xen
|
?
|
?
|
?
|
?
|
?
|
L4
|
|
L4
|
Jochen Liedtke
|
No
|
microkernel
|
No
|
Yes
|
Yes
|
Yes
|
Yes
|
Afterburner/L4 , Marzipan , capabilities in L4/Fiasco[6]
|
L4/Fiasco[6]
|
L4/Fiasco[6]
|
?
|
?
|
Linux kernel
|
C
|
Linux (kernel), Android, Ubuntu, CentOS, webOS, Fire OS, Firefox OS, ChromeOS, Syllable Server, Mastodon Linux, OpenBSD/Linux, Plan 9/Linux, Sailfish OS, Tizen, amongst others.
|
Linus Torvalds
|
ELF, others
|
monolithic
|
*ipfwadm (2.0 –)
|
Yes
|
Yes
|
Yes
|
cgroups, chroot, Lguest, Xen, KVM, kvm-lite, LXC
|
Unix permissions, POSIX ACL, POSIX Capabilities, keyctl, LSM (SELinux, SMACK, TOMOYO Linux, AppArmor)
|
OProfile, kprobe, SystemTap, JProbe, ftrace, KDB, KGDB, kernel marker, perf tools, eBPF
|
preempt=full, threadirqs
|
(CONFIG_PREEMPT_RT Patch)
|
Yes
|
Compute Node Linux
|
|
Compute Node Linux
|
Cray Inc.
|
?
|
?
|
?
|
?
|
?
|
?
|
?
|
?
|
?
|
?
|
?
|
?
|
Mach
|
C
|
NeXTSTEP and OPENSTEP for Mach and Tru64 UNIX
|
Carnegie Mellon University
|
Mach-O
|
microkernel, hybrid kernel
|
?
|
Yes
|
?
|
Yes
|
?
|
?
|
?
|
Yes
|
?
|
?
|
MINIX 3 kernel
|
C
|
MINIX 3
|
Andrew S. Tanenbaum
|
ELF,[7] a.out[8][9]
|
microkernel
|
No
|
No
|
Yes
|
Yes
|
No
|
Unix permissions
|
Call profiling, statistical profiling, Minix Debugger (mdb)
|
No
|
No
|
?
|
MkLinux
|
|
?
|
OSF Research Institute and Apple Computer
|
?
|
microkernel
|
?
|
?
|
?
|
?
|
?
|
?
|
?
|
?
|
?
|
?
|
NetBSD kernel
|
C
|
NetBSD,
GNU/kNetBSD (Debian GNU/NetBSD),
|
The NetBSD Project
|
ELF, others - platform dependent
|
monolithic, anykernel using rump kernel architecture
|
IPFilter, PF, NPF
|
Yes
|
Yes
|
Yes
|
Xen, chroot
|
kauth, Unix permissions
|
DDB, KGDB, tprof
|
POSIX real-time scheduling extensions
|
Kernel preemption [10]
|
Yes
|
NetWare kernel
|
|
NetWare
|
Novell
|
NLM
|
hybrid
|
Yes
|
Yes
|
No
|
Yes
|
?
|
?
|
?
|
?
|
?
|
?
|
OpenBSD kernel
|
C
|
OpenBSD
|
OpenBSD developers
|
ELF, others - platform dependent
|
monolithic
|
PF
|
Yes
|
Yes
|
Yes
|
?
|
Unix permissions
|
?
|
?
|
?
|
?
|
OS/2 kernel
|
|
OS/2 version 2 and above
|
IBM
|
LX
|
hybrid
|
No
|
Yes
|
No PowerPC version developed but never officially released.
|
Yes
|
No
|
Yes
|
Yes
|
Yes
|
No
|
?
|
Plan 9 kernel
|
C
|
Plan 9 from Bell Labs
|
Bell Labs
|
?
|
monolithic
|
ipmux
|
Yes
|
Yes
|
Yes
|
?
|
?
|
?
|
?
|
?
|
?
|
ReactOS kernel
|
C
|
ReactOS
|
ReactOS Foundation
|
PE
|
hybrid
|
?
|
Yes
|
Yes
|
Yes
|
?
|
Yes
|
Yes
|
?
|
?
|
?
|
Rockbox kernel
|
|
Rockbox
|
The Rockbox Project
|
?
|
?
|
?
|
?
|
Yes
|
?
|
?
|
?
|
?
|
?
|
?
|
?
|
SunOS kernel
|
C
|
SunOS
|
Sun Microsystems
|
a.out
|
monolithic
|
?
|
Yes
|
Yes
|
Yes
|
?
|
Unix permissions
|
?
|
?
|
?
|
?
|
Solaris kernel
|
C
|
Solaris,
OpenSolaris,
GNU/kOpenSolaris (Nexenta OS)
|
Sun Microsystems
|
Zdroj:https://en.wikipedia.org?pojem=Comparison_of_operating_system_kernels
>Text je dostupný pod licencí Creative Commons Uveďte autora – Zachovejte licenci, případně za dalších podmínek. Podrobnosti naleznete na stránce Podmínky užití.