Comparison of operating system kernels

Last updated

A kernel is a component of a computer operating 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.

Contents

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.

Failure analysis and availability

Kernel NameKernel LogSerious system error report Fatal system error reportKernel crash dump Kernel debugger Hardware error detectionSoftware RAID Remote storage replication
CPU hotplug
Memory hotplug
Kernel live 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 YesYes 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?YesSystem core dump [21] mdbereport Solaris Volume Manager, ZFS ?????
Windows NT kernel NT Kernel Logger in ETW Stop Error (Blue Screen of Death) Kernel-mode Dump KD WHEA Storage Spaces / Disk ManagementStorage Replica / DFS Replication??Hotpatch [22] ?
XNU Yes? Kernel panic ?ddb / kdp?AppleRAID?????
Zircon????????????

Scalability and clustering

Kernel NameSupported number of CPU cores NUMA supportComputer 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 with GIM support
DragonFly BSD kernel 256 [23] Partial [23] ????sys_checkpoint [24] planned [25] HAMMER2
FreeBSD kernel1024 [26] YesYes [27] YesYes [28] ??No pNFS [29]
Linux kernel 8192YesYesYesYes [30] NoCheckpoint/Restart(openMosix) pNFS / Ceph / OCFS2 / GFS2
Solaris kernel512 [31] YesYesYes [32] ??NoNo PxFS
Windows NT kernel ?Yes?????NoCluster Shared Volumes

Realtime support

Kernel NameFull kernel preemption Prevent priority inversion (Priority inheritance)Realtime SchedulingRealtime PriorityRealtime I/OCPU IsolationDisable CPU's Interrupt request (IRQ) handling Disable CPU's timer ticks Prevent memory from being swapped out
kernel threads interrupt handlers lock sections kernel spaceuserland
DragonFly BSD kernel ???????????mlock/mlockall system call
FreeBSD kernel ????UMUTEX_PRIO_INHERIT on _umtx_op [33] SCHED_FIFO / SCHED_RR on ULE scheduler [34] rtprio system call [34] ???Yes, since FreeBSD 9.0 [35] mlock/mlockall system call
Linux kernel preempt=fullthreadirqs PREEMPT_RT [36] RT-mutex / (mutex with Proxy Execution [37] )PI-futexes [38] SCHED_FIFO / SCHED_RR on CFS/EEVDF rtprio system callIOPRIO_CLASS_RT [39] isolcpusirqaffinitynohz_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_PRIORITY_CLASS????Windows 8 and later [44] VirtualLock
XNU ????os_unfair_lock [45] ??????mlock system call
Zircon????????????

Transport protocol support

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 PragueDual-Queue Coupled Active Queue Management
DragonFly BSD kernel YesYes?Yes?YesNoNo????
FreeBSD kernel YesYes?YesUnofficial patch exists [46] YesYesOptional????
Linux kernel YesYesYesYesPartial [47] YesYesdropped in 6.16(QUIC in Linux Kernel)optional [48] [49] (Linux kernel tree with L4S patches)DualPI2 qdisc [50] [51]
NetBSD kernel YesYesYesYes?YesYesYes????
OpenBSD kernel YesYes?Yes?Yes??????
Solaris kernel YesYes?Yes?YesYes?????
Windows NT kernel YesYes?Yes?YesNo?????
XNU YesYes?YesYesYesNoNo????
Zircon???Yes?YesYesYes????
Kernel Name Data link layer (L2)L2 over L2L2 segmentationlayer 2.5 (L2.5)L2 over L2.5L2 over L3L3 over L3L2 over L4
PPP Ethernet PPPoE IEEE 802.1Q (VLAN) IEEE 802.1ad (QinQ) MPLS VLL Epipe (VPWS) L2TPv3 L2 GRE 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] and netgraph-based kernel PPP [60] YesYes [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] NoYes [74] Yes [75] No [b] Yes [76] Yes [77]
NetBSD kernel Yes [78] YesYes [79] Yes [80] ?Yes [81] ?l2tp interface [82] ?Yes [83] gif [84] ???
OpenBSD kernel Yes [85] YesYes [86] Yes [87] svlan [87] ?mpw [88] ?egre [89] Yes [89] No?gif [90] ??Yes [91]
Solaris kernel Yes [92] YesYes [93] Yes??????NoYes?No [b] No [b] Yes
Windows NT kernel ?Yesraspppoe.sys??????Yes [94] Noipinip.sysNo [95] ?rasl2tp.sysYes
XNU YesYes?Yes??????Nogif???
Zircon????????????????
  1. Dropped since FreeBSD 8.0-RELEASE
  2. 1 2 3 Implemented in user-space only

