Comparison of operating system kernels - Wikiwand
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.
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.
The major contemporary general-purpose kernels are shown in comparison. Only an overview of the technical features is detailed.
More information Kernel name, Programminglanguage ...
Close
Failure analysis and availability
Scalability and clustering
![]() | This section needs expansion. You can help by adding to it. (March 2025) |
Data link layer and Tunneling protocol support
![]() | This section needs expansion. You can help by adding to it. (April 2025) |
More information Kernel, File access control ...
Kernel |
File access control | Disable memory execution support | Kernel ASLR |
Mandatory access control | Capability-based security | In-kernel |
Audit API | Sandbox | SYN flood protection | UDP flood protection | Ping flood protection | Smurf attack protection | Network Behavior Analysis |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Linux |
Traditional Unix permissions, POSIX ACL | Yes | Yes | LSM (SELinux, SMACK, TOMOYO Linux, AppArmor) | seccomp | keyctl | fanotify | SELinux Sandbox, seccomp | SYN cookies | hash tables | ICMP rate limiting | reverse path filtering | Netfilter |
FreeBSD |
Traditional Unix permissions, POSIX and NFSv4 ACL | Yes | Yes | TrustedBSD MAC | Capsicum | ? | OpenBSM | Capsicum, MAC framework | SYN cookies | ? | ? | ? | ? |
Solaris |
Traditional Unix permissions, POSIX ACL, NFSv4 ACL | Default | ? | Solaris Trusted Extensions | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Windows NT |
Access control list | DEP | Yes | Mandatory Integrity Control | AppContainers | No | Yes | Windows Event Log | Yes[70] | Yes | ? | ? | ? |
XNU |
Traditional Unix permissions, NT/NFSv4 ACL[71] | Yes | Yes | TrustedBSD MAC | ? | ? | OpenBSM | Apple XNU Sandbox | ? | ? | ? | ? | ? |
Close
More information Kernel Name, Container(no resource management, no security) ...
Kernel Name | Container (no resource management, no security) |
Container (no resource management) |
Container (resource management) |
Paravirtualization | Full virtualization | User-space execution | Kernel as Library | Kernel as Kernel Driver | Hypervisor-Enforced Kernel Partitioning |
---|---|---|---|---|---|---|---|---|---|
Linux | chroot | LXC | Virtio, Hyper-V (guest only), Xen (guest only), VMI (guest only), kvm-lite, lguest | KVM | UML | (LKL) | (coLinux) | No | |
DragonFly BSD kernel | chroot | jail | No | No | vkernel | ? | ? | No | |
FreeBSD kernel | chroot | jail | Virtio, Xen (guest only) | BHyVe (KVM) | ? | ? | ? | No | |
NetBSD kernel | chroot | (sysjail (discontinued)) | No | Virtio and Xen | No | ? | Rump kernel | ? | No |
Solaris kernel | chroot | Solaris Containers / Zones | No | No | No | ? | ? | No | |
Windows NT kernel | AppContainers, Job Objects, Windows Server Containers | Hyper-V | Project Drawbridge | No | Virtual Secure Mode, Device Guard, Credential Guard[72] | ||||
XNU | chroot | ? | ? | ? | ? | ? | ? | ? | No |
Close
A comparison of OS support for different binary formats (executables):
More information Name, a.out ...
Name | a.out | ECOFF | ELF | FDPIC ELF binaries (mmu less) |
flat binaries (superH) |
HUNK | Mach-O | Misc |
PE | SOM (PA-RISC, HP-UX) |
NLM | PEF | DOS COM | MZ | LE | LX | NE |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Amiga Exec | No | No | Yes[79] | No | No | Yes | No | No | No | No | ? | ? | ? | ? | ? | ? | ? |
DragonFly BSD | No | No | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
FreeBSD | ? | ? | Yes | ? | ? | ? | ? | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? |
HP-UX | No | No | Yes | No | No | No | No | No | No | Yes | No | No | ? | ? | ? | ? | ? |
Linux | No | Yes | Yes | Yes | Yes | No | No | Yes | Some[80] | Yes | ? | No | ? | ? | ? | ? | ? |
MINIX 3 | Some[11][12] | No | Yes[10] | No | No | No | No | No | No | No | No | No | ? | ? | ? | ? | ? |
NetBSD | Yes | Yes | Yes | ? | ? | ? | Yes | ? | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
OpenBSD | ? | ? | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
ReactOS | ? | ? | ? | ? | ? | ? | ? | ? | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
Solaris | Yes[81] | No | Yes[82] | No | No | No | No | No | Some[83] | No | ? | ? | ? | ? | ? | ? | ? |
Windows NT | No | No | Yes with WSL | No | No | No | No | No | Yes | No | No | No | Yes on x86 | Yes on x86 | ? | ? | Yes on x86 |
XNU | No | No | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No | No |
Close
Physical file systems:
More information Kernel, Acorn ADFS ...
Kernel | Acorn ADFS | Amiga FFS | APFS | BeFS | BFS | cramfs | EFS | ext2 | ext3 | ext4 | F2FS | FAT | FreeVxFS | HFS | HFS+ | HPFS | ISO 9660 | JFFS | JFFS2 | JFS | MINIX fs | NSS | NTFS | OCFS | QNX4 FS | System V FS | UDF | UFS | XFS | ZFS | ReiserFS | Reiser4 | Btrfs | HAMMER | Tux3 | exFAT | ReFS |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DragonFly BSD kernel | No | No | No | No | No | No | No | Yes | No | No | No | Yes | No | No | No | No | Yes | No | No | No | No | No | limited write | No | No | No | read only | Yes | No | No | No | No | No | Yes | No | No | No |
FreeBSD kernel | No | No | No | No | No | No | No | Yes | Yes | Yes | No | Yes | No | No | No | No | Yes | No | No | No | No | No | limited write | No | No | No | Yes | Yes | read only | Yes | read only | No | No | No | No | ? | No |
Linux kernel | Yes [84] |
Yes | Yes [85] |
read only | Yes | Yes | read only | Yes | Yes | Yes | Yes | Yes | read only | Yes | limited write (only with empty journal) | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Full R/W with additional userspace driver)[86] |
Yes | Yes [84] [87] |
write support? | Yes | Yes [84] |
Yes | both FUSE and native | Yes | Yes | Yes | No | Yes | Yes | No |
MINIX 3 kernel | No | No | No | No | No | No | No | Yes | No | No | No | Tools available, cannot mount | No | No | No | No | Yes | No | No | No | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
NetBSD kernel | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? |
NetWare kernel | No | No | No | No | No | No | No | No | No | No | No | Yes | No | No | No | No | Yes | No | No | No | No | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | ? | No |
OpenBSD kernel | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? |
ReactOS kernel | No | No | No | No | No | No | No | Yes [88] |
Yes [88] |
Yes [88] |
No | Yes [88] |
No | No | No | No | Yes [88] |
No | No | No | No | No | Read only | No | No | No | Yes [88] |
No | No | No | No | No | Yes [89] |
No | No | No | No |
Solaris kernel | ? | ? | No | ? | ? | ? | ? | Yes | ? | ? | ? | Yes | ? | ? | ? | ? | Yes | ? | ? | ? | ? | No | No | ? | ? | ? | Yes | Yes | ? | Yes | No | No | No | No | No | ? | No |
Windows NT kernel | ? | ? | Yes [85] |
? | ? | ? | ? | Yes [90] |
Yes [91] |
Yes [91] |
No | Yes | ? | Yes [85] |
Yes [85] |
No | Yes | ? | ? | ? | ? | No | Yes | ? | ? | ? | Yes | ? | ? | No | No | No | Yes [89] |
No | No | Yes | Yes |
XNU | No | No | Yes | No | No | No | No | Yes [92] |
Yes [92] |
No | No | Yes | No | Yes | Yes | No | Yes | No | No | No | No | No | Read-Only | No | No | No | Yes | Yes | No | read only | No | No | No | No | No | Yes | No |
Close
Supported CPU instruction sets and microarchitectures
This table indicates, for each kernel, what operating systems' executable images and device drivers can be run by that kernel.
This may be usable on some situations like file system encrypting.
More information Kernel name, DES ...
Kernel name | DES | AES | Blowfish | Triple DES | Serpent | Twofish | CAST-128 | DES-X | IDEA | RC2 | RC5 | SEED | Skipjack | TEA | XTEA | CAST-256 | RC4 | Camellia | Anubis | KHAZAD | Salsa20 | FCrypt |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DragonFly BSD kernel | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No | No | Yes | No | No | No | Yes | Yes | No | No | No | No |
FreeBSD kernel | Yes | Yes | Yes | Yes | No | No | Yes | No | Yes | No | No | No | Yes | No | No | Yes | Yes | Yes | No | No | No | No |
Linux | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Windows NT kernel | Yes | Yes | Yes | Yes | No | No | No | No | No | Yes | No | No | No | No | No | No | Yes | No | No | No | No | No |
macOS XNU Kernel | Yes | Yes | Yes | ? | ? | ? | Yes | ? | ? | Yes | Yes | ? | ? | ? | ? | Yes | Yes | ? | ? | ? | ? | ? |
Close
This may be usable on some situations like compression file system.
More information Kernel name, ACL ...
Kernel name | ACL | SCO | LMP | HCI | L2CAP | BNEP | RFComm. | SDP | TCP | AVTCP | AVDTP | OBEX | CMTP | HIDP | HCRP | CAPI | PPP |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FreeBSD kernel | ? | ? | ? | Yes | Yes | ? | Yes | Yes | ? | ? | ? | No | ? | ? | ? | ? | ? |
Linux | ? | Yes | ? | Yes | Yes | Yes | Yes | ? | ? | ? | ? | ? | Yes | Yes | ? | ? | ? |
macOS XNU Kernel | ? | ? | ? | ? | Yes | ? | Yes | Yes | ? | ? | ? | No | ? | ? | ? | ? | ? |
Kernel name | ACL | SCO | LMP | HCI | L2CAP | BNEP | RFComm. | SDP | TCP | AVTCP | AVDTP | OBEX | CMTP | HIDP | HCRP | CAPI | PPP |
Close
More information Kernel name, Audio system ...
Kernel name | Audio system | in-kernel mixer | in-kernel filter |
---|---|---|---|
Linux | ALSA | ? | ? |
Windows NT kernel | MME / WDM audio / Kernel Streaming (KS) | dropped (KMixer.sys) | KS Filters |
FreeBSD kernel | OSS API | VCHANs in OSS API | ? |
NetBSD kernel | native (Sun-like) / OSS API[123] | audio_system[124] | ? |
Solaris kernel | Sun audio API / OSS API | Yes | ? |
Close