Comparison of operating system kernels

From Wikipedia, the free encyclopedia

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.

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.

More information Kernel name, Programminglanguage ...
Close

Failure analysis and availability

More information Kernel Name, Kernel Log ...
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
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 Yes Yes livepatch Kexec HandOver / Live Update Orchestrator[19]
NetBSD kernel Yes ? Kernel panic ? DDB / KGDB ? RAIDframe, ZFS ? ? ? ? ?
OpenBSD kernel Yes ? Kernel panic Yes[20] ddb ? softraid ? ? ? ? ?
Solaris kernel Yes ? Yes System core dump[21] mdb ereport Solaris Volume Manager, ZFS ? ? ? ? ?
Windows NT kernel NT Kernel Logger in ETW Stop Error (Blue Screen of Death) Kernel-mode Dump KD WHEA Storage Spaces / Disk Management Storage Replica / DFS Replication ? ? Hotpatch[22] ?
XNU Yes ? Kernel panic ? ddb / kdp ? AppleRAID ? ? ? ? ?
Zircon ? ? ? ? ? ? ? ? ? ? ? ?
Close

Scalability and clustering

More information Kernel Name, Supported number of CPU cores ...
Kernel Name Supported number of CPU cores NUMA support Computer cluster interconnect Application checkpointing
/
Process migration
Single system image Clustered file system
Remote direct memory access (RDMA) support InfiniBand support PCI Express
Non-Transparent Bridge (NTB) support
CXL 3.1
inter-host communication with GIM support
DragonFly BSD kernel 256[23] Partial[23] ? ? ? ? sys_checkpoint[24] planned[25] HAMMER2
FreeBSD kernel 1024[26] Yes Yes[27] Yes Yes[28] ? ? No pNFS[29]
Linux kernel 8192 Yes Yes Yes Yes[30] No Checkpoint/Restart (openMosix) pNFS / Ceph / OCFS2 / GFS2
Solaris kernel 512[31] Yes Yes Yes[32] ? ? No No PxFS
Windows NT kernel ? Yes ? ? ? ? ? No Cluster Shared Volumes
Close

Realtime support

More information Kernel Name, Full kernel preemption ...
Kernel Name Full kernel preemption Prevent priority inversion (Priority inheritance) Realtime Scheduling Realtime Priority Realtime I/O CPU Isolation Disable CPU's Interrupt request (IRQ) handling Disable CPU's timer ticks Prevent memory from being swapped out
kernel threads interrupt handlers lock sections kernel space userland
DragonFly BSD kernel ? ? ? ? ? ? ? ? ? ? ? mlock/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=full threadirqs PREEMPT_RT[36] RT-mutex / (mutex with Proxy Execution[37]) PI-futexes[38] SCHED_FIFO / SCHED_RR on CFS/EEVDF rtprio system call IOPRIO_CLASS_RT[39] isolcpus irqaffinity nohz_full[40] mlock/mlockall system call
NetBSD kernel ? ? ? ? ? ? ? ? ? ? ? mlock/mlockall system call
OpenBSD kernel ? ? ? ? ? ? ? ? ? ? ? mlock/mlockall system call
Solaris kernel ? ? ? ? Yes[41] ? ? ? ? ? ? mlock/mlockall system call
Windows NT kernel Yes[42] ? ? AutoBoost[43] ? REALTIME_PRIORITY_CLASS ? ? ? ? Windows 8 and later[44] VirtualLock
XNU ? ? ? ? os_unfair_lock[45] ? ? ? ? ? ? mlock system call
Zircon ? ? ? ? ? ? ? ? ? ? ? ?
Close

Transport protocol support

