Software:Comparison of operating system kernels

From HandWiki
Short description: None

A kernel is a component of a computer operating system.[1] A comparison of system kernels can provide insight into the design and architectural choices made by the developers of particular operating systems.

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.

Kernel name Programming language Used in Creator Executable
format
(also see
section
below)
Type Integrated firewall SMP support Multiple architecture
support
(also see
section below).
Multitasking Virtualization Security Profiling/Debugging Soft real-time support Hard real-time support Can keep RTC in UT[2]
Amiga Exec AmigaOS Commodore International HUNK Exokernel (atypical)[3] 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 ?
DragonFly BSD kernel C DragonFly BSD Matt Dillon ELF hybrid Ipfirewall,
PF
Yes No Yes chroot, jail, vkernel Unix permissions DDB, KGDB ? ? ?
FreeBSD kernel C FreeBSD,

Debian GNU/kFreeBSD, Gentoo/FreeBSD, Orbis OS

The FreeBSD Project ELF, others - platform dependent monolithic IPFilter, Ipfirewall,
PF
Yes Yes Yes chroot, jail, bhyve Unix permissions, POSIX.1e and NFSv4 ACLs,[4][5] Capsicum, TrustedBSD MAC, OpenBSM KDB, DDB, KGDB, DTrace, hwpmc Yes ? Yes
GNU Hurd C GNU/Hurd (Arch Hurd, Debian GNU/Hurd) GNU Project/Free Software Foundation ELF multiserver microkernel No partial No Yes chroot, Xen Unix permissions, POSIX ACL, POSIX Capabilities ? ? ? ?
GNU Mach C part of GNU Hurd, used in GNU/Hurd GNU Project/Free Software Foundation ELF microkernel No partial No Yes chroot, Xen Unix permissions, POSIX ACL, POSIX Capabilities ? ? ? ?
Inferno kernel Inferno Bell Labs / Vita Nuova Holdings ? virtual machine ? Yes Yes Yes chroot, Xen ? ? ? ? ?
L4 L4 Jochen Liedtke No microkernel No Yes Yes Yes Yes Afterburner/L4 [1], Marzipan [2], capabilities in L4/Fiasco[6] L4/Fiasco[6] L4/Fiasco[6] ? ?
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[7] ELF, others monolithic *ipfwadm (2.0 –) Yes Yes Yes cgroups, chroot, Lguest, Xen, KVM, kvm-lite, LXC Unix permissions, POSIX ACL, POSIX Capabilities, keyctl, LSM (SELinux, SMACK, TOMOYO Linux, AppArmor) OProfile, kprobe, SystemTap, JProbe, ftrace, KDB, KGDB, kernel marker, perf tools, eBPF preempt=full, threadirqs (CONFIG PREEMPT RT Patch) Yes
Compute Node Linux Compute Node Linux Cray Inc. ? ? ? ? ? ? ? ? ? ? ? ?
Mach C NeXTSTEP and OPENSTEP for Mach, Tru64 UNIX and MkLinux Carnegie Mellon University Mach-O microkernel, hybrid kernel ? Yes ? Yes ? ? ? Yes ? ?
MINIX 3 kernel C MINIX 3 Andrew S. Tanenbaum ELF,[8] a.out[9][10] microkernel No No Yes Yes No Unix permissions Call profiling, statistical profiling, Minix Debugger (mdb) No No ?
NetBSD kernel C NetBSD,

GNU/kNetBSD (Debian GNU/NetBSD),

The NetBSD Project ELF, others - platform dependent monolithic, anykernel using rump kernel architecture IPFilter, PF, NPF Yes Yes Yes Xen, chroot kauth, Unix permissions DDB, KGDB, tprof POSIX real-time scheduling extensions Kernel preemption [11] Yes
NetWare kernel NetWare Novell NLM hybrid Yes Yes No Yes ? ? ? ? ? ?
OpenBSD kernel C OpenBSD OpenBSD developers ELF, others - platform dependent monolithic PF Yes Yes Yes ? Unix permissions ? ? ? ?
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 ?
Plan 9 kernel C Plan 9 from Bell Labs Bell Labs ? monolithic ipmux Yes Yes Yes ? ? ? ? ? ?
ReactOS kernel C ReactOS ReactOS Foundation PE hybrid ? Yes Yes Yes ? Yes Yes ? ? ?
Rockbox kernel Rockbox The Rockbox Project ? ? ? ? Yes ? ? ? ? ? ? ?
SunOS kernel C SunOS Sun Microsystems a.out
monolithic ? Yes Yes Yes ? Unix permissions ? ? ? ?
Solaris kernel C Solaris,