Inter-process communication support

Kernel Name Pipe Unix domain socket Door Netlink
FreeBSD kernelBidirectional [96] YesNoYes [97]
XNU UnidirectionalYesNoNo
DragonFly BSD kernelBidirectionalYesNoNo
NetBSD kernelUnidirectionalYesNoNo
OpenBSD kernelBidirectionalYesNoNo
Linux UnidirectionalYesUnofficialYes
Solaris kernelBidirectionalYesYesNo
Windows NT kernel UnidirectionalNoNoNo

In-kernel security

Kernel
File access control Disable memory execution support
Kernel ASLR
Kernel Rootkit
Protection
Mandatory access control Capability-based security
In-kernel
key management
Audit API Sandbox SYN flood protection UDP flood protection Ping flood protection Smurf attack protection Network Behavior Analysis
Linux
Traditional Unix permissions, POSIX ACL YesYes(Linux Kernel Runtime Guard) LSM (SELinux, SMACK, TOMOYO Linux, AppArmor)Yes keyctl fanotifySELinux Sandbox, seccomp SYN cookies hashlimit module / intermediate lockless queues [98] ICMP rate limitingreverse path filteringNetfilter
FreeBSD kernel
Traditional Unix permissions, POSIX and NFSv4 ACL YesYes? TrustedBSD MAC In-kernel privilege division, and Capsicum? OpenBSM Capsicum, MAC framework SYN cookies ????
Solaris kernel
Traditional Unix permissions, POSIX ACL, NFSv4 ACL Default?? Solaris Trusted Extensions Process privileges [99] ????????
Windows NT kernel
Access control list DEP Yes Kernel Patch Protection Mandatory Integrity Control Process security tokens, and AppContainersNoYesWindows Event LogYes [100] Yes???
XNU
Traditional Unix permissions, NT/NFSv4 ACL [101] YesYesKernel Patch Protection [102] TrustedBSD MAC ?? OpenBSM Apple XNU Sandbox?????

In-kernel virtualization

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 DriverHypervisor-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 kernelchroot jail NoNovkernel??No
FreeBSD kernelchroot jail Virtio, Xen [103] bhyve ???No
NetBSD kernelchroot(sysjail (discontinued))NoVirtio, Xen [104] No? Rump kernel ?No
OpenBSD kernelchrootNoNoXen (guest only) [105] Yes [106] NoNoNoNo
Solaris kernelchroot Solaris Containers / Zones NoNoNo??No
Windows NT kernelAppContainers, Job Objects, Windows Server ContainersHyper-V Project Drawbridge NoVirtual Secure Mode, Device Guard, Credential Guard [107]
XNUchroot???Yes [108] ???No

In-kernel server support

Kernel Name HTTP FTP NFS CIFS Name server Transport-layer load balancerApplication-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 [109] (Tempesta FW) [110] (kmemcached)
DragonFly BSD kernel NoNoYesYes?Yes [111] ?NoNo??
FreeBSD kernel NoNoYesNoNoYes [112] NoNoNo??
Solaris kernel ??YesYes [113] ?Yes [114] Yes [114] ? KSSL ??
Windows NT kernel HTTP.sys??Yes?YesYesNo???
XNU NoNoYesNoNoNoNoNoNo??

Binary format support

A comparison of OS kernel support for different binary 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 NoNoYes [115] NoNoYesNoNoNoNo???????
DragonFly BSD kernelNoNoYesNoNoNoNoNoNoNoNoNoNoNoNoNoNo
FreeBSD kernelNoNoYesNoNoNoNoYesNoNoNoNoNoNoNoNoNo
HP-UX kernelNoNoYesNoNoNoNoNoNoYesNoNo?????
Linux NoYesYesYesYesNoNoYesNoYes?No?????
MINIX 3 Some [13] [14] NoYes [12] NoNoNoNoNoNoNoNoNo?????
NetBSD kernelYesYesYes???Yes?Yes????????
OpenBSD kernel??Yes??????????????
ReactOS kernel????????Yes????????
Solaris kernelYes [116] NoYes [117] NoNoNoNoNoNoNo???????
Windows NT kernelNoNoYes with WSL NoNoNoNoNoYesNoNoNoNo [a] No [a] ??No [a]
XNU NoNoNoNoNoNoYesNoNoNoNoNoNoNoNoNoNo
  1. 1 2 3 Supported by Win32 subsystem in user-space on x86

File system support

