Akernel is a component of a computeroperating system.[1] It serves as an intermediary connecting software to hardware, enabling them to work together seamlessly.[2] 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 comparegeneral and technical information for a number of widely used and currently availableoperating system kernels. Please see the individual products' articles for further information.
Even though there are a large number and variety of availableLinux 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. Seecomparison 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 atcomparison 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-purposekernels are shown in comparison. Only an overview of the technical features is detailed.
| Kernel Name | Kernel Log | Serious system error report | Fatal system error report | Kernelcrash dump | Kernel debugger | Hardware error detection | SoftwareRAID | Remote storage replication | CPUhotplug | Memory hotplug | Kernellive patching | Kernel live update |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DragonFly BSD kernel | Yes | ? | Kernel panic | ? | ddb | ? | ? | ? | ? | ? | ? | ? |
| FreeBSD kernel | kern.msgbuf in sysctl | ? | Kernel panic | Yes[18] | KGDB | ? | GEOM,ZFS | (HAST in user-space) | No | ? | ? | ? |
| Linux kernel | kmsg | Linux kernel oops | Kernel panic / drm_panic | kdump | KDB /KGDB | EDAC (formerly Bluesmoke) | md,LVM | DRBD | Yes | Yes | livepatch | Kexec HandOver / Live Update Orchestrator[19] |
| NetBSD kernel | Yes | ? | Kernel panic | ? | DDB /KGDB | ? | RAIDframe,ZFS | ? | ? | ? | ? | ? |
| OpenBSD kernel | Yes | ? | Kernel panic | Yes[20] | ddb | ? | softraid | ? | ? | ? | ? | ? |
| Solaris kernel | Yes | ? | Yes | System core dump[21] | mdb | ereport | Solaris Volume Manager,ZFS | ? | ? | ? | ? | ? |
| Windows NT kernel | NT Kernel Logger inETW | Stop Error (Blue Screen of Death) | Kernel-mode Dump | KD | WHEA | Storage Spaces / Disk Management | Storage Replica / DFS Replication | ? | ? | Hotpatch[22] | ? | |
| XNU | Yes | ? | Kernel panic | ? | ddb / kdp | ? | AppleRAID | ? | ? | ? | ? | ? |
| Zircon | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
This sectionneeds expansion. You can help byadding missing information.(March 2025) |
| Kernel Name | Supported number of CPU cores | NUMA support | Computer cluster interconnect | Application checkpointing / Process migration | Single system image | Clustered file system | |||
|---|---|---|---|---|---|---|---|---|---|
| Remote direct memory access (RDMA) support | InfiniBand support | PCI Express Non-Transparent Bridge (NTB) support | CXL 3.1 inter-host communication withGIM support | ||||||
| DragonFly BSD kernel | 256[23] | Partial[23] | ? | ? | ? | ? | sys_checkpoint[24] | planned[25] | HAMMER2 |
| FreeBSD kernel | 1024[26] | Yes | Yes[27] | Yes | Yes[28] | ? | ? | No | pNFS[29] |
| Linux kernel | 8192 | Yes | Yes | Yes | Yes[30] | No | Checkpoint/Restart | (openMosix) | pNFS /Ceph /OCFS2 /GFS2 |
| Solaris kernel | 512[31] | Yes | Yes | Yes[32] | ? | ? | No | No | PxFS |
| Windows NT kernel | ? | Yes | ? | ? | ? | ? | ? | No | Cluster Shared Volumes |
| Kernel Name | Fullkernel preemption | Preventpriority inversion (Priority inheritance) | Realtime Scheduling | Realtime Priority | Realtime I/O | CPU Isolation | Disable CPU'sInterrupt request (IRQ) handling | Disable CPU's timer ticks | Prevent memory from being swapped out | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| kernel threads | interrupt handlers | lock sections | kernel space | userland | ||||||||
| DragonFly BSD kernel | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | mlock/mlockallsystem call |
| FreeBSD kernel | ? | ? | ? | ? | UMUTEX_ | SCHED_FIFO /SCHED_RR onULE scheduler[34] | rtprio system call[34] | ? | ? | ? | Yes, since FreeBSD 9.0[35] | mlock/mlockall system call |
| Linux kernel | preempt=full | threadirqs | PREEMPT_ | RT-mutex / (mutex with Proxy Execution[37]) | PI-futexes[38] | SCHED_FIFO /SCHED_RR onCFS/EEVDF | rtprio system call | IOPRIO_ | isolcpus | irqaffinity | nohz_full[40] | mlock/mlockall system call |
| NetBSD kernel | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | mlock/mlockall system call |
| OpenBSD kernel | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | mlock/mlockall system call |
| Solaris kernel | ? | ? | ? | ? | Yes[41] | ? | ? | ? | ? | ? | ? | mlock/mlockall system call |
| Windows NT kernel | Yes[42] | ? | ? | AutoBoost[43] | ? | REALTIME_ | ? | ? | ? | ? | Windows 8 and later[44] | VirtualLock |
| XNU | ? | ? | ? | ? | os_unfair_lock[45] | ? | ? | ? | ? | ? | ? | mlock system call |
| Zircon | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| Kernel Name | Internet layer (L3) | Transport layer (L4) | L4S Congestion controls | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| IPv4 | IPv6 | IPSec | TCP | Multipath TCP | UDP | SCTP | DCCP | QUIC | Accurate ECN (AccECN) | TCP Prague | Dual-Queue Coupled Active Queue Management | |
| DragonFly BSD kernel | Yes | Yes | ? | Yes | ? | Yes | No | No | ? | ? | ? | ? |
| FreeBSD kernel | Yes | Yes | ? | Yes | Unofficial patch exists[46] | Yes | Yes | Optional | ? | ? | ? | ? |
| Linux kernel | Yes | Yes | Yes | Yes | Partial[47] | Yes | Yes | dropped in 6.16 | (QUIC in Linux Kernel) | optional[48][49] | (Linux kernel tree with L4S patches) | DualPI2 qdisc[50][51] |
| NetBSD kernel | Yes | Yes | Yes | Yes | ? | Yes | Yes | Yes | ? | ? | ? | ? |
| OpenBSD kernel | Yes | Yes | ? | Yes | ? | Yes | ? | ? | ? | ? | ? | ? |
| Solaris kernel | Yes | Yes | ? | Yes | ? | Yes | Yes | ? | ? | ? | ? | ? |
| Windows NT kernel | Yes | Yes | ? | Yes | ? | Yes | No | ? | ? | ? | ? | ? |
| XNU | Yes | Yes | ? | Yes | Yes | Yes | No | No | ? | ? | ? | ? |
| Zircon | ? | ? | ? | Yes | ? | Yes | Yes | Yes | ? | ? | ? | ? |
This sectionneeds expansion. You can help byadding missing information.(April 2025) |
| Kernel Name | Data link layer (L2) | L2 over L2 | L2 segmentation | layer 2.5 (L2.5) | L2 over L2.5 | L2 over L3 | L3 over L3 | L2 over L4 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PPP | Ethernet | PPPoE | IEEE 802.1Q (VLAN) | IEEE 802.1ad (QinQ) | MPLS | VLL Epipe (VPWS) | L2TPv3 | L2GRE | L3 GRE | Mobile IP Minimal Tunneling[52] | IP in IP (IPIP)[53] | 6in4 (SIT)[54] | PPTP | L2TP | VXLAN | |
| DragonFly BSD kernel | Yes[55] | Yes | ? | Yes[56] | ? | ? | ? | ? | ? | Yes[57] | gif[58] | ? | ? | ? | ||
| FreeBSD kernel | Legacy kernel PPP[59][a] andnetgraph-based kernel PPP[60] | Yes | Yes[61] | Yes[62] | ? | ? | ? | ? | ? | Yes[63] | Yes[64] | gif[65] | ? | ? | Yes[66] | |
| Linux kernel | Yes[67] | Yes[68] | Yes[69] | Yes[70] | Yes[71] | ? | Yes[72] | ? | Yes[73] | No | Yes[74] | Yes[75] | No[b] | Yes[76] | Yes[77] | |
| NetBSD kernel | Yes[78] | Yes | Yes[79] | Yes[80] | ? | Yes[81] | ? | l2tp interface[82] | ? | Yes[83] | gif[84] | ? | ? | ? | ||
| OpenBSD kernel | Yes[85] | Yes | Yes[86] | Yes[87] | svlan[87] | ? | mpw[88] | ? | egre[89] | Yes[89] | No | ? | gif[90] | ? | ? | Yes[91] |
| Solaris kernel | Yes[92] | Yes | Yes[93] | Yes | ? | ? | ? | ? | ? | ? | No | Yes | ? | No[b] | No[b] | Yes |
| Windows NT kernel | ? | Yes | raspppoe.sys | ? | ? | ? | ? | ? | ? | Yes[94] | No | ipinip.sys | No[95] | ? | rasl2tp.sys | Yes |
| XNU | Yes | Yes | ? | Yes | ? | ? | ? | ? | ? | ? | No | gif | ? | ? | ? | |
| Zircon | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| Kernel Name | Signal | Messaging | Shared memory | Stream-oriented | Kernel-assistedRemote Procedure Call | ||||
|---|---|---|---|---|---|---|---|---|---|
| Message queue (Mailbox) | between kernel and userspace | Anonymous | Named | Pipe | Local socket | ||||
| Anonymous pipe | Named pipe | ||||||||
| FreeBSD kernel | Yes | POSIX/ | AF_NETLINK sockets[96] | SHM_ANON[97] | Yes | Bidirectional[98] | Yes | AF_UNIX | ? |
| XNU | Yes | POSIX | AF_ROUTE and AF_SYSTEM sockets,Mach IPC | ? | Yes | Unidirectional | Yes | AF_UNIX | Mach IPC |
| DragonFly BSD kernel | Yes | ? | ? | ? | Yes | Bidirectional | Yes | AF_UNIX | ? |
| NetBSD kernel | Yes | ? | AF_ROUTE sockets | ? | Yes | Unidirectional | Yes | AF_UNIX | ? |
| OpenBSD kernel | Yes | ? | AF_ROUTE sockets | ? | Yes | Bidirectional | Yes | AF_UNIX | ? |
| Linux | Yes | POSIX/ | AF_NETLINK sockets | memfd | POSIX/ | Unidirectional | Yes | AF_UNIX | Binder |
| Solaris kernel | Yes | POSIX/ | ? | ? | Yes | Bidirectional | Yes | AF_UNIX | Doors |
| Windows NT kernel | ? | MailSlot[99] | ? | ? | Yes | Unidirectional | NPFS | AF_UNIX[100] | ALPC |
| Kernel | Code signing | Runtime integrity checking | Application Whitelisting | Verifying | |||
|---|---|---|---|---|---|---|---|
| Kernel (Secure Boot) | Kernel driver | Application | block device | filesystem | |||
| Linux | Yes | Module signature verification | Linux Integrity Measurement Architecture | (Linux Kernel Runtime Guard) | ? | dm-verity | fs-verity |
| FreeBSD kernel | ? | ? | ? | ? | ? | ? | ? |
| NetBSD kernel | ? | ? | ? | ? | veriexec | ? | ? |
| Solaris kernel | ? | ? | ? | ? | ? | ? | ? |
| Windows NT kernel | Yes | Kernel-Mode Code Signing[106] | ? | Kernel Patch Protection | AppLocker | ? | Windows Resource Protection |
| XNU | ? | kext signing | ? | Kernel Patch Protection[107] | ? | ? | ? |
| 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[108] | bhyve | ? | ? | ? | No | |
| NetBSD kernel | chroot | (sysjail (discontinued)) | No | Virtio, Xen[109] | No | ? | Rump kernel | ? | No |
| OpenBSD kernel | chroot | No | No | Xen (guest only)[110] | Yes[111] | No | No | No | 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[112] | ||||
| XNU | chroot | ? | ? | ? | Yes[113] | ? | ? | ? | No |
| Kernel Name | HTTP | FTP | NFS | CIFS | Name server | Transport-layer load balancer | Application-layer load balancer | 9P | TLS proxy | WAF | Memcached server |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Linux kernel | (TUX web server patch) | (TUX web server patch) | knfsd | ksmbd | ? | IP Virtual Server | (KTCPVS) | (patch available) | SOL_TLS[114] | (Tempesta FW)[115] | (kmemcached) |
| DragonFly BSD kernel | No | No | Yes | Yes | ? | Yes[116] | ? | No | No | ? | ? |
| FreeBSD kernel | No | No | Yes | No | No | Yes[117] | No | No | ktls[118] | ? | ? |
| Solaris kernel | ? | ? | Yes | Yes[119] | ? | Yes[120] | Yes[120] | ? | KSSL | ? | ? |
| Windows NT kernel | HTTP.sys | ? | ? | Yes | ? | Yes | Yes | No | ? | ? | ? |
| XNU | No | No | Yes | No | No | No | No | No | No | ? | ? |
A comparison of OS kernel support for differentbinary formats (executables):
| Name | a.out | ECOFF | ELF | FDPIC ELF binaries (mmu less) | flat binaries (superH) | HUNK | Mach-O | Misc (wrapper based, like interpreters) | PE | SOM (PA-RISC, HP-UX) | NLM | PEF | DOS COM | MZ | LE | LX | NE |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Amiga Exec | No | No | Yes[121] | No | No | Yes | No | No | No | No | ? | ? | ? | ? | ? | ? | ? |
| DragonFly BSD kernel | No | No | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
| FreeBSD kernel | No | No | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No |
| HP-UX kernel | No | No | Yes | No | No | No | No | No | No | Yes | No | No | ? | ? | ? | ? | ? |
| Linux | No | Yes | Yes | Yes | Yes | No | No | Yes | No | Yes | ? | No | ? | ? | ? | ? | ? |
| MINIX 3 | Some[13][14] | No | Yes[12] | No | No | No | No | No | No | No | No | No | ? | ? | ? | ? | ? |
| NetBSD kernel | Yes | Yes | Yes | ? | ? | ? | dropped | ? | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
| OpenBSD kernel | ? | ? | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| ReactOS kernel | ? | ? | ? | ? | ? | ? | ? | ? | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
| Solaris kernel | Yes[123] | No | Yes[124] | No | No | No | No | No | No | No | ? | ? | ? | ? | ? | ? | ? |
| Windows NT kernel | No | No | Yes withWSL | No | No | No | No | No | Yes | No | No | No | No[a] | No[a] | ? | ? | No[a] |
| XNU | No | No | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No | No |
Physicalfile systems:
| 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 | Support dropped since 10.0-RELEASE[125][126] | No | No | No | Yes | Yes | read only | Yes | read only | No | No | No | No | ? | No |
| Linux kernel | Yes [127] | Yes | Unofficial [128] | 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 | Full read/write support since 5.15[129] | Yes | Yes [127] [130] | write support? | Yes | Yes [127] | Yes | 3rd-party module | 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 | ? | 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 [131] | Yes [131] | Yes [131] | No | Yes [131] | No | No | No | No | Yes [131] | No | No | No | No | No | Read only | No | No | No | Yes [131] | No | No | No | No | No | Yes[132][131] | No | No | No | No |
| Solaris kernel | ? | ? | No | ? | ? | ? | ? | Yes | ? | ? | ? | Yes | ? | ? | ? | ? | Yes | ? | ? | ? | ? | No | No | ? | ? | ? | Yes | Yes | ? | Yes | No | No | No | No | No | ? | No |
| Windows NT kernel | ? | ? | Unofficial [128] | ? | ? | ? | ? | Unofficial [133] | Unofficial [134] | Unofficial [134] | No | Yes | ? | Unofficial [128] | Unofficial [128] | No | Yes | ? | ? | ? | ? | No | Yes | ? | ? | ? | Yes | ? | ? | No | No | No | Unofficial [135] | No | No | Yes | Yes |
| XNU | No | No | Yes | No | No | No | No | Unofficial [136] | Unofficial [136] | No | No | Yes | No | Yes | Yes | No | Yes | No | No | No | No | No | Read-Only | No | No | No | Yes | Yes | No | Official support was abandoned; 3rd-party modules available | No | No | No | No | No | Yes | No |
| Kernel Name | NFS | AFS | CIFS | Coda | 9P | Ceph |
|---|---|---|---|---|---|---|
| DragonFly BSD kernel | up to NFSv3 | No | Yes | No | No | No |
| FreeBSD kernel | Yes | Yes | Yes | Yes | No | Yes |
| Linux kernel | Yes | Yes | Yes | Yes | Yes | Yes |
| NetBSD kernel | up to NFSv3 | ? | ? | ? | ? | ? |
| OpenBSD kernel | up to NFSv3 | ? | ? | ? | ? | ? |
| Solaris kernel | Yes | Yes | Yes | No | No | No |
| Windows NT kernel | Yes | Yes | Yes | No | No | No |
| XNU | Yes | Yes | Yes | No | No | No |
| Kernel Name | Device File System | Process File System (procfs) | Interface for user-space file systems |
|---|---|---|---|
| DragonFly BSD kernel | devfs | Yes | FUSE |
| FreeBSD kernel | devfs | Obsoleted[137] | FUSE |
| Linux | devtmpfs | Yes | FUSE |
| NetBSD kernel | devfs | Yes | PUFFS |
| OpenBSD kernel | No | No | FUSE |
| Solaris kernel | devfs | Yes | FUSE (3rd-party implementation) |
| XNU | devfs | No | FUSE (Unoffical implementation) |
| kernel | HP | Softbank, ARM Holdings | Intel | MIPS | IBM | Renesas Electronics | Oracle | NXP | Analog Devices | Xilinx | Cadence | Canon, Axis Comm. | Socionext | Microchip, Atmel | CML, Hyperstone | Intel, Altera | WDC | Sunplus Technology | NVIDIA | TI | |||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| VAX | Alpha | PA-RISC | ARM | x86 | i960 | IA-64 | MIPS | PowerPC | S/390 | z/Arch | H8300 | M16C | M32R | 78K | V850 | SuperH | SPARC | m68k | Blackfin (no-mmu) | MicroBlaze | Xtensa | ETRAX CRIS | FR-V | MN10300 | AVR32 | E1 (no-mmu) | Nios (no-mmu) | Nios II | WDC 65C816 | S+core | Tilera | C6X | |||||||||||
| mmu | no-mmu | x86 | x86-64 | mmu | no-mmu | 32-bit | 64-bit | mmu | no-mmu | 32-bit | 64-bit | no-mmu | mmu | no-mmu | mmu | no-mmu | mmu | no-mmu | |||||||||||||||||||||||||
| DragonFly BSD kernel | No | No | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
| FreeBSD kernel | No | 6.4 and below only[138] | No | Yes | ? | Yes | Yes | No | 10.4 and below only[138] | projected to end in 14.x[138] | No | Yes | Yes | No | No | No | No | No | No | No | No | No | No | 12.x and below only[138] | ? | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
| Linux kernel | No | Yes | Yes | Yes | Yes | Yes | Yes | No | 6.7 and below only | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | 4.16 and below only[139] | No | 2.6 and below only | Yes | Yes | Yes | Yes | Yes | Yes | Yes | 4.16 and below only[139] | Yes | Yes | Yes | 4.16 and below only[139] | 4.16 and below only[139] | 4.16 and below only[139] | 4.12 and below only | No | No | Yes | Yes | No | 4.16 and below only[139] | 4.16 and below only[139] | Yes |
| MINIX 3 kernel | ? | No | No | Yes | ? | Yes | In progress | No | No | In progress | ? | No | No | No | No | No | ? | No | ? | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
| NetBSD kernel | Yes | Yes | Yes | Yes | No[140] | Yes | Yes | ? | Yes | Yes | No[140] | Yes | No | No | No | ? | ? | ? | ? | ? | Yes | No[140] | Yes | Yes | No[140] | Yes | No[140] | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| NetWare kernel | No | No | No | No | No | Yes | No | ? | No | No | No | No | No | No | No | ? | ? | ? | ? | ? | No | No | No | No | No | No | No | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| OpenBSD kernel | last supported release 5.8[141] | Yes | Yes | Yes | ? | Yes | Yes | ? | No | Yes | ? | Yes | No | No | No | ? | ? | ? | ? | ? | Yes | ? | Yes | Yes | ? | Yes | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| Rockbox kernel | ? | ? | ? | Yes | ? | ? | ? | ? | ? | Yes | ? | ? | ? | ? | No | ? | ? | ? | ? | ? | Yes | ? | ? | ? | ? | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| Solaris kernel | No | No | No | No | No | Dropped since Oracle Solaris 11 (11/11)[142] | Yes | ? | No | No | No | Only in Solaris 2.5.1 | No | No | Only available as a separated version ofOpenSolaris | ? | ? | ? | ? | ? | No | No | Dropped since Solaris 10[143] | Yes | ? | No | No | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| Windows NT kernel | No | NT 5.0 RC1 and below only | No | Yes | No | Yes | Yes | No | XP and2003-2008 R2 only | NT 4.0 and below only | No | NT 3.51 andNT 4.0 only | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
| Windows CE kernel | No | No | No | Yes | ? | Yes | ? | No | No | Yes | ? | No | No | No | No | No | ? | No | ? | No | Yes | ? | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
| XNU | No | No | No | Yes | ? | Yes | Yes | ? | No | No | No | Yes | Yes | No | No | ? | ? | ? | ? | ? | No | No | No | No | No | No | No | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| SPARTAN kernel | ? | No | No | Yes | ? | Yes | Yes | ? | Yes | Yes | ? | Yes | No | No | No | ? | ? | ? | ? | ? | No | No | Yes | Yes | ? | No | No | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| FreeRTOS kernel | ? | ? | ? | ? | Yes[144] | ? | ? | ? | ? | ? | ? | Yes[144] | ? | ? | No | Yes[144] | ? | ? | Yes[144] | Yes[144] | ? | Yes[144] | ? | ? | ? | ? | ? | Yes[144] | Yes[144] | ? | ? | ? | ? | ? | Yes[144] | ? | ? | ? | Yes[144] | ? | ? | ? | ? |
| Zircon | No | No | No | Yes | Yes | No | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
| Kernel name | Intel | NVIDIA | AMD | ARM | Qualcomm | Imagination Technologies | Broadcom | VeriSilicon |
|---|---|---|---|---|---|---|---|---|
| HD/Iris/UHD Graphics | GeForce/Quadro/Tesla | Radeon | Mali | Adreno | PowerVR | VideoCore4 | Vivante | |
| Linux kernel | Yes | Yes | Yes | Yes | Yes | Yes[145] | Yes | Yes |
| Windows NT kernel | Yes | Yes | Yes | ? | Windows Phone 8.x,Windows 10 Mobile,Windows on ARM | Yes[146] | No[147] | Yes |
| XNU | via I/O Kit (macOS only) | via I/O Kit (macOS only) | No | via I/O Kit (iOS only) | No | No | ||
This table indicates, for each kernel, what operating systems' executable images and device drivers can be run by that kernel.
| Kernel name | Linux | Darwin | Windows NT | FreeBSD | NetBSD | Solaris | OSF/1 | Amiga Unix | SunOS | BSD/OS | iBCS2 systems | IRIX | Ultrix | NDIS | SVR4 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| FreeBSD kernel | Yes[148] | No | No | Yes | No | No | No | No | No | No | No | No | No | Yes[148] | Yes[148] |
| Linux kernel | Yes | No | (Longene) | No | No | No | No | No | No | No | No | No | No | (NDISwrapper) | No |
| NetBSD kernel | Yes[149] | dropped | No?[3]? | Yes[149] | Yes | Yes[149] | dropped | Yes[149] | Yes[149] | Yes[149] | dropped | dropped | Yes[149] | dropped | dropped |
| OpenBSD kernel | Dropped since OpenBSD 6.0[156] | No | No | Dropped since OpenBSD 5.0[157] | Dropped since OpenBSD 4.2[158] | No | No | No | Dropped since OpenBSD 4.8[159] | Dropped since OpenBSD 4.8[159] | Dropped since OpenBSD 4.8[159] | No | Dropped since OpenBSD 4.8[159] | No | Dropped since OpenBSD 5.0[157] |
| Windows NT kernel | Windows Subsystem for Linux 1 | No | Yes | No | No | No | No | No | No | No | No | No | No | Yes | No |
| ReactOS kernel | No | No | Yes | No | No | No | No | No | No | No | No | No | No | ? | No |
| XNU | No | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No |
This may be usable on some situations like file system encrypting.
| 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 | ? | ? | ? | ? | ? |
This may be usable on some situations like compression file system.
| Kernel name | Deflate | LZO | LZJB | zstd | |
|---|---|---|---|---|---|
| zlib | gzip | ||||
| Linux | Yes | Yes | Yes | No | Yes |
| NetBSD kernel | Yes | Yes | Yes | ? | Yes |
| Solaris kernel | Yes | ? | ? | Yes | ? |
| Kernel name | CRC-32 (IEEE) | CRC-32C | MD2 | MD4 | MD5 | SHA-1 | SHA-2 | SHA-3 | Michael MIC | Poly1305 | RIPEMD-128 | RIPEMD-160 | RIPEMD-256 | RIPEMD-320 | Tiger | Whirlpool | HMAC | MDC-2 | GOST | LASH | VMAC |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Linux | Yes[160][161] | Yes[162] | No | Yes[163] | Yes[164] | Yes[165] | Yes[166] | Partial[167] | Yes[168] | Yes[169] | Yes[170] | Yes[171] | Yes[172] | Yes[173] | Yes[174] | Yes[175] | Yes[176] | No | No | No | Yes[177] |
| Solaris kernel | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? | ? | ? | ? | Yes | ? | ? | Yes | ? | Yes | Yes | ? | ? | ? |
| Windows NT kernel | ? | ? | Yes | Yes | Yes | Yes | Yes | ? | No | ? | No | No | No | No | No | No | Yes | No | No | No | ? |
| FreeBSD kernel | Yes | Yes | ? | Yes | Yes | Yes | Yes | ? | ? | ? | ? | Yes | ? | ? | Yes | ? | Yes | ? | ? | ? | ? |
| XNU kernel | Yes | ? | Yes | ? | Yes | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| Kernel name | CRC-32 (IEEE) | CRC-32C | MD2 | MD4 | MD5 | SHA-1 | SHA-2 | SHA-3 | Michael MIC | Poly1305 | RIPEMD-128 | RIPEMD-160 | RIPEMD-256 | RIPEMD-320 | Tiger | Whirlpool | HMAC | MDC2 | GOST | LASH | VMAC |
| 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 |
| Kernel name | Audio system | in-kernel mixer | in-kernel filter |
|---|---|---|---|
| Linux | ALSA, with optionalOSS API compatibility[178] | ? | ? |
| 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[179] | audio_system[180] | ? |
| Solaris kernel | Sun audio API /OSS API | Yes | ? |
| Kernel name | Framebuffer | Display management | Hardware Compositing (Multiple Planes) | Display Multiplexer | Color transform | GPU scheduler | GPU memory management | in-kernel Remote Desktop | ||
|---|---|---|---|---|---|---|---|---|---|---|
| Matrices | 1DLUT | 3D LUT | ||||||||
| Linux | Linux framebuffer (fbdev) /Direct Rendering Manager (DRM) | Kernel Mode Setting (KMS) | Plane abstraction in DRM/KMS[181] | VGA Switcheroo[182] | Linux Color Pipeline API in DRM[183] | DRM sched[184] | DMA-BUF | No | ||
| Windows NT kernel | Dxgkrnl.sys | VidPN Manager in Dxgkrnl.sys[185] | Multiplane overlay (MPO) inWDDM[186] | ? | viaMHC profile[187] | ? | VidSch in Dxgkrnl[188] | VidMm in Dxgkrnl.sys, Dxgmms1.sys, and Dxgmms2.sys[189] | RdpDD.sys / RdpWD.sys | |
setfacl(1) – FreeBSD General CommandsManualSynAttack protection is enabled by default and cannot be disabled
The ACLs used in Macintosh OS X and Sun's Solaris operating system are similar to those in Windows to ensure they work well together.
The architectures on the chopping block for Linux 4.17 are Blackfin, CRIS, FRV, M32R, Metag, MN10300, Score, and Tile
Support for the 32–bit only x86 hardware has been removed. Support for running 32-bit applications and libraries will continue.