OpenSolaris, GNU/kOpenSolaris (Nexenta OS)

Sun Microsystems ELF (32-bit only until
Solaris 7 in 1998)
monolithic IPFilter Yes Yes Yes Zones, chroot Unix permissions, ACL, RBAC, Auditing, Privileges, Zones, Trusted Extensions DTrace, CPU profiling, microstate accounting, perf counters, kernel lock stats, kstats, mdb, kmdb Real-time scheduler ? ?
Trix kernel Trix Massachusetts Institute of Technology a.out monolithic ? Yes No Yes ? ? ? ? ? ?
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 Hyper-V ACL Event Tracing,[12] dgbss, kd Multimedia Class Scheduler Service No Unofficial[13]
XNU (Darwin kernel) C, C++ macOS, iOS, iPadOS, tvOS, watchOS,

OpenDarwin, PureDarwin GNU/Darwin

Apple Inc. Mach-O hybrid Ipfirewall,
PF (starting in Lion)
Yes Yes Yes chroot Unix permissions, NT/NFSv4 ACLs, TrustedBSD MAC, OpenBSM KDB, DDB, DTrace Yes No Yes
SPARTAN kernel C HelenOS Jakub Jermar ELF microkernel ? Yes Yes Yes ? ? ? ? ? ?
Zircon C++ Fuchsia OS Google ELF microkernel No Yes Yes Yes Lguest, Xen, KVM, kvm-lite Yes KDB, DDB, GDB Yes No Yes

Transport protocol support

Kernel Name TCP UDP SCTP DCCP
DragonFly BSD kernel Yes Yes No No
FreeBSD kernel Yes Yes Yes Optional
Linux kernel Yes Yes Yes Yes
NetBSD kernel Yes Yes Yes Yes
OpenBSD kernel Yes Yes ? ?
Solaris kernel Yes Yes Yes ?
Windows NT kernel Yes Yes No ?
XNU Yes Yes No No
Zircon Yes Yes Yes Yes

In-kernel security

Kernel Name 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) seccomp keyctl fanotify SELinux Sandbox, seccomp SYN cookies hash tables ICMP rate limiting reverse path filtering Netfilter
FreeBSD Kernel Traditional Unix permissions, POSIX and NFSv4 ACL Yes Yes TrustedBSD MAC Capsicum ? OpenBSM Capsicum, MAC framework SYN cookies ? ? ? ?
Solaris Kernel Traditional Unix permissions, POSIX ACL, NFSv4 ACL Default ? Solaris Trusted Extensions ? ? ? ? ? ? ? ? ?
Windows NT kernel Access control list DEP Yes Mandatory Integrity Control AppContainers No Yes Windows Event Log Yes[14] Yes ? ? ?
XNU Traditional Unix permissions, NT/NFSv4 ACL[15] Yes Yes 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 Driver Hypervisor-Enforced Kernel Partitioning
Linux chroot LXC Virtio, Hyper-V (guest only), Xen (guest only), VMI (guest only), kvm-lite, lguest KVM UML (LKL) (coLinux) No
DragonFly BSD kernel chroot jail No No vkernel ? ? No
FreeBSD kernel chroot jail Virtio, Xen (guest only) BHyVe (KVM) ? ? ? No
NetBSD kernel chroot (sysjail (discontinued)) No Virtio and Xen No ? Rump kernel ? No
Solaris kernel chroot Solaris Containers / Zones No No No ? ? No
Windows NT kernel AppContainers, Job Objects, Windows Server Containers Hyper-V Project Drawbridge No Virtual Secure Mode, Device Guard, Credential Guard[16]
XNU chroot ? ? ? ? ? ? ? No

In-kernel server support

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[17] (Tempesta FW)[18] (kmemcached)
DragonFly BSD kernel No No Yes Yes ? ? ? No No ? ?
FreeBSD kernel No No Yes No No Yes No No No ? ?
Solaris kernel ? ? Yes Yes[19] ? Yes[20] Yes[20] ? KSSL ? ?
Windows NT kernel HTTP.sys ? ? Yes ? Yes Yes No ? ? ?
XNU No No Yes No No No No No No ? ?

Binary format support

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