Physical file 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 NoNoNoNoNoNoNoYesNoNoNoYesNoNoNoNoYesNoNoNoNoNolimited writeNoNoNoread onlyYesNoNoNoNoNoYesNoNoNo
FreeBSD kernel NoNoNoNoNoNoNoYesYesYesNoYesNoNoNoNoYesNoNoNoNoNoSupport dropped since 10.0-RELEASE [118] [119] NoNoNoYesYesread onlyYesread onlyNoNoNoNo?No
Linux kernel Yes
[120]
YesUnofficial
[121]
read onlyYesYesread onlyYesYesYesYesYesread onlyYeslimited write (only with empty journal)YesYesYesYesYesYesYesFull read/write support since 5.15 [122] YesYes
[120]
[123]
write support?YesYes
[120]
Yes3rd-party moduleYesYesYesNoYesYesNo
MINIX 3 kernel NoNoNoNoNoNoNoYesNoNoNoTools available, cannot mountNoNoNoNoYesNoNoNoYesNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo
NetBSD kernel???????????????????????????Yes?Yes???????
NetWare kernel NoNoNoNoNoNoNoNoNoNoNoYesNoNoNoNoYesNoNoNoNoYesNoNoNoNoYesNoNoNoNoNoNoNoNo?No
OpenBSD kernel???????????????????????????Yes?????????
ReactOS kernel NoNoNoNoNoNoNoYes
[124]
Yes
[124]
Yes
[124]
NoYes
[124]
NoNoNoNoYes
[124]
NoNoNoNoNoRead onlyNoNoNoYes
[124]
NoNoNoNoNoYes [125] [124] NoNoNoNo
Solaris kernel ??No????Yes???Yes????Yes????NoNo???YesYes?YesNoNoNoNoNo?No
Windows NT kernel ??Unofficial
[121]
????Unofficial
[126]
Unofficial
[127]
Unofficial
[127]
NoYes?Unofficial
[121]
Unofficial
[121]
NoYes????NoYes???Yes??NoNoNoUnofficial
[128]
NoNoYesYes
XNU NoNoYesNoNoNoNoUnofficial
[129]
Unofficial
[129]
NoNoYesNoYesYesNoYesNoNoNoNoNoRead-OnlyNoNoNoYesYesNoOfficial support was abandoned; 3rd-party modules availableNoNoNoNoNoYesNo

Networked file system support

Kernel Name NFS AFS CIFS Coda 9P Ceph
DragonFly BSD kernel up to NFSv3NoYesNoNoNo
FreeBSD kernel YesYesYesYesNoYes
Linux kernel YesYesYesYesYesYes
NetBSD kernelup to NFSv3?????
OpenBSD kernelup to NFSv3?????
Solaris kernel YesYesYesNoNoNo
Windows NT kernel YesYesYesNoNoNo
XNU YesYesYesNoNoNo

Pseudo file system support

Kernel Name Device File System Process File System (procfs)Interface for user-space file systems
DragonFly BSD kerneldevfsYes FUSE
FreeBSD kerneldevfsObsoleted [130] FUSE
Linux devtmpfsYes FUSE
NetBSD kerneldevfsYes PUFFS
OpenBSD kernelNoNo FUSE
Solaris kerneldevfsYes FUSE (3rd-party implementation)
XNU devfsNo FUSE (Unoffical implementation)

