Comparison of operating system kernels

{{short description|None}}

A kernel is a component of a computer operating system.{{cite web|title=Kernel Definition|url=http://www.linfo.org/kernel.html|website=The Linux Information Project|accessdate=4 March 2015}} 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.

{{sticky header}}

{{sort-under}}

class="wikitable sortable sort-under mw-collapsible sticky-header" style="text-align: center; width: auto"

|+

! Kernel name

! {{verth|va=middle|Programming
language}}

! Used in

! Creator

! Executable
format
(also see
section
below)

! Type

! Integrated firewall

! SMP support

! Multiple architecture
support
(also see
section below).

! {{verth|va=middle|Multitasking}}

! Virtualization

! Security

! Profiling/Debugging

! Soft real-time support

! Hard real-time support

! Can keep RTC in UT[http://www.cl.cam.ac.uk/~mgk25/mswish/ut-rtc.html IBM PC Real Time Clock should run in UT]

Amiga Exec

|

| AmigaOS

| Commodore International

| HUNK

| Exokernel (atypical)The Amiga hardware lacked support for memory protection, so the strong isolation goals of the microkernel design could not be achieved.{{Citation needed|date=February 2007}}

| {{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}}

| {{dunno}}

DragonFly BSD kernel

| C

| DragonFly BSD

| Matt Dillon

| ELF

| hybrid

| {{yes|Ipfirewall,
PF}}

| {{yes}}

| {{no}}

| {{yes}}

| {{yes|chroot, jail, vkernel}}

| {{yes|Unix permissions}}

| {{yes|DDB, KGDB}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

FreeBSD kernel

| C

| FreeBSD,

Debian GNU/kFreeBSD,

Gentoo/FreeBSD,

Orbis OS

| The FreeBSD Project

| ELF, others - platform dependent

| monolithic

| {{yes|IPFilter, Ipfirewall,
PF}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes|chroot, jail, bhyve}}

| {{yes|Unix permissions, POSIX.1e and NFSv4 ACLs,{{Cite web | url=http://www.freebsd.org/doc/en/books/handbook/fs-acl.html | title=Chapter 14. Security | work=FreeBSD Handbook}}{{man|1|setfacl|FreeBSD}} Capsicum, TrustedBSD MAC, OpenBSM}}

| {{yes|KDB, DDB, KGDB, DTrace, hwpmc}}

| {{yes}}

| {{dunno}}

| {{yes}}

GNU Hurd

| C

| GNU/Hurd (Arch Hurd, Debian GNU/Hurd)

| GNU Project/Free Software Foundation

| ELF

| {{URL|https://www.gnu.org/software/hurd/faq/multiserver_microkernel.html|multiserver microkernel}}

| {{no}}

| {{partial}}{{URL|https://www.gnu.org/software/hurd/faq/smp.html}}

| {{no}}

| {{yes}}

| {{yes|chroot, Xen}}

| {{yes|Unix permissions, POSIX ACL, POSIX Capabilities}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

GNU Mach

| C

| part of GNU Hurd, used in GNU/Hurd

| GNU Project/Free Software Foundation

| ELF

| microkernel

| {{no}}

| {{partial}}{{URL|https://www.gnu.org/software/hurd/faq/smp.html}}

| {{no}}

| {{yes}}

| {{yes|chroot, Xen}}

| {{yes|Unix permissions, POSIX ACL, POSIX Capabilities}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Inferno kernel

|

| Inferno

| Bell Labs / Vita Nuova Holdings

| {{dunno}}

| virtual machine

| {{dunno}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes|chroot, Xen}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

L4

|

| L4

| Jochen Liedtke

| {{no}}

| microkernel

| {{no}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes|Afterburner/L4 [http://www.l4ka.org/79.php], Marzipan [http://www.l4ka.org/78.php], capabilities in L4/Fiasco{{cite web|title=The Fiasco microkernel - Status|url=http://os.inf.tu-dresden.de/fiasco/features.html|accessdate=January 11, 2013}}}}

| {{yes| L4/Fiasco}}

| {{yes| L4/Fiasco}}

| {{dunno}}

| {{dunno}}

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{{cite web|url=https://kernel.org/category/faq.html|title=Linux Kernel FAQ}}

| ELF, others

| monolithic

| {{yes|

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes|cgroups, chroot, Lguest, Xen, KVM, kvm-lite, LXC}}

| {{yes|Unix permissions, POSIX ACL, POSIX Capabilities, keyctl, LSM (SELinux, SMACK, TOMOYO Linux, AppArmor)}}

| {{yes|OProfile, kprobe, SystemTap, JProbe, ftrace, KDB, KGDB, kernel marker, perf tools, eBPF}}

| {{yes|preempt=full, threadirqs}}

| {{partial|PREEMPT_RT}}

| {{yes}}

Compute Node Linux

|

| Compute Node Linux

| Cray Inc.

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Mach

| C

| NeXTSTEP and OPENSTEP for Mach, Tru64 UNIX and MkLinux

| Carnegie Mellon University

| Mach-O

| microkernel, hybrid kernel

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{dunno}}

MINIX 3 kernel

| C

| MINIX 3

| Andrew S. Tanenbaum

| ELF,Supports ELF since version 3.2.0 {{cite web|title=MinixReleases|url=http://wiki.minix3.org/en/MinixReleases|work=Minix Wiki|accessdate=21 May 2012|archive-url=https://web.archive.org/web/20120531025416/http://wiki.minix3.org/en/MinixReleases|archive-date=31 May 2012|url-status=dead}} a.outa.out will be phased out in coming releases. {{cite web|last=van der Kouwe|first=Erik|title=Re: ~Segmentation [Was: Minix3 for sparc]|url=https://groups.google.com/group/minix3/msg/faa0560e441f32a0|work=Minix3 for sparc|publisher=Google Groups|accessdate=21 May 2012}}Commit to remove a.out utils from minix; only supports running a.out now. {{cite web|last=Leca|first=Antoine|title=3fb8cb760c9075fab05682b89b1542d66481ba58|url=http://git.minix3.org/?p=minix.git;a=commit;h=3fb8cb760c9075fab05682b89b1542d66481ba58|work=minix.git|accessdate=21 May 2012}}

| microkernel

| {{no}}

| {{no}}

| {{yes}}

| {{yes}}

| {{no}}

| {{yes|Unix permissions}}

| {{yes|Call profiling, statistical profiling, Minix Debugger (mdb)}}

| {{no}}

| {{no}}

| {{dunno}}

NetBSD kernel

| C

| NetBSD,

GNU/kNetBSD (Debian GNU/NetBSD),

| The NetBSD Project

| ELF, others - platform dependent

| monolithic, anykernel using rump kernel architecture

| {{yes|IPFilter, PF, NPF}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes|Xen, chroot}}

| {{yes|kauth, Unix permissions}}

| {{yes|DDB, KGDB, tprof}}

| {{yes|POSIX real-time scheduling extensions}}

| {{yes|Kernel preemption}} {{cite web|url=http://www.netbsd.org/releases/formal-5/NetBSD-5.0.html|title=Announcing NetBSD 5.0}}

| {{yes}}

NetWare kernel

|

| NetWare

| Novell

| NLM

| hybrid

| {{yes}}

| {{yes}}

| {{no}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

OpenBSD kernel

| C

| OpenBSD

| OpenBSD developers

| ELF, others - platform dependent

| monolithic

| {{yes|PF}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{yes|Unix permissions}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

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}}

| {{dunno}}

Plan 9 kernel

| C

| Plan 9 from Bell Labs

| Bell Labs

| {{dunno}}

| monolithic

| {{yes|ipmux}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

ReactOS kernel

| C

| ReactOS

| ReactOS Foundation

| PE

| hybrid

| {{dunno}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Rockbox kernel

|

| Rockbox

| The Rockbox Project

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

SunOS kernel

| C

| SunOS

| Sun Microsystems

| a.out

| monolithic

| {{dunno}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{yes|Unix permissions}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Solaris kernel

| C

| Solaris,

OpenSolaris,

GNU/kOpenSolaris (Nexenta OS)

| Sun Microsystems

| ELF (32-bit only until
Solaris 7 in 1998)

| monolithic

| {{yes|

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes|Zones, chroot}}

| {{yes|Unix permissions, ACL, RBAC, Auditing, Privileges, Zones, Trusted Extensions}}

| {{yes|DTrace, CPU profiling, microstate accounting, perf counters, kernel lock stats, kstats, mdb, kmdb}}

| {{yes|Real-time scheduler}}

| {{dunno}}

| {{dunno}}

Trix kernel

|

| Trix

| Massachusetts Institute of Technology

| a.out

| monolithic

| {{dunno}}

| {{yes}}

| {{no}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Windows NT kernel

| C

| All 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

| Microsoft

| PE

| hybrid

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes|Hyper-V}}

| {{yes|ACL}}

| {{yes|Event Tracing,{{Cite web | url=https://docs.microsoft.com/en-us/windows/win32/etw/event-tracing-portal?redirectedfrom=MSDN | title=Event Tracing | website = Microsoft Docs| date=7 January 2021 }} dgbss, kd}}

| {{yes|Multimedia Class Scheduler Service}}

| {{no}}

| {{unofficial}}{{Cite web | url=https://www.cl.cam.ac.uk/~mgk25/mswish/ut-rtc.html | title=IBM PC Real Time Clock should run in UT }}

Windows 9x kernel

|C++

| Windows 95, Windows 98, Windows Me

|Microsoft

|PE

|monolithic

|

|

|

|

|

|

|

|

|

|

XNU (Darwin kernel)

| C, C++

| macOS, iOS, iPadOS, tvOS, watchOS,

OpenDarwin,

PureDarwin

GNU/Darwin

| Apple Inc.

| Mach-O

| hybrid

| {{yes|Ipfirewall,
PF (starting in Lion)}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes|chroot}}

| {{yes|Unix permissions, NT/NFSv4 ACLs, TrustedBSD MAC, OpenBSM}}

| {{yes|KDB, DDB, DTrace}}

| {{yes}}

| {{no}}

| {{yes}}

SPARTAN kernel

| C

| HelenOS

| Jakub Jermar

| ELF

| microkernel

| {{dunno}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Zircon

|C++

|Fuchsia OS

|Google

|ELF

|microkernel

|{{No}}

|{{Yes}}

|{{Yes}}

|{{Yes}}

|{{Yes|Lguest, Xen, KVM, kvm-lite}}

|{{Yes}}

|{{Yes|KDB, DDB, GDB}}

|{{Yes}}

|{{No}}

|{{Yes}}

Failure analysis and availability

{{sort-under}}

class="sortable sort-under wikitable" style="text-align: center; width: auto"

! Kernel Name

! Kernel Log

! Serious system error report

! Fatal system error report

! Kernel crash dump

! Kernel debugger

! Hardware error detection

! Software RAID

! Remote storage replication

! {{verth|CPU hotplug}}

! {{verth|Memory hotplug}}

! Kernel live patching

! Kernel live update

DragonFly BSD kernel

| {{yes}}

| {{dunno}}

| {{yes|Kernel panic}}

| {{dunno}}

| {{yes|ddb}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

FreeBSD kernel

| {{yes|kern.msgbuf in sysctl}}

| {{dunno}}

| {{yes|Kernel panic}}

| {{yes}}[https://docs.freebsd.org/en/books/developers-handbook/kerneldebug/ Chapter 10. Kernel Debugging - FreeBSD Documentation Portal]. The FreeBSD Project

| {{yes|KGDB}}

| {{dunno}}

| {{yes|GEOM}}

| {{no|(HAST in user-space)}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Linux kernel

| {{yes|kmsg}}

| {{yes|Linux kernel oops}}

| {{yes|Kernel panic / drm_panic}}

| {{yes|kdump}}

| {{yes|KDB / KGDB}}

| {{yes|EDAC (formerly Bluesmoke)}}

| {{yes|md}}

| {{yes|DRBD}}

| {{yes}}

| {{yes}}

| {{yes|kpatch}}

| {{partial|Kexec HandOver / (Live Update Orchestrator[https://www.phoronix.com/news/Google-Live-Update-Orchestrator Google Developing "Live Update Orchestrator" As New Means Of Live Linux Kernel Updates]. Phoronix. March 20, 2025)}}

NetBSD kernel

| {{yes}}

| {{dunno}}

| {{yes|Kernel panic}}

| {{dunno}}

| {{yes|DDB / KGDB}}

| {{dunno}}

| {{yes|RAIDframe}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

OpenBSD kernel

| {{yes}}

| {{dunno}}

| {{yes|Kernel panic}}

| {{yes}}[https://man.openbsd.org/crash crash(8) - OpenBSD manual pages]

| {{yes|ddb}}

| {{dunno}}

| {{yes|softraid}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Solaris kernel

| {{yes}}

| {{dunno}}

| {{yes}}

| {{yes|System core dump}}[https://www.oracle.com/solaris/technologies/core-dump-management.html Core Dump Management on the Solaris OS]. Oracle. June 2007

| {{yes|mdb}}

| {{yes|ereport}}

| {{yes|Solaris Volume Manager}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Windows NT kernel

| colspan=2 {{yes|NT Kernel Logger in {{abbr|ETW|Event Tracing for Windows}}}}

| {{yes|Blue screen of death (BSoD)}}

| {{yes|Kernel-mode Dump}}

| {{yes|KD}}

| {{yes|WHEA}}

| {{yes|Storage Spaces / Disk Management}}

| {{yes|Storage Replica / DFS Replication}}

| {{dunno}}

| {{dunno}}

| {{yes|Hotpatch}}[https://techcommunity.microsoft.com/blog/windowsosplatform/hotpatching-on-windows/2959541 Hotpatching on Windows]. Microsoft. November 20, 2021

| {{dunno}}

XNU

| {{yes}}

| {{dunno}}

| {{yes|Kernel panic}}

| {{dunno}}

| {{yes|ddb / kdp}}

| {{dunno}}

| {{yes|AppleRAID}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Zircon

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Scalability and clustering

{{expand section|date=March 2025}}

{{sort-under}}

class="sortable sort-under wikitable" style="text-align: center; width: auto"

! rowspan=2 | Kernel Name

! rowspan=2 | Supported number of CPU cores

! rowspan=2 | NUMA support

! colspan=4 | Computer cluster interconnect

! rowspan=2 | Application checkpointing
/
Process migration

! rowspan=2 | Single system image

! rowspan=2 | Clustered file system

Remote direct memory access (RDMA) support

! InfiniBand support

! PCI Express
Non-Transparent Bridge (NTB) support

! CXL 3.1
inter-host communication support

DragonFly BSD kernel

| 256[https://www.dragonflybsd.org/features/ DragonFly's Major Features List]. DragonFly Project.

| {{partial}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes|sys_checkpoint}}[https://www.dragonflybsd.org/cgi/web-man?command=sys_checkpoint§ion=2 DragonFly On-Line Manual Pages : sys_checkpoint(2)]

| {{no|planned}}[https://www.dragonflybsd.org/history/ DragonFly BSD - history]. DragonFly Project.

| {{yes|HAMMER2}}

FreeBSD kernel

| 1024[https://www.freebsd.org/releases/14.0R/announce/ FreeBSD 14.0-RELEASE Announcement]. FreeBSD Project.

| {{yes}}

| {{yes}}[http://papers.freebsd.org/2018/bsdcan/shwartsman-roce_as_a_performance_accelerator/ RoCE as a performance accelerator]. FreeBSD Project. 2018.

| {{yes}}

| {{yes}}[https://man.freebsd.org/cgi/man.cgi?query=ntb ntb]. FreeBSD Project.

| {{dunno}}

| {{dunno}}

| {{no}}

| {{dunno}}

Linux kernel

| 8192

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}[https://docs.kernel.org/driver-api/ntb.html NTB Drivers]. kernel.org.

| {{dunno}}

| {{yes|Checkpoint/Restart}}

| {{no|(openMosix)}}

| {{yes|Ceph / OCFS2 / GFS2}}

Windows NT kernel

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{no}}

| {{yes|Cluster Shared Volumes}}

Realtime support

{{sort-under}}

class="sortable sort-under wikitable" style="text-align: center; width: auto"

! Kernel Name

! Full kernel preemption

! Realtime Scheduling

! Realtime Priority

! Realtime I/O

! {{verth|Preemptable locks}}

! Prevent priority inversion (Priority inheritance)

! CPU Isolation

! Disable CPU's Interrupt request (IRQ) handling

! Disable CPU's timer ticks

! Prevent memory from being swapped out

DragonFly BSD kernel

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes|mlock/mlockall system call}}

FreeBSD kernel

| {{dunno}}

| {{yes|ULE scheduler's SCHED_FIFO/SCHED_RR[https://freebsdfoundation.org/blog/freebsd-foundation-a-year-of-sponsored-development-in-2024/ FreeBSD Foundation: A Year of Sponsored Development in 2024]. FreeBSD Foundation. December 20, 2024}}

| {{yes|rtprio system call}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes|mlock/mlockall system call}}

Linux kernel

| {{yes|preempt=full}}

| {{yes|CFS/EEVDF's SCHED_FIFO/SCHED_RR}}

| {{yes|rtprio system call}}

| {{yes|IOPRIO_CLASS_RT}}

| colspan=2 {{yes|rtmutex on PREEMPT_RT}}

| {{yes|isolcpus}}

| {{yes|irqaffinity}}

| {{yes|nohz_full}}

| {{yes|mlock/mlockall system call}}

NetBSD kernel

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes|mlock/mlockall system call}}

OpenBSD kernel

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes|mlock/mlockall system call}}

Solaris kernel

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes|mlock/mlockall system call}}

Windows NT kernel

| {{dunno}}

| {{yes|REALTIME_PRIORITY_CLASS}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes|AutoBoost}}[https://learn.microsoft.com/en-us/windows/win32/procthread/priority-inversion Priority Inversion]. Microsoft

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes|VirtualLock}}

XNU

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes|mlock system call}}

Zircon

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Transport protocol support

class="sortable wikitable" style="text-align: center; width: auto"

! rowspan=2 | Kernel Name

! colspan=3 | Internet layer (L3)

! colspan=6 | Transport layer (L4)

! colspan=3 | L4S Congestion controls

IPv4

! IPv6

! IPSec

! TCP

! Multipath TCP

! UDP

! SCTP

! DCCP

! QUIC

! Accurate ECN

! TCP Prague

! Dual-Queue Coupled Active Queue Management

DragonFly BSD kernel

| {{yes}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{no}}

| {{no}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

FreeBSD kernel

| {{yes}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{yes}}

| {{optional}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Linux kernel

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{partial}}[https://www.phoronix.com/news/Cloudflare-MPTCP-Multi-Path-TCP Cloudflare Talks Up Multi-Path TCP But Dings Linux's Less Than Ideal Support]. Phoronix. January 3, 2025.

| {{yes}}

| {{yes}}

| {{yes}}

| {{no|(QUIC in Linux Kernel)}}

| colspan=3 {{no|(Linux kernel tree with L4S patches)}}

NetBSD kernel

| {{yes}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

OpenBSD kernel

| {{yes}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Solaris kernel

| {{yes}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Windows NT kernel

| {{yes}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{no}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

XNU

| {{yes}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{no}}

| {{no}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Zircon

| {{dunno}}

| {{dunno}}

| {{dunno}}

|{{Yes}}

| {{dunno}}

|{{Yes}}

|{{Yes}}

|{{Yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

In-kernel security

{{sort-under}}

class="sortable sort-under wikitable" style="text-align: center; width: auto"

! {{verth|va=middle|Kernel}}

! File access control

! Disable memory execution support

! {{verth|va=middle|Kernel ASLR}}

! Mandatory access control

! Capability-based security

! {{verth|va=middle|In-kernel
key management}}

! Audit API

! Sandbox

! SYN flood protection

! UDP flood protection

! Ping flood protection

! Smurf attack protection

! Network Behavior Analysis

{{verth|va=middle|Linux}}

| {{yes|Traditional Unix permissions, POSIX ACL}}

| {{yes}}

| {{yes}}

| {{yes|LSM (SELinux, SMACK, TOMOYO Linux, AppArmor)}}

| {{yes|seccomp}}

| {{yes|keyctl}}

| {{yes|fanotify}}

| {{yes|SELinux Sandbox, seccomp}}

| {{yes|SYN cookies}}

| {{Yes|hash tables}}

| {{Yes|ICMP rate limiting}}

| {{Yes|reverse path filtering}}

| {{Yes|Netfilter}}

{{verth|va=middle|FreeBSD}}

| {{yes|Traditional Unix permissions, POSIX and NFSv4 ACL}}

| {{yes}}

| {{yes}}

| {{yes|TrustedBSD MAC}}

| {{yes|Capsicum}}

| {{dunno}}

| {{yes|OpenBSM}}

| {{yes|Capsicum, MAC framework}}

| {{yes|SYN cookies}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

{{verth|va=middle|Solaris}}

| {{yes|Traditional Unix permissions, POSIX ACL, NFSv4 ACL}}

| {{yes|Default}}

| {{dunno}}

| {{yes|Solaris Trusted Extensions}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

{{verth|va=middle|Windows NT}}

| {{yes|Access control list}}

| {{yes|DEP}}

| {{yes}}

| {{yes|Mandatory Integrity Control}}

| {{yes|AppContainers}}

| {{No}}

| {{yes}}

| {{yes|Windows Event Log}}

| {{yes}}{{cite web|url=https://blogs.technet.microsoft.com/nettracer/2010/06/01/syn-attack-protection-on-windows-vista-windows-2008-windows-7-windows-2008-r2-windows-88-1-windows-2012-and-windows-2012-r2/|title=Syn attack protection on Windows Vista, Windows 2008, Windows 7, Windows 2008 R2, Windows 8/8.1, Windows 2012 and Windows 2012 R2|date=June 2010 |quote=SynAttack protection is enabled by default and cannot be disabled}}

| {{Yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

{{verth|va=middle|XNU}}

| {{yes|Traditional Unix permissions, NT/NFSv4 ACL}}{{cite web|url=http://samples.jbpub.com/9781284055931/9781284071276_CH04_133_170.pdf|title=Elementary Information Security, Second Edition, Chapter 4 "Sharing Files"|at=Section 4.4 "Microsoft Windows ACLs"|quote=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.}}

| {{yes}}

| {{yes}}

| {{yes|TrustedBSD MAC}}

| {{dunno}}

| {{dunno}}

| {{yes|OpenBSM}}

| {{yes|Apple XNU Sandbox}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

In-kernel virtualization

{{sort-under}}

class="sortable sort-under wikitable" style="text-align: center; width: auto"

! 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

| {{yes|chroot}}

| colspan="2" {{yes|LXC}}

| {{yes|Virtio, Hyper-V (guest only), Xen (guest only), VMI (guest only), kvm-lite, lguest}}

| {{yes|KVM}}

| {{yes|UML}}

| {{no|(LKL)}}

| {{no|(coLinux)}}

| {{no}}

DragonFly BSD kernel

| {{yes|chroot}}

| colspan="2" {{yes|jail}}

| {{no}}

| {{no}}

| {{yes|vkernel}}

| {{dunno}}

| {{dunno}}

| {{no}}

FreeBSD kernel

| {{yes|chroot}}

| colspan="2" {{yes|jail}}

| {{yes|Virtio, Xen (guest only)}}

| {{yes|BHyVe (KVM)}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{no}}

NetBSD kernel

| {{yes|chroot}}

| {{no|(sysjail (discontinued))}}

| {{no}}

| {{yes|Virtio and Xen}}

| {{no}}

| {{dunno}}

| {{yes|Rump kernel}}

| {{dunno}}

| {{no}}

Solaris kernel

| {{yes|chroot}}

| colspan="2" {{yes|Solaris Containers / Zones}}

| {{No}}

| {{No}}

| {{No}}

| {{dunno}}

| {{dunno}}

| {{no}}

Windows NT kernel

| colspan="3" {{yes|AppContainers, Job Objects, Windows Server Containers}}

| colspan="2" {{yes|Hyper-V}}

| colspan="2" {{no|[https://www.microsoft.com/en-us/research/project/drawbridge/ Project Drawbridge]}}

| {{no}}

| {{yes|Virtual Secure Mode, Device Guard, Credential Guard}}{{Cite news|url=https://blogs.technet.microsoft.com/ash/2016/03/02/windows-10-device-guard-and-credential-guard-demystified/|title=Windows 10 Device Guard and Credential Guard Demystified|work=Ash's Blog|access-date=2018-03-28|language=en-US}}

XNU

| {{yes|chroot}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{no}}

In-kernel server support

class="sortable wikitable" style="text-align: center; width: auto"

! Kernel Name

! HTTP

! FTP

! NFS

! CIFS

! Name server

! Transport-layer load balancer

! Application-layer load balancer

! 9P

! TLS proxy

! WAF

! Memcached server

Linux kernel

| {{no|(TUX web server patch)}}

| {{no|(TUX web server patch)}}

| {{yes|knfsd}}

| {{yes|ksmbd}}

| {{dunno}}

| {{yes|IP Virtual Server}}

| {{no|(KTCPVS)}}

| {{no|([http://lkml.indiana.edu/hypermail/linux/kernel/0711.0/0585.html patch available])}}

| {{yes|SOL_TLS}}[https://www.kernel.org/doc/Documentation/networking/tls.txt doc/Documentation/networking/tls.txt] kernel.org

| {{no|(Tempesta FW)}}{{cite web|url= https://github.com/tempesta-tech/tempesta/wiki/Web-security|title=Web security - tempesta-tech/tempesta Wiki|date=October 31, 2017|publisher=Tempesta Technologies INC|accessdate=May 7, 2018}}

| {{no|(kmemcached)}}

DragonFly BSD kernel

| {{no}}

| {{no}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{yes}}{{cite web |last1=Ziehau |first1=Sepherosa |title=socket: Extend SO_REUSEPORT to distribute workload to available sockets |url=http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/740d1d9f7b7bf9c9c021abb8197718d7a2d441c9 |website=DragonFly Project Source |access-date=2024-07-31 |date=2013-05-22}}

| {{dunno}}

| {{no}}

| {{no}}

| {{dunno}}

| {{dunno}}

FreeBSD kernel

| {{no}}

| {{no}}

| {{yes}}

| {{no}}

| {{no}}

| {{yes}}{{cite web |last1=Lundberg |first1=Johannes |title=Load balance sockets with new SO_REUSEPORT_LB option. |url=https://svnweb.freebsd.org/base?view=revision&revision=334719 |access-date=2024-07-31 |date=2018-06-06}}

| {{no}}

| {{no}}

| {{no}}

| {{dunno}}

| {{dunno}}

Solaris kernel

| {{dunno}}

| {{dunno}}

| {{Yes}}

| {{yes}}{{Cite web |url=http://www.itjungle.com/tug/tug112907-story05.html |title=OpenSolaris Project Weaves CIFS Server Into the Solaris Kernel |access-date=2009-08-21 |archive-url=https://web.archive.org/web/20080522124317/http://www.itjungle.com/tug/tug112907-story05.html |archive-date=2008-05-22 |url-status=dead }}

| {{dunno}}

| {{yes}}[http://download.oracle.com/docs/cd/E19963-01/html/821-1453/gijjm.html Integrated Load Balancer]

| {{yes}}

| {{dunno}}

| {{yes|KSSL}}

| {{dunno}}

| {{dunno}}

Windows NT kernel

| {{yes|HTTP.sys}}

| {{dunno}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{yes}}

| {{no}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

XNU

| {{no}}

| {{no}}

| {{yes}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{dunno}}

| {{dunno}}

Binary format support

A comparison of OS support for different binary formats (executables):

{{sort-under}}

class="sortable sort-under wikitable" style="text-align: center; width: auto"

!Name

! a.out

! ECOFF

! ELF

! FDPIC
ELF
binaries
(mmu less)

! flat
binaries
(superH)

! HUNK

! Mach-O

! {{verth|Misc
(wrapper based,
like interpreters)}}

! PE

! SOM
({{nowrap|PA-RISC}},
{{nowrap|HP-UX}})

! NLM

! PEF

! DOS COM

! MZ

! LE

! LX

! NE

Amiga Exec

| {{No}}

| {{No}}

| {{Yes}}AmigaOS up to version 3.9 could use the ELF format for PowerPC executables and libraries through ppc.library, also known as PowerUP. AmigaOS 4, uses ELF as its native executable format.

| {{No}}

| {{No}}

| {{Yes}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

DragonFly BSD

| {{No}}

| {{No}}

| {{Yes}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

FreeBSD

| {{dunno}}

| {{dunno}}

| {{Yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{Yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

HP-UX

| {{No}}

| {{No}}

| {{Yes}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{Yes}}

| {{No}}

| {{No}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Linux

| {{No}}

| {{Yes}}

| {{Yes}}

| {{Yes}}

| {{Yes}}

| {{No}}

| {{No}}

| {{Yes}}

| {{some}}The Linux kernel can recognize PE binaries through binfmt_misc and run them using Wine

| {{Yes}}

| {{dunno}}

| {{No}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

MINIX 3

| {{Some}}

| {{No}}

| {{Yes}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

NetBSD

| {{Yes}}

| {{Yes}}

| {{Yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{Yes}}

| {{dunno}}

| {{Yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

OpenBSD

| {{dunno}}

| {{dunno}}

| {{Yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

ReactOS

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{Yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Solaris

| {{Yes}}to support SunOS 4.x binaries

| {{No}}

| {{Yes}}including a Linux compatibility option

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{some}}The Solaris kernel can PE using Wine

| {{No}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Windows NT

| {{No}}

| {{No}}

| {{Yes|Yes with WSL}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{Yes}}

| {{No}}

| {{No}}

| {{No}}

| {{partial |Yes on x86}}

| {{partial |Yes on x86}}

| {{dunno}}

| {{dunno}}

| {{partial |Yes on x86}}

XNU

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{Yes}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

File system support

Physical file systems:

{{sort-under}}

style="font-size:85%; text-align: center; width: auto" class="sortable sort-under wikitable"

! 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}}

| {{partial|limited write}}

| {{No}}

| {{No}}

| {{No}}

| {{partial|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}}

| {{partial|limited write}}

| {{No}}

| {{No}}

| {{No}}

| {{Yes}}

| {{Yes}}

| {{partial|read only}}

| {{Yes}}

| {{partial|read only}}

| {{No}}

| {{No}}

| {{no}}

| {{no}}

| {{dunno}}

| {{No}}

Linux kernel

| {{partial|Yes}}
experimental and dangerous write support

| {{Yes}}

| {{partial|Yes}}
additional driver needed

| {{partial|read only}}

| {{Yes}}

| {{Yes}}

| {{partial|read only}}

| {{Yes}}

| {{Yes}}

| {{Yes}}

| {{Yes}}

| {{Yes}}

| {{partial|read only}}

| {{Yes}}

| {{partial|limited write (only with empty journal)}}

| {{Yes}}

| {{Yes}}

| {{Yes}}

| {{Yes}}

| {{Yes}}

| {{Yes}}

| {{Yes}}

| {{partial|Yes
(Full R/W with additional userspace driver)The only supported operation is overwriting existing files, without changing the file length so a loop file on a ntfs volume can be written; better write support can be achieved through ntfs-3g, although that is a FUSE filesystem and therefore not strictly a kernel feature}}

| {{Yes}}

| {{partial|Yes}}

write support currently broken

| {{partial|write support?}}

| {{Yes}}

| {{partial|Yes}}

| {{Yes}}

| {{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}}

| {{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

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{Yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

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}}

| {{dunno}}

| {{no}}

OpenBSD kernel

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{Yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

ReactOS kernel

| {{no}}

| {{no}}

| {{no}}

| {{No}}

| {{no}}

| {{no}}

| {{no}}

| {{yes}}
[https://reactos.org/wiki/File_Systems ReactOS Wiki - File Systems]

| {{yes}}

| {{yes}}

| {{No}}

| {{yes}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{yes}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{partial|Read only}}

| {{no}}

| {{no}}

| {{no}}

| {{yes}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{partial|Yes}}
additional driver needed - see https://github.com/maharmstone/btrfs

| {{no}}

| {{no}}

| {{no}}

| {{no}}

Solaris kernel

| {{dunno}}

| {{dunno}}

| {{No}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{no}}

| {{no}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{dunno}}

| {{no}}

Windows NT kernel

| {{dunno}}

| {{dunno}}

| {{partial|Yes}}
additional driver needed

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{partial|Yes}}
additional driver needed - see [http://www.fs-driver.org/ http://www.fs-driver.org/]

| {{partial|Yes}}
additional driver needed - see http://www.ext2fsd.com {{Webarchive|url=https://web.archive.org/web/20120723091043/http://www.ext2fsd.com/ |date=2012-07-23 }}

| {{partial|Yes}}

| {{no}}

| {{yes}}

| {{dunno}}

| {{partial|Yes}}
additional driver needed

| {{partial|Yes}}

| {{no}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{no}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{no}}

| {{no}}

| {{no}}

| {{partial|Yes}}

| {{no}}

| {{no}}

| {{yes}}

| {{yes}}

XNU

| {{No}}

| {{No}}

| {{Yes}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{partial|Yes}}
[http://sourceforge.net/projects/ext2fsx/ Third party module required. Mac OS X Kernel Module available here]

| {{partial|Yes}}

| {{No}}

| {{no}}

| {{Yes}}

| {{No}}

| {{Yes}}

| {{Yes}}

| {{No}}

| {{Yes}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{No}}

| {{partial|Read-Only}}

| {{No}}

| {{No}}

| {{No}}

| {{Yes}}

| {{Yes}}

| {{No}}

| {{partial|read only}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{yes}}

| {{no}}

Networked file system support

class="sortable wikitable" style="text-align: center; width: auto"

! Kernel Name

! NFS

! AFS

! CIFS

! Coda

! 9P

! Ceph

DragonFly BSD kernel

| {{partial|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

| {{partial|up to NFSv3}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

OpenBSD kernel

| {{partial|up to NFSv3}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Solaris kernel

| {{yes}}

| {{yes}}

| {{yes}}

| {{no}}

| {{no}}

| {{no}}

Windows NT kernel

| {{yes}}

| {{yes}}

| {{yes}}

| {{no}}

| {{no}}

| {{no}}

XNU

| {{yes}}

| {{yes}}

| {{yes}}

| {{no}}

| {{no}}

| {{no}}

Supported CPU instruction sets and microarchitectures

{{See also|List of Linux-supported computer architectures}}

{{sort-under}}

style="font-size:85%; text-align: center; width: auto" class="sortable sort-under wikitable"

!rowspan="3"| kernel

!colspan="3"| HP

!colspan="2"| Softbank,
ARM Holdings

!colspan="4"| Intel

!colspan="2"| MIPS

!colspan="4"| IBM

!colspan="7"| Renesas Electronics

!colspan="3"| Oracle

!colspan="2"| NXP

!colspan="1"| Analog Devices

!colspan="1"| Xilinx

!colspan="2"| Cadence

!colspan="1"| Canon,
Axis Comm.

!colspan="2"| Socionext

!colspan="1"| Microchip,
Atmel

!colspan="1"| CML,
Hyperstone

!colspan="3"| Intel,
Altera

!colspan="1"| WDC

!colspan="1"| Sunplus Technology

!colspan="1"| NVIDIA

!colspan="1"| TI

rowspan="2"| VAX

!rowspan="2"| Alpha

!rowspan="2"| PA-RISC

!colspan="2"| ARM

!colspan="2"| x86

!rowspan="2"| i960

!rowspan="2"| IA-64

!colspan="2"| MIPS

!colspan="2"| PowerPC

!rowspan="2"| S/390

!rowspan="2"| z/Arch

!rowspan="2"| H8300

!rowspan="2"| M16C

!rowspan="2"| M32R

!rowspan="2"| 78K

!rowspan="2"| V850

!colspan="2"| SuperH

!colspan="3"| SPARC

!colspan="2"| m68k

!rowspan="2"| Blackfin (no-mmu)

!rowspan="2"| MicroBlaze

!colspan="2"| Xtensa

!rowspan="2"| ETRAX CRIS

!rowspan="2"| FR-V

!rowspan="2"| MN10300

!rowspan="2"| AVR32

!rowspan="2"| E1 (no-mmu)

!rowspan="2"| Nios (no-mmu)

!colspan="2"| Nios II

!rowspan="2"| WDC 65C816

!rowspan="2"| S+core

!rowspan="2"| Tilera

!rowspan="2"| 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}}

|{{yes2}}6.4 and below only{{cite web |url=https://www.freebsd.org/platforms/ |title=FreeBSD supported platforms}}

|{{No}}

|{{Yes}}

|{{dunno}}

|{{Yes}}

|{{Yes}}

|{{No}}

|{{yes2}}10.4 and below only

|{{Yes2}}projected to end in 14.x

|{{No}}

|{{Yes}}

|{{Yes}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{Yes2}}12.x and below only

|{{dunno}}

|{{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}}

|{{Yes}}

|{{Yes}}

|{{dunno}}

|{{Yes}}

|{{Yes}}

|{{Yes}}

|{{Yes}}

|{{Yes}}

|{{No}}

|{{Yes2}}4.16 and below only{{cite web |url=https://www.phoronix.com/scan.php?page=news_item&px=Linux-4.17-Gutting-Old-CPUs |title=Linux Set To Shed Nearly 500k Lines Of Code By Dropping Old CPUs - Phoronix |last=Larabel |first=Michael |date=2 April 2018 |website=Phoronix |publisher=Phoronix Media |access-date=2018-04-22 |quote="The architectures on the chopping block for Linux 4.17 are Blackfin, CRIS, FRV, M32R, Metag, MN10300, Score, and Tile"}}

|{{No}}

|{{Yes2}}2.6 and below only

|{{Yes}}

|{{Yes}}

|{{Yes}}

|{{Yes}}

|{{Yes}}

|{{Yes}}

|{{Yes}}

|{{Yes2}}4.16 and below only

|{{Yes}}

|{{Yes}}

|{{Yes}}

|{{Yes2}}4.16 and below only

|{{Yes2}}4.16 and below only

|{{Yes2}}4.16 and below only

|{{Yes2}}4.12 and below only

|{{No}}

|{{No}}

|{{yes}}

|{{yes}}

|{{No}}

|{{Yes2}}4.16 and below only

|{{Yes2}}4.16 and below only

|{{Yes}}

MINIX 3 kernel

|{{dunno}}

|{{No}}

|{{No}}

|{{Yes}}

|{{dunno}}

|{{Yes}}

|In progress

|{{No}}

|{{No}}

|In progress

|{{dunno}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{dunno}}

|{{No}}

|{{dunno}}

|{{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}}[http://www.netbsd.org/contrib/projects.html#mmu-less NetBSD Projects - Support for MMU-less systems]

|{{Yes}}

|{{Yes}}

|{{dunno}}

|{{Yes}}

|{{Yes}}

|{{no}}

|{{Yes}}

|{{No}}

|{{No}}

|{{No}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{Yes}}

|{{no}}

|{{Yes}}

|{{Yes}}

|{{no}}

|{{Yes}}

|{{no}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

NetWare kernel

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{Yes}}

|{{No}}

|{{dunno}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

OpenBSD kernel

|{{Yes2}}last supported release 5.8{{Cite web | url=https://www.openbsd.org/vax.html | title=OpenBSD/Vax }}

|{{Yes}}

|{{Yes}}

|{{Yes}}

|{{dunno}}

|{{Yes}}

|{{Yes}}

|{{dunno}}

|{{No}}

|{{Yes}}

|{{dunno}}

|{{Yes}}

|{{No}}

|{{No}}

|{{No}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{yes}}

|{{dunno}}

|{{Yes}}

|{{Yes}}

|{{dunno}}

|{{Yes}}

|{{Yes}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

Rockbox kernel

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{Yes}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{Yes}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{No}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{Yes}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{Yes}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

Solaris kernel

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{Yes}}

|{{Yes}}

|{{dunno}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{No}}

|{{No}}

|{{Yes}}

|{{Yes}}

|{{dunno}}

|{{No}}

|{{No}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

Windows NT kernel

|{{No}}

|{{Yes2}}NT 5.0 RC1 and below only

|{{No}}

|{{Yes}}

|{{No}}

|{{Yes}}

|{{Yes}}

|{{No}}

|{{Yes2}}XP and 2003-2008 R2 only

|{{Yes2}}NT 4.0 and below only

|{{No}}

|{{Yes2}}NT 3.51 and NT 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}}

|{{dunno}}

|{{Yes}}

|{{dunno}}

|{{No}}

|{{No}}

|{{Yes}}

|{{dunno}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{dunno}}

|{{No}}

|{{dunno}}

|{{No}}

|{{Yes}}

|{{dunno}}

|{{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}}

|{{dunno}}

|{{Yes}}

|{{Yes}}

|{{dunno}}

|{{No}}

|{{No}}

|{{No}}

|{{Yes}}

|{{Yes}}

|{{No}}

|{{No}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{No}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

SPARTAN kernel

|{{dunno}}

|{{No}}

|{{No}}

|{{Yes}}

|{{dunno}}

|{{Yes}}

|{{Yes}}

|{{dunno}}

|{{Yes}}

|{{Yes}}

|{{dunno}}

|{{Yes}}

|{{No}}

|{{No}}

|{{No}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{No}}

|{{No}}

|{{Yes}}

|{{Yes}}

|{{dunno}}

|{{No}}

|{{No}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

FreeRTOS kernel

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{yes}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{yes}}

|{{dunno}}

|{{dunno}}

|{{No}}

|{{yes}}[https://www.freertos.org/RTOS_ports.html Official FreeRTOS Ports], Amazon Web Services, Inc.

|{{dunno}}

|{{dunno}}

|{{yes}}

|{{yes}}

|{{dunno}}

|{{yes}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{yes}}

|{{yes}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{yes}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{yes}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

|{{dunno}}

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}}

== Supported GPU processors ==

style="font-size:85%; text-align: center; width: auto" class="sortable wikitable"

! rowspan=2 | Kernel name

! Intel

! NVIDIA

! AMD

! ARM

! Qualcomm

! Imagination Technologies

! Broadcom

! VeriSilicon

Intel HD/Iris Graphics

! GeForce/Quadro/Tesla

! Radeon

! Mali

! Adreno

! PowerVR

! VideoCore4

! Vivante

Linux kernel

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{partial|2D only}}The GMA500 GPU has a PowerVR in it. The [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/gma500/Kconfig?h=v5.8-rc4 GMA500 Kconfig], mention that it is a 2D KMS driver.There is also a driver for the dreamcast PowerVR but it is only a Framebuffer driver as explained in the [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/video/fbdev/Kconfig#n807 fbdev Kconfig]

| {{yes}}

| {{yes}}

Windows NT kernel

| {{yes}}

| {{yes}}

| {{yes}}

| {{?}}

| {{yes|Windows Phone 8.x, Windows 10 Mobile, Windows on ARM}}

| {{yes}}[https://www.notebookcheck.net/Intel-Atom-Z2760-Notebook-Processor.82818.0.html Intel Atom integrated graphics card] for Windows 8 tablet is based on a PowerVR

| {{no}}[https://www.raspberrypi.org/forums/viewtopic.php?t=286799 Raspberry VideoCore 4 support on Windows] Microsoft doesn't have plan for OpenGL on UWP also Broadcom doesn't have plan for DirectX

| {{yes}}

XNU

| colspan=3 {{partial|via I/O Kit (macOS only)}}

| {{partial|via I/O Kit (macOS only)}}

| {{no}}

| {{partial|via I/O Kit (iOS only)}}

| {{no}}

| {{no}}

Supported kernel execution environment

This table indicates, for each kernel, what operating systems' executable images and device drivers can be run by that kernel.

{{sort-under}}

style="text-align: center; width: auto" class="sortable sort-under wikitable"

! 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}}[http://www.freebsd.org/doc/en/articles/linux-emulation/inside.html Linux emulation in FreeBSD - 2 A look inside...]

| {{no}}

| {{no}}

| {{yes}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{yes}}

| {{yes}}

Linux kernel

| {{yes}}

| {{no}}

| {{no|(Longene)}}

| {{yes}}

| {{yes}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no|(NDISwrapper)}}

| {{no}}

NetBSD kernel

| {{yes}}[http://www.netbsd.org/docs/compat.html NetBSD Binary Emulation]

| {{no}}? [http://hcpnet.free.fr/applebsd.html]?

| {{no}}? [http://pkgsrc.se/emulators/peace]?

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}{{cite web|url=http://netbsd-soc.sourceforge.net/projects/ndis/|title=Summer of Code:NDIS on NetBSD}}

| {{yes}}

OpenBSD kernel

| {{yes}}

| {{no}}

| {{no}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{no}}

| {{no}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{no}}

| {{yes}}

Windows NT kernel

| {{no}}

| {{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}}

| {{dunno}}

| {{no}}

XNU

| {{no}}

| {{yes}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

Supported cipher algorithms

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

{{sort-under}}

style="font-size:85%; text-align: center; width: auto" class="sortable sort-under wikitable"

! 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}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Supported compression algorithms

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

style="text-align: center; width: auto" class="sortable wikitable"

! Kernel name

! Deflate

! zlib

! LZO

! LZJB

! gzip

! zstd

Linux

| {{yes}}

| {{yes}}

| {{yes}}

| {{no}}

| {{yes}}

| {{yes}}

NetBSD kernel

| {{dunno}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{yes}}

Solaris kernel

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes}}

| {{yes}}

| {{dunno}}

Supported message digest algorithms

{{sort-under}}

style="font-size:85%; text-align: center; width: auto" class="sortable sort-under wikitable"

! Kernel name

! CRC-32 (IEEE)

! CRC32c

! 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}}{{Cite web | url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/crc32_generic.c | title=Crc32_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree }}{{Cite web | url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/lib/crc32.c | title=Crc32.c « lib - kernel/Git/Torvalds/Linux.git - Linux kernel source tree }}

| {{yes}}{{Cite web | url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/crc32c_generic.c | title=Crc32c_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree }}

| {{no}}

| {{yes}}{{Cite web | url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/md4.c | title=Md4.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree }}

| {{yes}}{{Cite web | url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/md5.c | title=Md5.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree }}

| {{yes}}{{Cite web | url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/sha1_generic.c | title=Sha1_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree }}

| {{yes}}{{Cite web | url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/sha256_generic.c | title=Sha256_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree }}

| {{partial}}{{Cite web | url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/sha3_generic.c | title=Sha3_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree }}

| {{yes}}{{Cite web | url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/michael_mic.c | title=Michael_mic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree }}

| {{yes}}{{Cite web | url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/poly1305_generic.c | title=Poly1305_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree }}

| {{yes}}https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/rmd128.c {{Dead link|date=February 2022}}

| {{yes}}{{Cite web | url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/rmd160.c | title=Rmd160.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree }}

| {{yes}}https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/rmd256.c {{Dead link|date=February 2022}}

| {{yes}}https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/rmd320.c {{Dead link|date=February 2022}}

| {{yes}}https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/tgr192.c {{Dead link|date=February 2022}}

| {{yes}}{{Cite web|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/wp512.c|title = Wp512.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree}}

| {{yes}}{{Cite web|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/hmac.c|title = Hmac.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree}}

| {{no}}

| {{no}}

| {{no}}

| {{yes}}{{Cite web|url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/vmac.c|title = Vmac.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree}}

Solaris kernel

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Windows NT kernel

| {{dunno}}

| {{dunno}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{no}}

| {{dunno}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{no}}

| {{yes}}

| {{no}}

| {{no}}

| {{no}}

| {{dunno}}

FreeBSD kernel

| {{yes}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

class="sortbottom"
XNU kernel

| {{yes}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

class="sortbottom"

! Kernel name

! CRC-32 (IEEE)

! CRC32c

! 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

Supported Bluetooth protocols

{{sort-under}}

style="font-size:85%; text-align: center; width: auto" class="sortable sort-under wikitable"

! Kernel name

! {{abbr|ACL|Asynchronous connection-oriented}}

! {{abbr|SCO|Synchronous connection-oriented}}

! {{abbr|LMP|Link management protocol}}

! {{abbr|HCI|Host/controller interface}}

! {{abbr|L2CAP|Logical link control and adaptation protocol}}

! {{abbr|BNEP|Bluetooth network encapsulation protocol}}

! {{abbr|RFComm.|Radio frequency communication}}

! {{abbr|SDP|Service discovery protocol}}

! {{abbr|TCP|Telephony control protocol}}

! {{abbr|AVTCP|Audio/visual control transport protocol}}

! {{abbr|AVDTP|Audio/visual data transport protocol}}

! {{abbr|OBEX|Object exchange}}

! CMTP

! HIDP

! HCRP

! CAPI

! PPP

FreeBSD kernel

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{no}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

Linux

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

macOS XNU Kernel

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{yes}}

| {{dunno}}

| {{yes}}

| {{yes}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{no}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

| {{dunno}}

class="sortbottom"

! Kernel name

! ACL

! SCO

! LMP

! HCI

! L2CAP

! BNEP

! RFComm.

! SDP

! TCP

! AVTCP

! AVDTP

! OBEX

! CMTP

! HIDP

! HCRP

! CAPI

! PPP

Audio support

style="text-align: center; width: auto" class="sortable wikitable"

! Kernel name

! Audio system

! in-kernel mixer

! in-kernel filter

Linux

| {{yes|ALSA}}

| {{?}}

| {{?}}

Windows NT kernel

| {{yes|MME / WDM audio / Kernel Streaming (KS)}}

| {{no|dropped (KMixer.sys)}}

| {{yes|KS Filters}}

FreeBSD kernel

| {{yes|OSS API}}

| {{yes|VCHANs in OSS API}}

| {{?}}

NetBSD kernel

| {{yes|native (Sun-like) / OSS API[https://blog.netbsd.org/tnf/entry/improving_libossaudio_and_tVCHANs in OSS APIhe_future Improving libossaudio, and the future of OSS in NetBSD]. NetBSD Project. April 27, 2020}}

| {{yes|audio_system[https://man.netbsd.org/NetBSD-8.0/audio_system.9 audio_system(9) - NetBSD Manual Pages]. NetBSD Project}}

| {{?}}

Solaris kernel

| {{yes|Sun audio API / OSS API}}

| {{yes}}

| {{?}}

Graphics support

style="text-align: center; width: auto" class="sortable wikitable"

! Kernel name

! Framebuffer

! Display management

! Display Mux

! GPU scheduler

! GPU memory management

! in-kernel Remote Desktop

Linux

| {{yes|Linux framebuffer (fbdev) / Direct Rendering Manager}}

| {{yes|Kernel Mode Setting}}

| {{partial|VGA Switcheroo}}[https://www.phoronix.com/news/NVIDIA-Dynamic-Display-Mux-2024 NVIDIA Is Helping To Improve Linux's Dynamic Display Mux Support For Laptops]. Phoronix. 14 October 2024.

| {{yes|DRM sched[https://www.phoronix.com/news/Deadline-DRM-Scheduler-RFC Deadline Scheduling Policy Being Experimented With For Linux Graphics Drivers]. Phoronix. December 30, 2024.}}

| {{yes|DMA-BUF}}

| {{no}}

Windows NT kernel

| {{yes|Dxgkrnl.sys}}

| {{yes|VidPN Manager in Dxgkrnl.sys[https://learn.microsoft.com/en-us/windows-hardware/drivers/display/introduction-to-video-present-networks Introduction to Video Present Networks]. Microsoft. December 15, 2021.}}

| {{?}}

| {{yes|VidSch in Dxgkrnl[https://learn.microsoft.com/en-us/windows-hardware/drivers/display/windows-vista-and-later-display-driver-model-architecture WDDM Architecture]. Microsoft. October 2, 2024.}}

| {{yes|VidMm in Dxgkrnl.sys, Dxgmms1.sys, and Dxgmms2.sys[https://learn.microsoft.com/en-us/windows-hardware/drivers/display/video-memory-management-and-gpu-scheduling Video Memory Management and GPU Scheduling]. Microsoft. July 3, 2024.}}

| {{yes|RdpDD.sys / RdpWD.sys}}

See also

Footnotes