Kernel 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[21] 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 ? ? Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ?
HP-UX kernel No No Yes No No No No No No Yes No No ? ? ? ? ?
Linux kernel No Yes Yes Yes Yes No No Yes Some[22] Yes ? No ? ? ? ? ?
MINIX 3 kernel Some[9][10] No Yes[8] No No No No No No No No No ? ? ? ? ?
NetBSD kernel Yes Yes Yes ? ? ? Yes ? Yes ? ? ? ? ? ? ? ?
OpenBSD kernel ? ? Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ?
ReactOS kernel ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ?
Solaris kernel Yes[23] No Yes[24] No No No No No Some[25] No ? ? ? ? ? ? ?
Windows NT kernel No No Yes with WSL No No No No No Yes No No No Yes on x86 Yes on x86 ? ? Yes on x86
XNU No No No No No No Yes No No No No No No No No No No

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 No No No No No No No Yes No No No Yes No No No No Yes No No No No No limited write No No No read only Yes No No No No No Yes No No No
FreeBSD kernel No No No No No No No Yes Yes Yes No Yes No No No No Yes No No No No No limited write No No No Yes Yes read only Yes read only No No No No ? No
Linux kernel Yes
[26]
Yes No read only Yes Yes read only Yes Yes Yes Yes Yes read only Yes limited write (only with empty journal) Yes Yes Yes Yes Yes Yes Yes Yes
(Full R/W with additional userspace driver)[27]
Yes Yes
[26]
[28]
write support? Yes Yes
[26]
Yes both FUSE and native Yes Yes Yes No Yes Yes No
MINIX 3 kernel No No No No No No No Yes No No No Tools available, cannot mount No No No No Yes No No No Yes No No No No No No No No No No No No No No No No
NetBSD kernel ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ? ?
NetWare kernel No No No No No No No No No No No Yes No No No No Yes No No No No Yes No No No No Yes No No No No No No No No ? No
OpenBSD kernel ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yes ? ? ? ? ? ? ? ? ?
ReactOS kernel No No No No No No No Yes
[29]
Yes
[29]
Yes
[29]
No Yes
[29]
No No No No Yes
[29]
No No No No No Read only No No No Yes
[29]
No No No No No Yes
[30]
No No No No
Solaris kernel ? ? No ? ? ? ? Yes ? ? ? Yes ? ? ? ? Yes ? ? ? ? No No ? ? ? Yes Yes ? Yes No No No No No ? No
Windows NT kernel ? ? No ? ? ? ? Yes
[31]
Yes
[32]
Yes
[32]
No Yes ? Yes
[33]
Yes
[33]
No Yes ? ? ? ? No Yes ? ? ? Yes ? ? No No No Yes
[30]
No No Yes Yes
XNU No No Yes No No No No Yes
[34]
Yes
[34]
No No Yes No Yes Yes No Yes No No No No No Read-Only No No No Yes Yes No read only No No No No No Yes No

Networked file system support

Kernel Name NFS AFS CIFS Coda 9P Ceph
DragonFly BSD kernel Yes No Yes No No No
FreeBSD kernel Yes Yes Yes Yes No Yes
Linux kernel Yes Yes Yes Yes Yes Yes
NetBSD kernel Yes ? ? ? ? ?
OpenBSD kernel Yes ? ? ? ? ?
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

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[35] No Yes ? Yes Yes No 10.4 and below only[35] projected to end in 14.x[35] No Yes Yes No No No No No No No No No No 12.x and below only[35] ? 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 ? Yes Yes Yes Yes Yes No 4.16 and below only[36] No 2.6 and below only Yes Yes Yes Yes Yes Yes Yes 4.16 and below only[36] Yes Yes Yes 4.16 and below only[36] 4.16 and below only[36] 4.16 and below only[36] 4.12 and below only No No Yes Yes No 4.16 and below only[36] 4.16 and below only[36] 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[37] Yes Yes ? Yes Yes No[37] Yes No No No ? ? ? ? ? Yes No[37] Yes Yes No[37] Yes No[37] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
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[38] 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 Yes Yes ? No No No No No No No ? ? ? ? ? No No Yes 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[39] ? ? ? ? ? ? Yes[39] ? ? No Yes[39] ? ? Yes[39] Yes[39] ? Yes[39] ? ? ? ? ? Yes[39] Yes[39] ? ? ? ? ? Yes[39] ? ? ? Yes[39] ? ? ? ?
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

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 2D only[40][41] Yes Yes
Windows NT kernel Yes Yes Yes ? Windows Phone 8.x, Windows 10 Mobile, Windows on ARM Yes[42] No[43] Yes
XNU via I/O Kit (macOS only) via I/O Kit (macOS only) No 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.

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[44] No No Yes No No No No No No No No No Yes[44] Yes[44]
Linux kernel Yes No (Longene) Yes Yes No No No No No No No No (NDISwrapper) No
NetBSD kernel Yes[45] No? [3]? No? [4]? Yes[45] Yes Yes[45] Yes[45] Yes[45] Yes[45] Yes[45] Yes[45] Yes[45] Yes[45] Yes[46] Yes
OpenBSD kernel Yes No No Yes Yes Yes No No Yes ? ? ? ? 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 ? 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.

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