Supported CPU instruction sets and microarchitectures

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
mmuno-mmux86x86-64mmuno-mmu32-bit64-bitmmuno-mmu32-bit64-bitno-mmummuno-mmummuno-mmummuno-mmu
DragonFly BSD kernel NoNoNoNoNoNoYesNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo
FreeBSD kernel No6.4 and below only [131] NoYes?YesYesNo10.4 and below only [131] projected to end in 14.x [131] NoYesYesNoNoNoNoNoNoNoNoNoNo12.x and below only [131] ?NoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo
Linux kernel NoYesYesYesYesYesYesNo6.7 and below onlyYesYesYesYesYesYesYesNo4.16 and below only [132] No2.6 and below onlyYesYesYesYesYesYesYes4.16 and below only [132] YesYesYes4.16 and below only [132] 4.16 and below only [132] 4.16 and below only [132] 4.12 and below onlyNoNoYesYesNo4.16 and below only [132] 4.16 and below only [132] Yes
MINIX 3 kernel ?NoNoYes?YesIn progressNoNoIn progress?NoNoNoNoNo?No?NoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo
NetBSD kernel YesYesYesYesNo [133] YesYes?YesYesNo [133] YesNoNoNo?????YesNo [133] YesYesNo [133] YesNo [133] ????????????????
NetWare kernel NoNoNoNoNoYesNo?NoNoNoNoNoNoNo?????NoNoNoNoNoNoNo????????????????
OpenBSD kernel last supported release 5.8 [134] YesYesYes?YesYes?NoYes?YesNoNoNo?????Yes?YesYes?YesYes????????????????
Rockbox kernel ???Yes?????Yes????No?????Yes????Yes?????????????????
Solaris kernel NoNoNoNoNoDropped since Oracle Solaris 11 (11/11) [135] Yes?NoNoNoOnly in Solaris 2.5.1NoNoOnly available as a separated version of OpenSolaris ?????NoNoDropped since Solaris 10 [136] Yes?NoNo????????????????
Windows NT kernel NoNT 5.0 RC1 and below onlyNoYesNoYesYesNo XP and 2003-2008 R2 only NT 4.0 and below onlyNo NT 3.51 and NT 4.0 onlyNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo
Windows CE kernel NoNoNoYes?Yes?NoNoYes?NoNoNoNoNo?No?NoYes?NoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo
XNU NoNoNoYes?YesYes?NoNoNoYesYesNoNo?????NoNoNoNoNoNoNo????????????????
SPARTAN kernel ?NoNoYes?YesYes?YesYes?YesNoNoNo?????NoNoYesYes?NoNo????????????????
FreeRTOS kernel ????Yes [137] ??????Yes [137] ??NoYes [137] ??Yes [137] Yes [137] ?Yes [137] ?????Yes [137] Yes [137] ?????Yes [137] ???Yes [137] ????
ZirconNoNoNoYesYesNoYesNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo

Supported GPU processors

Kernel nameIntelNVIDIAAMDARM Qualcomm Imagination Technologies Broadcom VeriSilicon
Intel HD/Iris Graphics GeForce/Quadro/TeslaRadeonMaliAdrenoPowerVRVideoCore4Vivante
Linux kernel YesYesYesYesYes2D only [138] [139] YesYes
Windows NT kernel YesYesYes? Windows Phone 8.x, Windows 10 Mobile, Windows on ARM Yes [140] No [141] Yes
XNU via I/O Kit (macOS only)via I/O Kit (macOS only)Novia I/O Kit (iOS only)NoNo

Supported kernel execution environment

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

Kernel name Linux Darwin Windows NT FreeBSD NetBSD Solaris OSF/1 Amiga Unix SunOS BSD/OS iBCS2 systems IRIX Ultrix NDIS SVR4
FreeBSD kernel Yes [142] NoNoYesNoNoNoNoNoNoNoNoNoYes [142] Yes [142]
Linux kernel YesNo(Longene)NoNoNoNoNoNoNoNoNoNo(NDISwrapper)No
NetBSD kernel Yes [143] No? ?No? ?Yes [143] YesYes [143] Yes [143] Yes [143] Yes [143] Yes [143] Yes [143] Yes [143] Yes [143] Yes [144] Yes
OpenBSD kernel Dropped since OpenBSD 6.0 [145] NoNoDropped since OpenBSD 5.0 [146] Dropped since OpenBSD 4.2 [147] NoNoNoDropped since OpenBSD 4.8 [148] Dropped since OpenBSD 4.8 [148] Dropped since OpenBSD 4.8 [148] NoDropped since OpenBSD 4.8 [148] NoDropped since OpenBSD 5.0 [146]
Windows NT kernel NoNoYesNoNoNoNoNoNoNoNoNoNoYesNo
ReactOS kernel NoNoYesNoNoNoNoNoNoNoNoNoNo?No
XNU NoYesNoNoNoNoNoNoNoNoNoNoNoNoNo

Supported cipher algorithms

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 kernelYesYesYesYesYesYesYesNoYesNoNoNoYesNoNoNoYesYesNoNoNoNo
FreeBSD kernelYesYesYesYesNoNoYesNoYesNoNoNoYesNoNoYesYesYesNoNoNoNo
LinuxYesYesYesYesYesYesYesNoNoNoNoYesNoYesYesYesYesYesYesYesYesYes
Windows NT kernelYesYesYesYesNoNoNoNoNoYesNoNoNoNoNoNoYesNoNoNoNoNo
macOS XNU KernelYesYesYes???Yes??YesYes????YesYes?????

Supported compression algorithms

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

Kernel name Deflate LZO LZJB zstd
zlib gzip
LinuxYesYesYesNoYes
NetBSD kernelYesYesYes?Yes
Solaris kernelYes??Yes?