More information Kernel Name, Internet layer (L3) ...
Kernel Name Internet layer (L3) Transport layer (L4) L4S Congestion controls
IPv4 IPv6 IPSec TCP Multipath TCP UDP SCTP DCCP QUIC Accurate ECN (AccECN) TCP Prague Dual-Queue Coupled Active Queue Management
DragonFly BSD kernel Yes Yes ? Yes ? Yes No No ? ? ? ?
FreeBSD kernel Yes Yes ? Yes Unofficial patch exists[46] Yes Yes Optional ? ? ? ?
Linux kernel Yes Yes Yes Yes Partial[47] Yes Yes dropped in 6.16 (QUIC in Linux Kernel) Yes[48][49] (Linux kernel tree with L4S patches) DualPI2 qdisc[50][51]
NetBSD kernel Yes Yes Yes Yes ? Yes Yes Yes ? ? ? ?
OpenBSD kernel Yes Yes ? Yes ? Yes ? ? ? ? ? ?
Solaris kernel Yes Yes ? Yes ? Yes Yes ? ? ? ? ?
Windows NT kernel Yes Yes ? Yes ? Yes No ? ? ? ? ?
XNU Yes Yes ? Yes Yes Yes No No ? ? ? ?
Zircon ? ? ? Yes ? Yes Yes Yes ? ? ? ?
Close
More information Kernel Name, Data link layer (L2) ...
Kernel Name Data link layer (L2) L2 over L2 L2 segmentation layer 2.5 (L2.5) L2 over L2.5 L2 over L3 L3 over L3 L2 over L4
PPP Ethernet PPPoE IEEE 802.1Q (VLAN) IEEE 802.1ad (QinQ) MPLS VLL Epipe (VPWS) L2TPv3 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 ????????????????
Close
  1. Dropped since FreeBSD 8.0-RELEASE
  2. Implemented in user-space only

Inter-process communication support

More information Kernel Name, Signal ...
Kernel Name Signal Messaging Shared memory Stream-oriented Kernel-assisted Remote Procedure Call
Message queue (Mailbox) between kernel and userspace Anonymous Named Pipe Local socket
Anonymous pipe Named pipe
FreeBSD kernel Yes POSIX/System V AF_NETLINK sockets[96] SHM_ANON[97] Yes Bidirectional[98] Yes AF_UNIX ?
XNU Yes POSIX AF_ROUTE and AF_SYSTEM sockets, Mach IPC ? Yes Unidirectional Yes AF_UNIX Mach IPC
DragonFly BSD kernel Yes ? ? ? Yes Bidirectional Yes AF_UNIX ?
NetBSD kernel Yes ? AF_ROUTE sockets ? Yes Unidirectional Yes AF_UNIX ?
OpenBSD kernel Yes ? AF_ROUTE sockets ? Yes Bidirectional Yes AF_UNIX ?
Linux Yes POSIX/System V AF_NETLINK sockets memfd POSIX/System V Unidirectional Yes AF_UNIX Binder
Solaris kernel Yes POSIX/System V ? ? Yes Bidirectional Yes AF_UNIX Doors
Windows NT kernel ? MailSlot[99] ? ? Yes Unidirectional NPFS AF_UNIX[100] ALPC
Close

In-kernel security

More information Kernel, File access control ...
Kernel
File access control Disable memory execution support
Kernel ASLR
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 Yes Yes LSM (SELinux, SMACK, TOMOYO Linux, AppArmor) Yes keyctl fanotify / inotify SELinux Sandbox, seccomp SYN cookies hashlimit module / intermediate lockless queues[101] ICMP rate limiting reverse path filtering Netfilter
FreeBSD kernel
Traditional Unix permissions, POSIX and NFSv4 ACL Yes Yes TrustedBSD MAC In-kernel privilege division, and Capsicum ? OpenBSM / inotify[102] Capsicum, MAC framework SYN cookies ? ? ? ?
Solaris kernel
Traditional Unix permissions, POSIX ACL, NFSv4 ACL Default ? Solaris Trusted Extensions Process privileges[103] ? ? ? ? ? ? ? ?
Windows NT kernel
Access control list DEP Yes Mandatory Integrity Control Process security tokens, and AppContainers No Yes Windows Event Log Yes[104] Yes ? ? ?
XNU
Traditional Unix permissions, NT/NFSv4 ACL[105] Yes Yes TrustedBSD MAC ? ? OpenBSM Apple XNU Sandbox ? ? ? ? ?
Close
More information Kernel, Code signing ...
Kernel Code signing Runtime integrity checking Application Whitelisting Verifying
Kernel (Secure Boot) Kernel driver Application block device filesystem
Linux Yes Module signature verification Linux Integrity Measurement Architecture (Linux Kernel Runtime Guard) ? dm-verity fs-verity
FreeBSD kernel ? ? ? ? ? ? ?
NetBSD kernel ? ? ? ? veriexec ? ?
Solaris kernel ? ? ? ? ? ? ?
Windows NT kernel Yes Kernel-Mode Code Signing[106] ? Kernel Patch Protection AppLocker ? Windows Resource Protection
XNU ? kext signing ? Kernel Patch Protection[107] ? ? ?
Close

In-kernel virtualization