Supported compression algorithms

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

Kernel name Deflate zlib LZO LZJB gzip zstd
Linux Yes Yes Yes No Yes Yes
NetBSD kernel ? Yes Yes ? Yes Yes
Solaris kernel ? ? ? Yes Yes ?

Supported message digest algorithms

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[47][48] Yes[49] No Yes[50] Yes[51] Yes[52] Yes[53] Partial[54] Yes[55] Yes[56] Yes[57] Yes[58] Yes[59] Yes[60] Yes[61] Yes[62] Yes[63] No No No Yes[64]
Solaris kernel Yes Yes Yes Yes Yes Yes Yes ? ? ? ? Yes ? ? Yes ? Yes Yes ? ? ?
Windows NT kernel ? ? Yes Yes Yes Yes Yes ? No ? No No No No No No Yes No No No ?
FreeBSD kernel Yes Yes ? Yes Yes Yes Yes ? ? ? ? Yes ? ? Yes ? Yes ? ? ? ?
XNU kernel Yes ? Yes ? Yes Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Kernel name CRC-32 (IEEE) 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

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

Audio support

Kernel name Audio system in-kernel mixer in-kernel filter
Linux ALSA ? ?
Windows NT kernel MME / WDM audio / Kernel Streaming (KS) dropped (KMixer.sys) KS Filters
FreeBSD kernel OSS API VCHANs in OSS API ?
NetBSD kernel native (Sun-like) / OSS API[65] audio_system[66] ?

See also