Supported message digest algorithms

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
LinuxYes [149] [150] Yes [151] NoYes [152] Yes [153] Yes [154] Yes [155] Partial [156] Yes [157] Yes [158] Yes [159] Yes [160] Yes [161] Yes [162] Yes [163] Yes [164] Yes [165] NoNoNo Yes [166]
Solaris kernel YesYes YesYesYes YesYes? ? ? ?Yes?? Yes?YesYes? ? ?
Windows NT kernel ?? YesYesYes YesYes? No ? NoNoNoNo NoNoYesNoNo No ?
FreeBSD kernelYesYes?YesYes YesYes? ? ? ?Yes?? Yes?Yes?? ? ?
XNU kernelYes?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

Supported Bluetooth protocols

Kernel nameACLSCOLMPHCIL2CAPBNEPRFComm.SDPTCPAVTCPAVDTPOBEXCMTPHIDPHCRPCAPIPPP
FreeBSD kernel???YesYes?YesYes???No?????
Linux?Yes?YesYesYesYes?????YesYes???
macOS XNU Kernel????Yes?YesYes???No?????
Kernel nameACLSCOLMPHCIL2CAPBNEPRFComm.SDPTCPAVTCPAVDTPOBEXCMTPHIDPHCRPCAPIPPP

Audio support

Kernel nameAudio systemin-kernel mixerin-kernel filter
Linux ALSA, with optional OSS API compatibility [167] ??
Windows NT kernel MME / WDM audio / Kernel Streaming (KS)dropped (KMixer.sys)KS Filters
FreeBSD kernel OSS API VCHANs in OSS API?
NetBSD kernelnative (Sun-like) / OSS API [168] audio_system [169] ?
Solaris kernelSun audio API / OSS API Yes?

Graphics support

Kernel name Framebuffer Display managementDisplay MuxGPU schedulerGPU memory managementin-kernel Remote Desktop
Linux Linux framebuffer (fbdev) / Direct Rendering Manager Kernel Mode Setting VGA Switcheroo [170] DRM sched [171] DMA-BUF No
Windows NT kernelDxgkrnl.sysVidPN Manager in Dxgkrnl.sys [172] ?VidSch in Dxgkrnl [173] VidMm in Dxgkrnl.sys, Dxgmms1.sys, and Dxgmms2.sys [174] RdpDD.sys / RdpWD.sys

See also