More information Kernel Name, Container(no resource management, no security) ...
Kernel Name Container
(no resource management,
no security)
Container
(no resource management)
Container
(resource management)
Paravirtualization Full virtualization User-space execution Kernel as Library Kernel as Kernel Driver Hypervisor-Enforced Kernel Partitioning
Linux chroot LXC Virtio, Hyper-V (guest only), Xen (guest only), VMI (guest only), kvm-lite, lguest KVM UML (LKL) (coLinux) No
DragonFly BSD kernel chroot jail No No vkernel ? ? No
FreeBSD kernel chroot jail Virtio, Xen[108] bhyve ? ? ? No
NetBSD kernel chroot (sysjail (discontinued)) No Virtio, Xen[109] No ? Rump kernel ? No
OpenBSD kernel chroot No No Xen (guest only)[110] Yes[111] No No No No
Solaris kernel chroot Solaris Containers / Zones No No No ? ? No
Windows NT kernel AppContainers, Job Objects, Windows Server Containers Hyper-V Project Drawbridge No Virtual Secure Mode, Device Guard, Credential Guard[112]
XNU chroot ? ? ? Yes[113] ? ? ? No
Close

In-kernel server support

More information Kernel Name, HTTP ...
Kernel Name HTTP FTP NFS CIFS Name server Transport-layer load balancer Application-layer load balancer 9P TLS proxy WAF Memcached server
Linux kernel (TUX web server patch) (TUX web server patch) knfsd ksmbd ? IP Virtual Server (KTCPVS) (patch available) SOL_TLS[114] (Tempesta FW)[115] (kmemcached)
DragonFly BSD kernel No No Yes Yes ? Yes[116] ? No No ? ?
FreeBSD kernel No No Yes No No Yes[117] No No ktls[118] ? ?
Solaris kernel ? ? Yes Yes[119] ? Yes[120] Yes[120] ? KSSL ? ?
Windows NT kernel HTTP.sys ? ? Yes ? Yes Yes No ? ? ?
XNU No No Yes No No No No No No ? ?
Close

Binary format support

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

More information Name, a.out ...
Name a.out ECOFF ELF FDPIC
ELF
binaries
(mmu less)
flat
binaries
(superH)
HUNK Mach-O
Misc
(wrapper based,
like interpreters)
PE SOM
(PA-RISC,
HP-UX)
NLM PEF DOS COM MZ LE LX NE
Amiga Exec No No Yes[121] No No Yes No No No No ? ? ? ? ? ? ?
DragonFly BSD kernel No No Yes No No No No No No No No No No No No No No
FreeBSD kernel No No Yes No No No No Yes No No No No No No No No No
HP-UX kernel No No Yes No No No No No No Yes No No ? ? ? ? ?
Linux No Yes Yes Yes Yes No No Yes No Yes ? No ? ? ? ? ?
MINIX 3 Some[13][14] No Yes[12] No No No No No No No No No ? ? ? ? ?
NetBSD kernel Yes Yes Yes ? ? ? dropped[122] ? Yes ? ? ? ? ? ? ? ?
OpenBSD kernel ? ? Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ?
ReactOS kernel ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ?
Solaris kernel Yes[123] No Yes[124] No No No No No No No ? ? ? ? ? ? ?
Windows NT kernel No No Yes with WSL No No No No No Yes No No No No[a] No[a] ? ? No[a]
XNU No No No No No No Yes No No No No No No No No No No
Close
  1. Supported by Win32 subsystem in user-space on x86

File system support

Physical file systems:

More information Kernel, Acorn ADFS ...
Kernel Acorn ADFS Amiga FFS APFS BeFS BFS cramfs EFS ext2 ext3 ext4 F2FS FAT FreeVxFS HFS HFS+ HPFS ISO 9660 JFFS JFFS2 JFS MINIX fs NSS NTFS OCFS QNX4 FS System V FS UDF UFS XFS ZFS ReiserFS Reiser4 Btrfs HAMMER Tux3 exFAT ReFS
DragonFly BSD kernel No No No No No No No Yes No No No Yes No No No No Yes No No No No No limited write No No No read only Yes No No No No No Yes No No No
FreeBSD kernel No No No No No No No Yes Yes Yes No Yes No No No No Yes No No No No No Support dropped since 10.0-RELEASE[125][126] No No No Yes Yes read only Yes read only No No No No ? No
Linux kernel Yes
[127]
Yes Unofficial
[128]
read only Yes Yes read only Yes Yes Yes Yes Yes read only Yes limited write (only with empty journal) Yes Yes Yes Yes Yes Yes Yes Full read/write support since 5.15[129] Yes Yes
[127]
[130]
write support? Yes Yes
[127]
Yes 3rd-party module Yes Yes Yes No Yes Yes No
MINIX 3 kernel No No No No No No No Yes No No No Tools available, cannot mount No No No No Yes No No No Yes No No No No No No No No No No No No No No No No
NetBSD kernel ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? Yes ? ? ? ? ? ? ?
NetWare kernel No No No No No No No No No No No Yes No No No No Yes No No No No Yes No No No No Yes No No No No No No No No ? No
OpenBSD kernel ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ? ?
ReactOS kernel No No No No No No No Yes
[131]
Yes
[131]
Yes
[131]
No Yes
[131]
No No No No Yes
[131]
No No No No No Read only No No No Yes
[131]
No No No No No Yes[132][131] No No No No
Solaris kernel ? ? No ? ? ? ? Yes ? ? ? Yes ? ? ? ? Yes ? ? ? ? No No ? ? ? Yes Yes ? Yes No No No No No ? No
Windows NT kernel ? ? Unofficial
[128]
? ? ? ? Unofficial
[133]
Unofficial
[134]
Unofficial
[134]
No Yes ? Unofficial
[128]
Unofficial
[128]
No Yes ? ? ? ? No Yes ? ? ? Yes ? ? No No No Unofficial
[135]
No No Yes Yes
XNU No No Yes No No No No Unofficial
[136]
Unofficial
[136]
No No Yes No Yes Yes No Yes No No No No No Read-Only No No No Yes Yes No Official support was abandoned; 3rd-party modules available No No No No No Yes No
Close

Networked file system support

More information Kernel Name, NFS ...
Kernel Name NFS AFS CIFS Coda 9P Ceph
DragonFly BSD kernel up to NFSv3 No Yes No No No
FreeBSD kernel Yes Yes Yes Yes No Yes
Linux kernel Yes Yes Yes Yes Yes Yes
NetBSD kernel up to NFSv3 ? ? ? ? ?
OpenBSD kernel up to NFSv3 ? ? ? ? ?
Solaris kernel Yes Yes Yes No No No
Windows NT kernel Yes Yes Yes No No No
XNU Yes Yes Yes No No No
Close

Pseudo file system support

More information Kernel Name, Device File System ...
Kernel Name Device File System Process File System (procfs) Interface for user-space file systems
DragonFly BSD kernel devfs Yes FUSE
FreeBSD kernel devfs Obsoleted[137] FUSE
Linux devtmpfs Yes FUSE
NetBSD kernel devfs Yes PUFFS
OpenBSD kernel No No FUSE
Solaris kernel devfs Yes FUSE (3rd-party implementation)
XNU devfs No FUSE (Unoffical implementation)
Close

Supported CPU instruction sets and microarchitectures