Footnotes

  1. "Kernel Definition". http://www.linfo.org/kernel.html. Retrieved 4 March 2015. 
  2. IBM PC Real Time Clock should run in UT
  3. The Amiga hardware lacked support for memory protection, so the strong isolation goals of the microkernel design could not be achieved.[citation needed]
  4. "Chapter 14. Security". FreeBSD Handbook. http://www.freebsd.org/doc/en/books/handbook/fs-acl.html. 
  5. setfacl(1) – FreeBSD General Commands Manual
  6. 6.0 6.1 6.2 "The Fiasco microkernel - Status". http://os.inf.tu-dresden.de/fiasco/features.html. Retrieved January 11, 2013. 
  7. "Linux Kernel FAQ". https://kernel.org/category/faq.html. 
  8. 8.0 8.1 Supports ELF since version 3.2.0 "MinixReleases". Minix Wiki. http://wiki.minix3.org/en/MinixReleases. Retrieved 21 May 2012. 
  9. 9.0 9.1 a.out will be phased out in coming releases. van der Kouwe, Erik. "Re: ~Segmentation [Was: Minix3 for sparc"]. Minix3 for sparc. Google Groups. https://groups.google.com/group/minix3/msg/faa0560e441f32a0. Retrieved 21 May 2012. 
  10. 10.0 10.1 Commit to remove a.out utils from minix; only supports running a.out now. Leca, Antoine. "3fb8cb760c9075fab05682b89b1542d66481ba58". minix.git. http://git.minix3.org/?p=minix.git;a=commit;h=3fb8cb760c9075fab05682b89b1542d66481ba58. Retrieved 21 May 2012. 
  11. "Announcing NetBSD 5.0". http://www.netbsd.org/releases/formal-5/NetBSD-5.0.html. 
  12. "Event Tracing". 7 January 2021. https://docs.microsoft.com/en-us/windows/win32/etw/event-tracing-portal?redirectedfrom=MSDN. 
  13. "IBM PC Real Time Clock should run in UT". https://www.cl.cam.ac.uk/~mgk25/mswish/ut-rtc.html. 
  14. "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. 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/. "SynAttack protection is enabled by default and cannot be disabled" 
  15. "Elementary Information Security, Second Edition, Chapter 4 "Sharing Files"". Section 4.4 "Microsoft Windows ACLs". http://samples.jbpub.com/9781284055931/9781284071276_CH04_133_170.pdf. "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." 
  16. "Windows 10 Device Guard and Credential Guard Demystified" (in en-US). Ash's Blog. https://blogs.technet.microsoft.com/ash/2016/03/02/windows-10-device-guard-and-credential-guard-demystified/. 
  17. doc/Documentation/networking/tls.txt kernel.org
  18. "Web security - tempesta-tech/tempesta Wiki". Tempesta Technologies INC. October 31, 2017. https://github.com/tempesta-tech/tempesta/wiki/Web-security. Retrieved May 7, 2018. 
  19. "OpenSolaris Project Weaves CIFS Server Into the Solaris Kernel". http://www.itjungle.com/tug/tug112907-story05.html. 
  20. 20.0 20.1 Integrated Load Balancer
  21. 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.
  22. The Linux kernel can recognize PE binaries through binfmt misc and run them using Wine
  23. to support SunOS 4.x binaries
  24. including a Linux compatibility option
  25. The Solaris kernel can PE using Wine
  26. 26.0 26.1 26.2 experimental and dangerous write support
  27. 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
  28. write support currently broken
  29. 29.0 29.1 29.2 29.3 29.4 29.5 ReactOS Wiki - File Systems
  30. 30.0 30.1 additional driver needed - see https://github.com/maharmstone/btrfs
  31. additional driver needed - see http://www.fs-driver.org/
  32. 32.0 32.1 additional driver needed - see http://www.ext2fsd.com
  33. 33.0 33.1 additional driver needed
  34. 34.0 34.1 Third party module required. Mac OS X Kernel Module available here
  35. 35.0 35.1 35.2 35.3 "FreeBSD supported plattforms". https://www.freebsd.org/platforms/. 
  36. 36.0 36.1 36.2 36.3 36.4 36.5 36.6 Larabel, Michael (2 April 2018). "Linux Set To Shed Nearly 500k Lines Of Code By Dropping Old CPUs - Phoronix". Phoronix Media. https://www.phoronix.com/scan.php?page=news_item&px=Linux-4.17-Gutting-Old-CPUs. ""The architectures on the chopping block for Linux 4.17 are Blackfin, CRIS, FRV, M32R, Metag, MN10300, Score, and Tile"" 
  37. 37.0 37.1 37.2 37.3 37.4 NetBSD Projects - Support for MMU-less systems
  38. "OpenBSD/Vax". https://www.openbsd.org/vax.html. 
  39. 39.0 39.1 39.2 39.3 39.4 39.5 39.6 39.7 39.8 39.9 Official FreeRTOS Ports, Amazon Web Services, Inc.
  40. The GMA500 GPU has a PowerVR in it. The GMA500 Kconfig, mention that it is a 2D KMS driver.
  41. There is also a driver for the dreamcast PowerVR but it is only a Framebuffer driver as explained in the fbdev Kconfig
  42. Intel Atom integrated graphics card for Windows 8 tablet is based on a PowerVR
  43. Raspberry VideoCore 4 support on Windows Microsoft doesn't have plan for OpenGL on UWP also Broadcom doesn't have plan for DirectX
  44. 44.0 44.1 44.2 Linux emulation in FreeBSD - 2 A look inside...
  45. 45.0 45.1 45.2 45.3 45.4 45.5 45.6 45.7 45.8 45.9 NetBSD Binary Emulation
  46. "Summer of Code:NDIS on NetBSD". http://netbsd-soc.sourceforge.net/projects/ndis/. 
  47. "Crc32_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree". https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/crc32_generic.c. 
  48. "Crc32.c « lib - kernel/Git/Torvalds/Linux.git - Linux kernel source tree". https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/lib/crc32.c. 
  49. "Crc32c_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree". https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/crc32c_generic.c. 
  50. "Md4.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree". https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/md4.c. 
  51. "Md5.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree". https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/md5.c. 
  52. "Sha1_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree". https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/sha1_generic.c. 
  53. "Sha256_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree". https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/sha256_generic.c. 
  54. "Sha3_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree". https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/sha3_generic.c. 
  55. "Michael_mic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree". https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/michael_mic.c. 
  56. "Poly1305_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree". https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/poly1305_generic.c. 
  57. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/rmd128.c
  58. "Rmd160.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree". https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/rmd160.c. 
  59. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/rmd256.c
  60. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/rmd320.c
  61. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/tgr192.c
  62. "Wp512.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree". https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/wp512.c. 
  63. "Hmac.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree". https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/hmac.c. 
  64. "Vmac.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree". https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/vmac.c. 
  65. Improving libossaudio, and the future of OSS in NetBSD. NetBSD Project. April 27, 2020
  66. audio_system(9) - NetBSD Manual Pages. NetBSD Project