Footnotes

  1. "Kernel Definition". The Linux Information Project. Retrieved 4 March 2015.
  2. "Kernel in Operating System". GeeksforGeeks. 2020-07-23. Retrieved 2025-05-31.
  3. IBM PC Real Time Clock should run in UT
  4. The Amiga hardware lacked support for memory protection, so the strong isolation goals of the microkernel design could not be achieved.[ citation needed ]
  5. The Amiga hardware lacked support for memory protection, so the strong isolation goals of the microkernel design could not be achieved.[ citation needed ]
  6. "Chapter 14. Security". FreeBSD Handbook.
  7. setfacl(1)    FreeBSD General Commands Manual
  8. 1 2 www.gnu.org/software/hurd/faq/smp.html
  9. 1 2 3 "The Fiasco microkernel - Status" . Retrieved January 11, 2013.
  10. "Linux Kernel FAQ".
  11. A full task-isolation mode for the kernel
  12. 1 2 Supports ELF since version 3.2.0 "MinixReleases". Minix Wiki. Archived from the original on 31 May 2012. Retrieved 21 May 2012.
  13. 1 2 a.out will be phased out in coming releases. van der Kouwe, Erik. "Re: ~Segmentation [Was: Minix3 for sparc]". Minix3 for sparc. Google Groups. Retrieved 21 May 2012.
  14. 1 2 Commit to remove a.out utils from minix; only supports running a.out now. Leca, Antoine. "3fb8cb760c9075fab05682b89b1542d66481ba58". minix.git. Retrieved 21 May 2012.
  15. "Announcing NetBSD 5.0".
  16. "Event Tracing". Microsoft Docs . 7 January 2021.
  17. "IBM PC Real Time Clock should run in UT".
  18. Chapter 10. Kernel Debugging - FreeBSD Documentation Portal. The FreeBSD Project
  19. Live Update Orchestrator "LUO" Merged For Linux 6.19. Phoronix. December 8, 2025
  20. crash(8) - OpenBSD manual pages
  21. Core Dump Management on the Solaris OS. Oracle. June 2007
  22. Hotpatching on Windows. Microsoft. November 20, 2021
  23. 1 2 DragonFly's Major Features List. DragonFly Project.
  24. DragonFly On-Line Manual Pages : sys_checkpoint(2)
  25. DragonFly BSD - history. DragonFly Project.
  26. FreeBSD 14.0-RELEASE Announcement. FreeBSD Project.
  27. RoCE as a performance accelerator. FreeBSD Project. 2018.
  28. ntb. FreeBSD Project.
  29. "pnfs(4)". FreeBSD Manual Pages. The FreeBSD Project. August 5, 2018. Retrieved 2026-01-22.
  30. NTB Drivers. kernel.org.
  31. For sun4v platforms, as of Oracle Solaris b147
  32. "Oracle Solaris 11 Express 2010.11 | What's New" (pdf). Oracle Technology Network. Oracle. 2011-01-28. Retrieved 2026-01-24.
  33. _umtx_op. The FreeBSD Project.
  34. 1 2 FreeBSD Foundation: A Year of Sponsored Development in 2024. FreeBSD Foundation. December 20, 2024
  35. mav (2010-09-13). "[base] Revision 212541" . Retrieved 2026-01-23.
  36. A realtime preemption overview. LWN. August 10, 2005
  37. A proxy-execution baby step. LWN. July 29, 2025
  38. Lightweight PI-futexes. kernel.org.
  39. Block io priorities. kernel.org.
  40. "(Nearly) full tickless operation in 3.10". Lwn.net. Retrieved 2015-04-09.
  41. proc lwpsinfo_t Structure Oracle
  42. Always Preemptible and Always Interruptible. Microsoft
  43. Priority Inversion. Microsoft
  44. Bright, Peter (October 28, 2012). "Better on the inside: under the hood of Windows 8". Ars Technica. section "Tick tock".
  45. os_unfair_lock_lock - Apple Developer Documentation. Apple
  46. "Multipath TCP". Centre for Advanced Internet Architectures - Swinburne University of Technology. Archived from the original on 2017-02-15. Retrieved 2026-01-24.
  47. Cloudflare Talks Up Multi-Path TCP But Dings Linux's Less Than Ideal Support. Phoronix. January 3, 2025.
  48. The 6.18 kernel has been released. LWN. December 1, 2025
  49. IP Sysctl. kernel.org.
  50. Dual-Queue Coupled Active Queue Management (AQM) for Low Latency, Low Loss, and Scalable Throughput (L4S) - Appendix A. Example DualQ Coupled PI2 Algorithm. IETF. January 2023
  51. The 6.17 kernel has been released. LWN.net. September 28, 2025
  52. RFC 2004
  53. RFC 2003
  54. RFC 1933, RFC 2893, and RFC 4213
  55. DragonFly On-Line Manual Pages : ppp(4). DragonFly Projects
  56. DragonFly On-Line Manual Pages : vlan(4). DragonFly Projects
  57. DragonFly On-Line Manual Pages : gre(4). DragonFly Projects
  58. DragonFly On-Line Manual Pages : gif(4). DragonFly Projects
  59. FreeBSD Handbook Chapter 28 PPP and SLIP. The FreeBSD Project
  60. Archie Cobbs (November 13, 2012). "ng_ppp(4)". FreeBSD Manual Pages. The FreeBSD Project. Retrieved 2026-01-22.
  61. Julian Elischer (September 15, 2015). "ng_pppoe(4)". FreeBSD Manual Pages. The FreeBSD Project. Retrieved 2026-01-22.
  62. FreeBSD Manual Pages - Kernel Interfaces Manual - VLAN(4)
  63. FreeBSD Manual Pages - Kernel Interfaces Manual - GRE(4). The FreeBSD Project
  64. Andrey V. Elsukov (November 7, 2014). "me(4)". FreeBSD Manual Pages. The FreeBSD Project. Retrieved 2026-01-23.
  65. FreeBSD Manual Pages - Kernel Interfaces Manual - GIF(4). The FreeBSD Project
  66. FreeBSD 10.2-RELEASE Release Notes. The FreeBSD Project
  67. PPP (point-to-point protocol) support. kernelconfig.io
  68. Ethernet (10 or 100Mbit). kernelconfig.io
  69. PPP over Ethernet. kernelconfig.io
  70. 802.1Q/802.1ad VLAN Support. kernelconfig.io
  71. MultiProtocol Label Switching. kernelconfig.io
  72. L2TPv3 support. kernelconfig.io
  73. IP: GRE tunnels over IP. kernelconfig.io
  74. IP: tunneling. kernelconfig.io
  75. IPv6: IPv6-in-IPv4 tunnel (SIT driver). kernelconfig.io
  76. PPP over L2TP. kernelconfig.io
  77. Virtual eXtensible Local Area Network (VXLAN). kernelconfig.io
  78. ppp(4) - NetBSD Manual Pages. The NetBSD Project
  79. pppoe(4) - NetBSD Manual Pages. The NetBSD Project
  80. vlan(4) - NetBSD Manual Pages. The NetBSD Project
  81. mpls(4) - NetBSD Manual Pages. The NetBSD Project
  82. l2tp(4) - NetBSD Manual Pages. The NetBSD Project
  83. gre(4) - NetBSD Manual Pages. The NetBSD Project
  84. gif(4) - NetBSD Manual Pages. The NetBSD Project
  85. ppp(4) - OpenBSD manual pages. OpenBSD Project
  86. pppoe(4) - OpenBSD manual pages. OpenBSD Project
  87. 1 2 vlan(4) - OpenBSD manual pages. OpenBSD Project
  88. OpenBSD 5.8 Changelog. OpenBSD Project
  89. 1 2 gre(4) - OpenBSD manual pages. OpenBSD Project
  90. gif(4) - OpenBSD manual pages. OpenBSD Project
  91. CVS: cvs.openbsd.org: src. OpenBSD Project
  92. "Chapter 21 Overview of PPP". Oracle Help Center. Oracle. Retrieved 2026-01-22.
  93. "sppptun(7M)". Oracle Solaris 11.3 Information Library. Oracle. 2017. Retrieved 2026-01-22.
  94. GRE Tunneling in Windows Server 2016. Microsoft. November 2, 2024
  95. Edward Horley. "Practical IPv6 for Windows Administrators" p.12. December 27, 2013. ISBN 978-1430263708
  96. "pipe(2)". FreeBSD Manual Pages. The FreeBSD Project. 2016-07-20. Retrieved 2026-01-23.
  97. "netlink(4)". FreeBSD Manual Pages. The FreeBSD Project. 2022-11-30. Retrieved 2026-01-27.
  98. Linux 6.18 Will Be A Big Improvement For Servers Encountering DDoS Attacks. Phoronix. October 3, 2025
  99. "privileges(5)". Oracle Solaris 11.3 Reference Library. Oracle. 2017. Retrieved 2026-01-23.
  100. "Syn attack protection on Windows Vista, Windows 2008, Windows 7, Windows 2008 R2, Windows 8/8.1, Windows 2012 and Windows 2012 R2". June 2010. SynAttack protection is enabled by default and cannot be disabled
  101. "Elementary Information Security, Second Edition, Chapter 4 "Sharing Files"" (PDF). Section 4.4 "Microsoft Windows ACLs". 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.
  102. iOS Extraction Without a Jailbreak: Full iOS 9 Support, Simplified File System Extraction. ElcomSoft. August 6, 2020
  103. "Xen". FreeBSD Wiki. 2025-03-29. Retrieved 2026-01-24.
  104. "NetBSD/xen". NetBSD Wiki. Retrieved 2026-01-24.
  105. "xen(4)". OpenBSD manual pages. 2015-12-09. Retrieved 2026-01-24.
  106. Mike Larkin (2015-12-06). "vmm(4)". OpenBSD manual pages. Retrieved 2026-01-24.
  107. "Windows 10 Device Guard and Credential Guard Demystified". Ash's Blog. Retrieved 2018-03-28.
  108. "Hypervisor". Apple Developer Documentation. Retrieved 2026-01-24.
  109. doc/Documentation/networking/tls.txt kernel.org
  110. "Web security - tempesta-tech/tempesta Wiki". Tempesta Technologies INC. October 31, 2017. Retrieved May 7, 2018.
  111. Ziehau, Sepherosa (2013-05-22). "socket: Extend SO_REUSEPORT to distribute workload to available sockets". DragonFly Project Source. Retrieved 2024-07-31.
  112. Lundberg, Johannes (2018-06-06). "Load balance sockets with new SO_REUSEPORT_LB option" . Retrieved 2024-07-31.
  113. "OpenSolaris Project Weaves CIFS Server Into the Solaris Kernel". Archived from the original on 2008-05-22. Retrieved 2009-08-21.
  114. 1 2 Integrated Load Balancer
  115. 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.
  116. to support SunOS 4.x binaries
  117. including a Linux compatibility option
  118. attilio (2012-10-17). "[base] Revision 241636" . Retrieved 2026-01-23.
  119. attilio (2013-03-02). "[base] Revision 247665" . Retrieved 2026-01-23.
  120. 1 2 3 experimental and dangerous write support
  121. 1 2 3 4 additional driver needed
  122. "NTFS3". The Linux Kernel documentation. Retrieved 2026-01-23.
  123. write support currently broken
  124. 1 2 3 4 5 6 7 ReactOS Wiki - File Systems
  125. Vicmarcal (December 6, 2017). "ReactOS 0.4.7 released!". ReactOS Project. Retrieved 2026-01-23.
  126. additional driver needed - see http://www.fs-driver.org/
  127. 1 2 additional driver needed - see http://www.ext2fsd.com Archived 2012-07-23 at the Wayback Machine
  128. additional driver needed - see https://github.com/maharmstone/btrfs
  129. 1 2 Third party module required. Mac OS X Kernel Module available here
  130. Garrett Wollman; Mike Pritchard (2023-04-10). "procfs(5)". FreeBSD Manual Pages. The FreeBSD Project. Retrieved 2026-01-25.
  131. 1 2 3 4 "FreeBSD supported platforms".
  132. 1 2 3 4 5 6 7 Larabel, Michael (2 April 2018). "Linux Set To Shed Nearly 500k Lines Of Code By Dropping Old CPUs - Phoronix". Phoronix . Phoronix Media. Retrieved 2018-04-22. The architectures on the chopping block for Linux 4.17 are Blackfin, CRIS, FRV, M32R, Metag, MN10300, Score, and Tile
  133. 1 2 3 4 5 NetBSD Projects - Support for MMU-less systems
  134. "OpenBSD/Vax".
  135. "End of Feature Notices for Oracle Solaris 11". Oracle. Oracle. Retrieved 2026-01-24. Support for the 32–bit only x86 hardware has been removed. Support for running 32-bit applications and libraries will continue.
  136. "Features Removed From the Solaris 10 Operating System - Solaris 10 Release Notes". Solaris 10 Operating System (Solaris 10 1/06 - Solaris 10 1/13). Oracle. Retrieved 2026-01-24.
  137. 1 2 3 4 5 6 7 8 9 10 Official FreeRTOS Ports, Amazon Web Services, Inc.
  138. The GMA500 GPU has a PowerVR in it. The GMA500 Kconfig, mention that it is a 2D KMS driver.
  139. There is also a driver for the dreamcast PowerVR but it is only a Framebuffer driver as explained in the fbdev Kconfig
  140. Intel Atom integrated graphics card for Windows 8 tablet is based on a PowerVR
  141. Raspberry VideoCore 4 support on Windows Microsoft doesn't have plan for OpenGL on UWP also Broadcom doesn't have plan for DirectX
  142. 1 2 3 Linux emulation in FreeBSD - 2 A look inside...
  143. 1 2 3 4 5 6 7 8 9 10 NetBSD Binary Emulation
  144. "Summer of Code:NDIS on NetBSD".
  145. "OpenBSD 6.0 Changelog". OpenBSD. Retrieved 2026-01-24.
  146. 1 2 "OpenBSD 5.0 Changelog". OpenBSD. Retrieved 2026-01-23.
  147. "OpenBSD 4.2 Changelog". OpenBSD. Retrieved 2026-01-23.
  148. 1 2 3 4 "OpenBSD 4.8 Changelog". OpenBSD. Retrieved 2026-01-23.
  149. "Crc32_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
  150. "Crc32.c « lib - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
  151. "Crc32c_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
  152. "Md4.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
  153. "Md5.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
  154. "Sha1_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
  155. "Sha256_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
  156. "Sha3_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
  157. "Michael_mic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
  158. "Poly1305_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
  159. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/rmd128.c [ dead link ]
  160. "Rmd160.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
  161. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/rmd256.c [ dead link ]
  162. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/rmd320.c [ dead link ]
  163. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/tgr192.c [ dead link ]
  164. "Wp512.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
  165. "Hmac.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
  166. "Vmac.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
  167. Takashi Iwai (2004-01-22). "Notes on Kernel OSS-Emulation" (plain text). Linux Kernel Documentation. Retrieved 2026-01-23.
  168. in OSS APIhe_future Improving libossaudio, and the future of OSS in NetBSD. NetBSD Project. April 27, 2020
  169. audio_system(9) - NetBSD Manual Pages. NetBSD Project
  170. NVIDIA Is Helping To Improve Linux's Dynamic Display Mux Support For Laptops. Phoronix. 14 October 2024.
  171. Deadline Scheduling Policy Being Experimented With For Linux Graphics Drivers. Phoronix. December 30, 2024.
  172. Introduction to Video Present Networks. Microsoft. December 15, 2021.
  173. WDDM Architecture. Microsoft. October 2, 2024.
  174. Video Memory Management and GPU Scheduling. Microsoft. July 3, 2024.