More information kernel, HP ...
kernel HP Softbank,
ARM Holdings
Intel MIPS IBM Renesas Electronics Oracle NXP Analog Devices Xilinx Cadence Canon,
Axis Comm.
Socionext Microchip,
Atmel
CML,
Hyperstone
Intel,
Altera
WDC Sunplus Technology NVIDIA TI
VAX Alpha PA-RISC ARM x86 i960 IA-64 MIPS PowerPC S/390 z/Arch H8300 M16C M32R 78K V850 SuperH SPARC m68k Blackfin (no-mmu) MicroBlaze Xtensa ETRAX CRIS FR-V MN10300 AVR32 E1 (no-mmu) Nios (no-mmu) Nios II WDC 65C816 S+core Tilera C6X
mmu no-mmu x86 x86-64 mmu no-mmu 32-bit 64-bit mmu no-mmu 32-bit 64-bit no-mmu mmu no-mmu mmu no-mmu mmu no-mmu
DragonFly BSD kernel No No No No No No Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
FreeBSD kernel No 6.4 and below only[138] No Yes ? Yes Yes No 10.4 and below only[138] projected to end in 14.x[138] No Yes Yes No No No No No No No No No No 12.x and below only[138] ? No No No No No No No No No No No No No No No No No No
Linux kernel No Yes Yes Yes Yes Yes Yes No 6.7 and below only Yes Yes Yes Yes Yes Yes Yes No 4.16 and below only[139] No 2.6 and below only Yes Yes Yes Yes Yes Yes Yes 4.16 and below only[139] Yes Yes Yes 4.16 and below only[139] 4.16 and below only[139] 4.16 and below only[139] 4.12 and below only No No Yes Yes No 4.16 and below only[139] 4.16 and below only[139] Yes
MINIX 3 kernel ? No No Yes ? Yes In progress No No In progress ? No No No No No ? No ? No No No No No No No No No No No No No No No No No No No No No No No No
NetBSD kernel Yes Yes Yes Yes No[140] Yes Yes ? Yes Yes No[140] Yes No No No ? ? ? ? ? Yes No[140] Yes Yes No[140] Yes No[140] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
NetWare kernel No No No No No Yes No ? No No No No No No No ? ? ? ? ? No No No No No No No ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
OpenBSD kernel last supported release 5.8[141] Yes Yes Yes ? Yes Yes ? No Yes ? Yes No No No ? ? ? ? ? Yes ? Yes Yes ? Yes Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Rockbox kernel ? ? ? Yes ? ? ? ? ? Yes ? ? ? ? No ? ? ? ? ? Yes ? ? ? ? Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Solaris kernel No No No No No Dropped since Oracle Solaris 11 (11/11)[142] Yes ? No No No Only in Solaris 2.5.1 No No Only available as a separated version of OpenSolaris ? ? ? ? ? No No Dropped since Solaris 10[143] Yes ? No No ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Windows NT kernel No NT 5.0 RC1 and below only No Yes No Yes Yes No XP and 2003-2008 R2 only NT 4.0 and below only No 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 ? Yes ? No No Yes ? No No No No No ? No ? No Yes ? No No No No No No No No No No No No No No No No No No No No No
XNU No No No Yes ? Yes Yes ? No No No Yes Yes No No ? ? ? ? ? No No No No No No No ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
SPARTAN kernel ? No No Yes ? Yes Yes ? Yes Yes ? Yes No No No ? ? ? ? ? No No Yes Yes ? No No ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
FreeRTOS kernel ? ? ? ? Yes[144] ? ? ? ? ? ? Yes[144] ? ? No Yes[144] ? ? Yes[144] Yes[144] ? Yes[144] ? ? ? ? ? Yes[144] Yes[144] ? ? ? ? ? Yes[144] ? ? ? Yes[144] ? ? ? ?
Zircon No No No Yes Yes No Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
Close

Supported GPU processors

More information Kernel name, Intel ...
Kernel name Intel NVIDIA AMD ARM Qualcomm Imagination Technologies Broadcom VeriSilicon
HD/Iris/UHD Graphics GeForce/Quadro/Tesla Radeon Mali Adreno PowerVR VideoCore4 Vivante
Linux kernel Yes Yes Yes Yes Yes Yes[145] Yes Yes
Windows NT kernel Yes Yes Yes ? Windows Phone 8.x, Windows 10 Mobile, Windows on ARM Yes[146] No[147] Yes
XNU via I/O Kit (macOS only) via I/O Kit (macOS only) No via I/O Kit (iOS only) No No
Close

Supported kernel execution environment

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

More information Kernel name, Linux ...
Kernel name Linux Darwin Windows NT FreeBSD NetBSD Solaris OSF/1 Amiga Unix SunOS BSD/OS iBCS2 systems IRIX Ultrix NDIS SVR4
FreeBSD kernel Yes[148] No No Yes No No No No No No No No No Yes[148] Yes[148]
Linux kernel Yes No (Longene) No No No No No No No No No No (NDISwrapper) No
NetBSD kernel Yes[149] dropped[122] No? ? Yes[149] Yes Yes[149] dropped[150] Yes[149] Yes[149] Yes[149] dropped[151] dropped[152] Yes[149] dropped[153][154] dropped[155]
OpenBSD kernel Dropped since OpenBSD 6.0[156] No No Dropped since OpenBSD 5.0[157] Dropped since OpenBSD 4.2[158] No No No Dropped since OpenBSD 4.8[159] Dropped since OpenBSD 4.8[159] Dropped since OpenBSD 4.8[159] No Dropped since OpenBSD 4.8[159] No Dropped since OpenBSD 5.0[157]
Windows NT kernel Windows Subsystem for Linux 1 No Yes No No No No No No No No No No Yes No
ReactOS kernel No No Yes No No No No No No No No No No ? No
XNU No Yes No No No No No No No No No No No No No
Close

Supported cipher algorithms

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

