Comparison of operating system kernels


A kernel is the most fundamental component of a computer operating system. 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. For this kind of information, please see operating system advocacy.

Feature overview

The major contemporary general-purpose kernels are shown in comparison. Only an overview of the technical features is detailed.
Kernel nameProgramming languageUsed inCreatorExecutable
format
TypeIntegrated firewallSMP supportMultiple architecture
support
.
MultitaskingVirtualizationSecurityProfiling/DebuggingSoft real-time supportHard real-time supportCan keep RTC in UT
Agnix
Amiga ExecAmigaOSCommodore InternationalHUNKExokernel
Amiga Exec SG AmigaOS 4Hyperion EntertainmentELF/HUNKExokernel
DragonFly BSD kernelCDragonFly BSDMatt DillonELFhybrid
FreeBSD kernelCFreeBSD,
Debian GNU/kFreeBSD,
Gentoo/FreeBSD,
Orbis OS
The FreeBSD ProjectELF, others - platform dependentmonolithic
GNU Hurd CGNU/Hurd GNU Project/Free Software FoundationELF
GNU Mach Cpart of GNU Hurd, used in GNU/HurdGNU Project/Free Software FoundationELFmicrokernel
Inferno kernelInfernoBell Labs / Vita Nuova Holdingsvirtual machine
L4L4Jochen Liedtkemicrokernel
Linux kernel CLinux, Android, Ubuntu, CentOS, webOS, Fire OS, Firefox OS, Chrome OS, Syllable Server, Mastodon Linux, OpenBSD/Linux, Plan 9/Linux, Sailfish OS, Tizen, amongst others.Linus TorvaldsELF, othersmonolithic
Compute Node LinuxCompute Node LinuxCray Inc.
Mach CNeXTSTEP and OPENSTEP for Mach and Tru64 UNIXCarnegie Mellon UniversityMach-Omicrokernel, hybrid kernel
MINIX 3 kernel CMINIX 3Andrew S. TanenbaumELF, a.outmicrokernel
MkLinux OSF Research Institute and Apple Computermicrokernel
NetBSD kernelCNetBSD,
GNU/kNetBSD,
The NetBSD ProjectELF, others - platform dependentmonolithic, anykernel using rump kernel architecture
NetWare kernelNetWareNovellNLMhybrid
OpenBSD kernelCOpenBSDOpenBSD developersELF, others - platform dependentmonolithic
OS/2 kernelOS/2 version 2 and aboveIBMLXhybrid PowerPC version developed but never officially released.
Plan 9 kernelCPlan 9 from Bell LabsBell Labshybrid
ReactOS kernelC, C++ReactOSReactOS FoundationPE, others?hybrid
Rockbox kernelRockboxThe Rockbox Project
SunOS kernelCSunOSSun Microsystemsa.out
monolithic
Solaris kernelCSolaris,
OpenSolaris,
GNU/kOpenSolaris
Sun MicrosystemsELF monolithic
Trix kernelTrixMassachusetts Institute of Technologya.outmonolithic
Windows NT kernel C, C++Windows NT, 2000,
XP, 2003, Vista, Windows 7, Windows 8, Windows Phone 8, Windows Phone 8.1, Windows 10
MicrosoftPE, others?hybrid
XNU C, C++Mac OS X, iOS, iPadOS, tvOS, watchOS,
OpenDarwin,
PureDarwin
GNU/Darwin
Apple Inc.Mach-Ohybrid
SPARTAN kernel HelenOSJakub JermarELFmicrokernel
Kernel nameUsed inCreatorExecutable
format
TypeIntegrated firewallSMP supportMultiple architecture
support
.
MultitaskingVirtualizationSecurityProfiling/DebuggingSoft real-time supportHard real-time supportCan keep RTC in UT

Transport protocol support

In-kernel security

Kernel NameFile access controlDisable memory execution supportKernel ASLRMandatory access controlCapability-based securityIn-kernel key managementAudit APISandboxSYN flood protectionUDP flood protectionPing flood protectionSmurf attack protectionNetwork Behavior Analysis
Linux???
FreeBSD Kernel
Solaris Kernel
Windows NT kernel
XNU

In-kernel virtualization

In-kernel server support

Kernel NameHTTPFTPNFSCIFSName serverTransport-layer load balancerApplication-layer load balancer9PTLS proxyWAFMemcached server
Linux kernel
DragonFly BSD kernel
FreeBSD kernel
Solaris kernel
Windows NT kernel
XNU

Binary format support

A comparison of OS support for different binary formats :
Kernel Namea.outECOFFELFFDPIC
ELF
binaries
flat
binaries
HUNKMach-OMisc
PESOM
NLMPEFDOS COMMZLELXNE
Amiga Exec
DragonFly BSD kernel
HP-UX kernel
Linux kernel
MINIX 3 kernel
NetBSD kernel
ReactOS kernel
Solaris kernel
Windows NT kernel
XNU

File system support

Physical file systems:
KernelAcorn ADFSAmiga FFSBeFSBFScramfsEFSext2ext3ext4F2FSFATFreeVxFSHFSHFS+HPFSISO 9660JFFSJFFS2JFSMINIX fsNSSNTFSOCFSQNX4 FSSystem V FSUDFUFSXFSZFSReiserFSReiser4BtrfsHAMMERTux3exFATReFS
DragonFly BSD kernel
FreeBSD kernel
Linux kernel


MINIX 3 kernel
NetWare kernel
ReactOS kernel






Solaris kernel
Windows NT kernel





XNU

Networked file system support

Kernel NameNFSAFSCIFSCoda9PCeph
DragonFly BSD kernel
FreeBSD kernel
Linux kernel
Solaris kernel
Windows NT kernel
XNU

Supported CPU instruction sets and microarchitectures

Supported GPU processors

Supported kernel execution environment

Supported cipher algorithms

This may be usable on some situations like file system encrypting.
Kernel nameDESAESBlowfishTriple DESSerpentTwofishCAST-128DES-XIDEARC2RC5SEEDSkipjackTEAXTEACAST-256RC4CamelliaAnubisKHAZADSalsa20FCrypt
DragonFly BSD kernel
FreeBSD kernel
Linux
Windows NT kernel
macOS XNU Kernel
Kernel nameDESAESBlowfishTriple DESSerpentTwofishCAST-128DES-XIDEARC2RC5SEEDSkipjackTEAXTEACAST-256RC4CamelliaAnubisKHAZADSalsa20FCrypt

Supported compression algorithms

This may be usable on some situations like compression file system.
Kernel nameDeflatezlibLZOLZJBgzip
Linux
Solaris kernel

Supported message digest algorithms

Supported Bluetooth protocols

Footnotes