Comparison of operating system kernels


A kernel is a component of a computer operating system. It serves as an intermediary connecting software to hardware, enabling them to work together seamlessly. 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 nameUsed inCreatorExecutable
format
TypeIntegrated firewallSMP supportMultiple architecture
support
.
VirtualizationSecurityProfiling/DebuggingSoft real-time supportHard real-time supportCan keep RTC in UT
Amiga ExecAmigaOSCommodore InternationalHUNKExokernel
Amiga Exec SG (2nd Generation)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 HurdCGNU/Hurd GNU Project/Free Software FoundationELF
GNU MachCpart of GNU Hurd, used in GNU/HurdGNU Project/Free Software FoundationELFmicrokernel
Inferno kernelInfernoBell Labs / Vita Nuova Holdingsvirtual machine
L4L4Jochen Liedtkemicrokernel
Linux kernelCLinux, Android, Ubuntu, CentOS, webOS, Fire OS, Firefox OS, ChromeOS, Syllable Server, Mastodon Linux, OpenBSD/Linux, Plan 9/Linux, Sailfish OS, Tizen, amongst others.Linus TorvaldsELF, othersmonolithic
Compute Node LinuxCompute Node LinuxCray Inc.
MachCNeXTSTEP and OPENSTEP for Mach, Tru64 UNIX and MkLinuxCarnegie Mellon UniversityMach-Omicrokernel, hybrid kernel
MINIX 3 kernelCMINIX 3Andrew S. TanenbaumELF, a.outmicrokernel
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 Labsmonolithic
ReactOS kernelCReactOSReactOS FoundationPEhybrid
Rockbox kernelRockboxThe Rockbox Project
SunOS kernelCSunOSSun Microsystemsa.out
monolithic
Solaris kernelCSolaris,
OpenSolaris,
GNU/kOpenSolaris
Sun MicrosystemsELF monolithic
SVR5 kernelCUnixWare 7, OpenServer 6Santa Cruz OperationELFmonolithic
Trix kernelTrixMassachusetts Institute of Technologya.outmonolithic
Windows NT kernelCAll Windows NT family systems, 2000,
XP, 2003, Vista, Windows 7, Windows 8, Windows Phone 8, Windows Phone 8.1, Windows 10, Windows 11, Windows Server
MicrosoftPEhybrid
Windows 9x kernelC++Windows 95, Windows 98, Windows MeMicrosoftPEmonolithic
XNU C, C++macOS, iOS, iPadOS, tvOS, watchOS,
OpenDarwin,
PureDarwin
GNU/Darwin
Apple Inc.Mach-Ohybrid
SPARTAN kernelCHelenOSJakub JermarELFmicrokernel
ZirconC++Fuchsia OSGoogleELFmicrokernel

Transport protocol support

[Inter-process communication] support

Kernel NamePipeUnix domain socketDoorNetlink
FreeBSD kernel
XNU
DragonFly BSD kernel
NetBSD kernel
OpenBSD kernel
Linux
Solaris kernel
Windows NT kernel

In-kernel security

File access controlDisable memory execution supportMandatory access controlCapability-based securityAudit APISandboxSYN flood protectionUDP flood protectionPing flood protectionSmurf attack protectionNetwork Behavior Analysis

In-kernel server support

Kernel NameHTTPFTPNetwork [File System (protocol)|NFS]CIFSName 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 kernel support for different binary formats :
Namea.outECOFFELFFDPIC
ELF
binaries
flat
binaries
HUNKMach-OPESOM
NLMPEFDOS COMMZLELXNE
Amiga Exec
DragonFly BSD kernel
FreeBSD kernel
HP-UX kernel
Linux
MINIX 3
NetBSD kernel
OpenBSD kernel
ReactOS kernel
Solaris kernel
Windows NT kernel
XNU

File system support

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




MINIX 3 kernel
NetBSD kernel
NetWare kernel
OpenBSD kernel
ReactOS kernel





Solaris kernel
Windows NT kernel






XNU


Networked file system support

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

Pseudo file system support

Kernel NameDevice File SystemProcess File System Interface for user-space file systems
DragonFly BSD kernel
FreeBSD kernel
Linux
NetBSD kernel
OpenBSD kernel
Solaris kernel
XNU

Supported kernel execution environment

This table indicates, for each kernel, what operating systems' executable images and device drivers can be run by that kernel.
Kernel nameLinuxDarwinWindows NTFreeBSDNetBSDSolarisOSF/1Amiga UnixSunOSBSD/OSiBCS2 systemsIRIXUltrixNDISSVR4
FreeBSD kernel
Linux kernel
NetBSD kernel? ?? ?
OpenBSD kernel
Windows NT kernel
ReactOS kernel
XNU

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

Supported compression algorithms

This may be usable on some situations like compression file system.

Supported message digest algorithms

Kernel nameCRC-32 CRC-32CMD2MD4MD5SHA-1SHA-2SHA-3Michael MICPoly1305RIPEMD-128RIPEMD-160RIPEMD-256RIPEMD-320TigerWhirlpoolHMACMDC-2GOSTLASHVMAC
Linux
Solaris kernel
Windows NT kernel
FreeBSD kernel
XNU kernel
Kernel nameCRC-32 CRC-32CMD2MD4MD5SHA-1SHA-2SHA-3Michael MICPoly1305RIPEMD-128RIPEMD-160RIPEMD-256RIPEMD-320TigerWhirlpoolHMACMDC2GOSTLASHVMAC

Supported Bluetooth protocols

Kernel nameCMTPHIDPHCRPCAPIPPP
FreeBSD kernel
Linux
macOS XNU Kernel
Kernel nameACLSCOLMPHCIL2CAPBNEPRFComm.SDPTCPAVTCPAVDTPOBEXCMTPHIDPHCRPCAPIPPP