More information Kernel name, DES ...
Kernel name DES AES Blowfish Triple DES Serpent Twofish CAST-128 DES-X IDEA RC2 RC5 SEED Skipjack TEA XTEA CAST-256 RC4 Camellia Anubis KHAZAD Salsa20 FCrypt
DragonFly BSD kernel Yes Yes Yes Yes Yes Yes Yes No Yes No No No Yes No No No Yes Yes No No No No
FreeBSD kernel Yes Yes Yes Yes No No Yes No Yes No No No Yes No No Yes Yes Yes No No No No
Linux Yes Yes Yes Yes Yes Yes Yes No No No No Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes
Windows NT kernel Yes Yes Yes Yes No No No No No Yes No No No No No No Yes No No No No No
macOS XNU Kernel Yes Yes Yes ? ? ? Yes ? ? Yes Yes ? ? ? ? Yes Yes ? ? ? ? ?
Close

Supported compression algorithms

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

More information Kernel name, Deflate ...
Kernel name Deflate LZO LZJB zstd
zlib gzip
Linux Yes Yes Yes No Yes
NetBSD kernel Yes Yes Yes ? Yes
Solaris kernel Yes ? ? Yes ?
Close

Supported message digest algorithms

More information Kernel name, CRC-32 (IEEE) ...
Kernel name
CRC-32 (IEEE)
Michael MIC
LASH
Linux Yes
[160]
[161]
Yes
[162]
No Yes
[163]
Yes
[164]
Yes
[165]
Yes
[166]
Partial
[167]
Yes
[168]
Yes
[169]
Yes
[170]
Yes
[171]
Yes
[172]
Yes
[173]
Yes
[174]
Yes
[175]
Yes
[176]
No No No Yes
[177]
Solaris kernel Yes Yes Yes Yes Yes Yes Yes ? ? ? ? Yes ? ? Yes ? Yes Yes ? ? ?
Windows NT kernel ? ? Yes Yes Yes Yes Yes ? No ? No No No No No No Yes No No No ?
FreeBSD kernel Yes Yes ? Yes Yes Yes Yes ? ? ? ? Yes ? ? Yes ? Yes ? ? ? ?
XNU kernel Yes ? Yes ? Yes Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Close

Supported Bluetooth protocols

More information Kernel name, ACL ...
Kernel name ACL SCO LMP HCI L2CAP BNEP RFComm. SDP TCP AVTCP AVDTP OBEX CMTP HIDP HCRP CAPI PPP
FreeBSD kernel ? ? ? Yes Yes ? Yes Yes ? ? ? No ? ? ? ? ?
Linux ? Yes ? Yes Yes Yes Yes ? ? ? ? ? Yes Yes ? ? ?
macOS XNU Kernel ? ? ? ? Yes ? Yes Yes ? ? ? No ? ? ? ? ?
Kernel name ACL SCO LMP HCI L2CAP BNEP RFComm. SDP TCP AVTCP AVDTP OBEX CMTP HIDP HCRP CAPI PPP
Close

Audio support

More information Kernel name, Audio system ...
Kernel name Audio system in-kernel mixer in-kernel filter
Linux ALSA, with optional OSS API compatibility[178] ? ?
Windows NT kernel MME / WDM audio / Kernel Streaming (KS) dropped (KMixer.sys) KS Filters
FreeBSD kernel OSS API VCHANs in OSS API ?
NetBSD kernel native (Sun-like) / OSS API[179] audio_system[180] ?
Solaris kernel Sun audio API / OSS API Yes ?
Close

Graphics support

More information Kernel name, Framebuffer ...
Kernel name Framebuffer Display management Hardware Compositing (Multiple Planes) Display Multiplexer Color transform GPU scheduler GPU memory management in-kernel Remote Desktop
Matrices 1D LUT 3D LUT
Linux Linux framebuffer (fbdev) / Direct Rendering Manager (DRM) Kernel Mode Setting (KMS) Plane abstraction in DRM/KMS[181] VGA Switcheroo[182] Linux Color Pipeline API in DRM[183] DRM sched[184] DMA-BUF No
Windows NT kernel Dxgkrnl.sys VidPN Manager in Dxgkrnl.sys[185] Multiplane overlay (MPO) in WDDM[186] ? via MHC profile[187] ? VidSch in Dxgkrnl[188] VidMm in Dxgkrnl.sys, Dxgmms1.sys, and Dxgmms2.sys[189] RdpDD.sys / RdpWD.sys
Close

See also

Footnotes

Related Articles

Wikiwand AI