Comparison of operating system kernels: Difference between revisions
MaXintoshPro (talk | contribs) m FreeBSD Ceph support |
|||
(181 intermediate revisions by 69 users not shown) | |||
Line 1: | Line 1: | ||
{{short description|None}} |
|||
A '''[[Kernel (computer science)|kernel]]''' is the most fundamental component of a computer [[operating system]].<ref>{{cite web|title=Kernel Definition|url=http://www.linfo.org/kernel.html|website=The Linux Information Project|publisher=The Linux Information Project|accessdate=4 March 2015}}</ref> A comparison of system kernels can provide insight into the design and architectural choices made by the developers of particular operating systems. |
|||
A '''[[Kernel (operating system)|kernel]]''' is a component of a computer [[operating system]].<ref>{{cite web|title=Kernel Definition|url=http://www.linfo.org/kernel.html|website=The Linux Information Project|accessdate=4 March 2015}}</ref> A comparison of system kernels can provide insight into the design and architectural choices made by the developers of particular operating systems. |
|||
== Comparison criteria == |
== Comparison criteria == |
||
Line 6: | Line 8: | ||
Even though there are a large number and variety of available [[Linux distribution]]s, 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]]. |
Even though there are a large number and variety of available [[Linux distribution]]s, 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 |
The tables specifically do not include subjective viewpoints on the merits of each kernel or operating system. |
||
== Feature overview == |
== Feature overview == |
||
The major contemporary general-purpose [[Kernel ( |
The major contemporary general-purpose [[Kernel (operating system)|kernels]] are shown in comparison. Only an overview of the technical features is detailed. |
||
{{sticky header}} |
|||
{| class="sortable wikitable" style="text-align: center; width: auto" |
|||
{| class="wikitable sortable mw-collapsible sticky-header" style="text-align: center; width: auto" |
|||
|+ |
|||
! Kernel name |
! Kernel name |
||
! Programming language |
|||
! Used in |
! Used in |
||
! Creator |
! Creator |
||
! Executable<br>format<br>(also see<br>[[#Binary format support|section]]<br>below) |
! Executable<br />format<br />(also see<br />[[#Binary format support|section]]<br />below) |
||
! Type |
! Type |
||
! Integrated [[Firewall ( |
! Integrated [[Firewall (computing)|firewall]] |
||
! [[Symmetric multiprocessing|SMP]] support |
! [[Symmetric multiprocessing|SMP]] support |
||
! Multiple [[Computer architecture|architecture]]<br>support<br>(also see<br>[[#Supported CPU architectures|section]] below). |
! Multiple [[Computer architecture|architecture]]<br />support<br />(also see<br />[[#Supported CPU architectures|section]] below). |
||
! [[Computer multitasking|Multitasking]] |
! [[Computer multitasking|Multitasking]] |
||
! [[ |
! [[OS-level virtualization|Virtualization]] |
||
! [[Security]] |
! [[Computer security|Security]] |
||
! [[ |
! [[Profiling (computer programming)|Profiling]]/[[Debugging]] |
||
! Soft [[Real-time computing|real-time]] support |
! Soft [[Real-time computing|real-time]] support |
||
! Hard [[Real-time computing|real-time]] support |
! Hard [[Real-time computing|real-time]] support |
||
! Can keep [[Real-time clock|RTC]] in [[Universal Time|UT]]<ref>[http://www.cl.cam.ac.uk/~mgk25/mswish/ut-rtc.html IBM PC Real Time Clock should run in UT]</ref> |
! Can keep [[Real-time clock|RTC]] in [[Universal Time|UT]]<ref>[http://www.cl.cam.ac.uk/~mgk25/mswish/ut-rtc.html IBM PC Real Time Clock should run in UT]</ref> |
||
|- |
|||
! [[Agnix]] [http://agnix.sourceforge.net/] |
|||
|<!--used in--> {{dunno}} |
|||
|<!--creator--> {{dunno}} |
|||
|<!--executable format--> {{dunno}} |
|||
|<!--type--> {{dunno}} |
|||
|<!--Integrated firewall--> {{dunno}} |
|||
|<!--SMP support--> {{dunno}} |
|||
|<!--multiple CPU support--> {{dunno}} |
|||
| {{yes}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
|- |
|- |
||
! [[Exec (Amiga)|Amiga Exec]] |
! [[Exec (Amiga)|Amiga Exec]] |
||
| |
|||
| [[AmigaOS]] |
| [[AmigaOS]] |
||
| [[Commodore International]] |
| [[Commodore International]] |
||
Line 61: | Line 51: | ||
|- |
|- |
||
! [[Exec (Amiga)|Amiga Exec SG (2nd Generation)]] |
! [[Exec (Amiga)|Amiga Exec SG (2nd Generation)]] |
||
| |
|||
| [[AmigaOS 4]] |
| [[AmigaOS 4]] |
||
| [[Hyperion Entertainment]] |
| [[Hyperion Entertainment]] |
||
Line 77: | Line 68: | ||
|- |
|- |
||
! [[DragonFly BSD#Kernel|DragonFly BSD kernel]] |
! [[DragonFly BSD#Kernel|DragonFly BSD kernel]] |
||
| [[C (programming language)|C]] |
|||
| [[DragonFly BSD]] |
| [[DragonFly BSD]] |
||
| [[ |
| [[Matthew Dillon|Matt Dillon]] |
||
| [[Executable and Linkable Format|ELF]] |
| [[Executable and Linkable Format|ELF]] |
||
| [[hybrid kernel|hybrid]] |
| [[hybrid kernel|hybrid]] |
||
| {{yes|[[Ipfirewall]],<br>[[PF (firewall)|PF]]}} |
| {{yes|[[Ipfirewall]],<br />[[PF (firewall)|PF]]}} |
||
| {{yes}} |
| {{yes}} |
||
| {{no}} |
| {{no}} |
||
| {{yes}} |
| {{yes}} |
||
| {{yes|[[chroot]], [[ |
| {{yes|[[chroot]], [[OS-level virtualization|jail]], vkernel}} |
||
| {{yes|[[Unix security|Unix permissions]]}} |
| {{yes|[[Unix security|Unix permissions]]}} |
||
| {{yes|DDB, [[KGDB]]}} |
| {{yes|DDB, [[KGDB]]}} |
||
Line 93: | Line 85: | ||
|- |
|- |
||
! [[FreeBSD|FreeBSD kernel]] |
! [[FreeBSD|FreeBSD kernel]] |
||
| [[C (programming language)|C]] |
|||
| [[FreeBSD]], |
| [[FreeBSD]], |
||
[[GNU variants#Debian GNU/kFreeBSD|Debian GNU/kFreeBSD]], |
[[GNU variants#Debian GNU/kFreeBSD|Debian GNU/kFreeBSD]], |
||
[[Gentoo/FreeBSD]], |
[[Gentoo/FreeBSD]], |
||
[[ |
[[Orbis OS]] |
||
| [[FreeBSD|The FreeBSD Project]] |
| [[FreeBSD|The FreeBSD Project]] |
||
| [[Executable and Linkable Format|ELF]], others - platform dependent |
| [[Executable and Linkable Format|ELF]], others - platform dependent |
||
| [[Monolithic kernel|monolithic]] |
| [[Monolithic kernel|monolithic]] |
||
| {{yes|[[IPFilter]], [[Ipfirewall]],<br>[[PF (firewall)|PF]]}} |
| {{yes|[[IPFilter]], [[Ipfirewall]],<br />[[PF (firewall)|PF]]}} |
||
| {{yes}} |
| {{yes}} |
||
| {{yes}} |
| {{yes}} |
||
| {{yes}} |
| {{yes}} |
||
| {{yes|[[chroot]], [[FreeBSD jail|jail]], [[bhyve]]}} |
| {{yes|[[chroot]], [[FreeBSD jail|jail]], [[bhyve]]}} |
||
| {{yes|[[Unix security|Unix permissions]], [[Access |
| {{yes|[[Unix security|Unix permissions]], [[Access-control list|POSIX.1e and NFSv4 ACLs]],<ref>{{Cite web | url=http://www.freebsd.org/doc/en/books/handbook/fs-acl.html | title=Chapter 14. Security | work=FreeBSD Handbook}}</ref><ref>{{man|1|setfacl|FreeBSD}}</ref> Capsicum, [[Mandatory Access Control|TrustedBSD MAC]], [[OpenBSM]]}} |
||
| {{yes|[[Kernel debugger|KDB]], DDB, [[KGDB]], [[DTrace]], [[hwpmc]]}} |
| {{yes|[[Kernel debugger|KDB]], DDB, [[KGDB]], [[DTrace]], [[hwpmc]]}} |
||
| {{yes}} |
| {{yes}} |
||
Line 111: | Line 104: | ||
| {{yes}} |
| {{yes}} |
||
|- |
|- |
||
! [[GNU Hurd]] |
! [[GNU Hurd]] |
||
| [[C (programming language)|C]] |
|||
| [[GNU|GNU/Hurd]] ([[GNU variants#Arch Hurd|Arch Hurd]], [[GNU variants#Debian GNU/Hurd|Debian GNU/Hurd]]) |
| [[GNU|GNU/Hurd]] ([[GNU variants#Arch Hurd|Arch Hurd]], [[GNU variants#Debian GNU/Hurd|Debian GNU/Hurd]]) |
||
| [[GNU Project]]/[[Free Software Foundation]] |
| [[GNU Project]]/[[Free Software Foundation]] |
||
Line 121: | Line 115: | ||
| {{yes}} |
| {{yes}} |
||
| {{yes|[[chroot]], [[Xen]]}} |
| {{yes|[[chroot]], [[Xen]]}} |
||
| {{yes|[[Unix security|Unix permissions]], [[Access |
| {{yes|[[Unix security|Unix permissions]], [[Access-control list|POSIX ACL]], [[Capability-based security#POSIX capabilities|POSIX Capabilities]]}} |
||
| {{dunno}} |
| {{dunno}} |
||
| {{dunno}} |
| {{dunno}} |
||
Line 127: | Line 121: | ||
| {{dunno}} |
| {{dunno}} |
||
|- |
|- |
||
! [[GNU Mach]] |
! [[GNU Mach]] |
||
| [[C (programming language)|C]] |
|||
| part of [[GNU Hurd]], used in [[GNU|GNU/Hurd]] |
| part of [[GNU Hurd]], used in [[GNU|GNU/Hurd]] |
||
| [[GNU Project]]/[[Free Software Foundation]] |
| [[GNU Project]]/[[Free Software Foundation]] |
||
Line 137: | Line 132: | ||
| {{yes}} |
| {{yes}} |
||
| {{yes|[[chroot]], [[Xen]]}} |
| {{yes|[[chroot]], [[Xen]]}} |
||
| {{yes|[[Unix security|Unix permissions]], [[Access |
| {{yes|[[Unix security|Unix permissions]], [[Access-control list|POSIX ACL]], [[Capability-based security#POSIX capabilities|POSIX Capabilities]]}} |
||
| {{dunno}} |
| {{dunno}} |
||
| {{dunno}} |
| {{dunno}} |
||
Line 144: | Line 139: | ||
|- |
|- |
||
! [[Inferno (operating system)|Inferno kernel]] |
! [[Inferno (operating system)|Inferno kernel]] |
||
| |
|||
| [[Inferno (operating system)|Inferno]] |
| [[Inferno (operating system)|Inferno]] |
||
| [[Bell Labs]] / [[Vita Nuova Holdings]] |
| [[Bell Labs]] / [[Vita Nuova Holdings]] |
||
Line 160: | Line 156: | ||
|- |
|- |
||
! [[L4 microkernel family|L4]] |
! [[L4 microkernel family|L4]] |
||
| |
|||
| [[L4 microkernel family|L4]] |
| [[L4 microkernel family|L4]] |
||
| [[Jochen Liedtke]] |
| [[Jochen Liedtke]] |
||
Line 175: | Line 172: | ||
| {{dunno}} |
| {{dunno}} |
||
|- |
|- |
||
! [[Linux kernel] |
! [[Linux kernel]] |
||
| [[C (programming language)|C]] |
|||
| [[Linux]], [[Android (operating system)|Android]], [[webOS]], [[Firefox OS]], [[Chrome OS]], [http://web.syllable.org/Linux/index.html Syllable Server], [[Mastodon Linux]], [http://starchlinux.org/ OpenBSD/Linux], [http://www.glendix.org/ Plan 9/Linux], [[Sailfish OS]], [[Tizen]], others |
|||
|[[Linux]] (kernel), [[Android (operating system)|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]] |
|||
| [[Linus Torvalds]]<ref>{{cite web|url=https://kernel.org/category/faq.html|title=Linux Kernel FAQ}}</ref> |
|||
| [[Executable and Linkable Format|ELF]], others |
| [[Executable and Linkable Format|ELF]], others |
||
| [[Monolithic kernel|monolithic]] |
| [[Monolithic kernel|monolithic]] |
||
| {{yes|*[[ |
| {{yes| |
||
*[[Ipfirewall]] (1.1 –) |
|||
* [[ipchains]] (2.2 –) |
* [[ipchains]] (2.2 –) |
||
* [[Netfilter]] (2.4 – 3.x) |
* [[Netfilter]] (2.4 – 3.x) |
||
* [[nftables]] (3.13 –)}} |
* [[nftables]] (3.13 –)}} |
||
* [[Express Data Path|XDP]] (4.8 –) |
|||
| {{yes}} |
| {{yes}} |
||
| {{yes}} |
| {{yes}} |
||
| {{yes}} |
| {{yes}} |
||
| {{yes|[[cgroups]], [[chroot]], [[Lguest]], [[Xen]], [[Kernel-based Virtual Machine|KVM]], [[kvm-lite]], [[LXC]]}} |
| {{yes|[[cgroups]], [[chroot]], [[Lguest]], [[Xen]], [[Kernel-based Virtual Machine|KVM]], [[kvm-lite]], [[LXC]]}} |
||
| {{yes|[[Unix security|Unix permissions]], [[Access |
| {{yes|[[Unix security|Unix permissions]], [[Access-control list|POSIX ACL]], [[Capability-based security#POSIX capabilities|POSIX Capabilities]], keyctl, [[Linux Security Modules|LSM]] ([[SELinux]], [[Smack (Linux security module)|SMACK]], [[TOMOYO Linux]], [[AppArmor]])}} |
||
| {{yes|[[OProfile]], [[kprobe]], [[SystemTap]], [[JProbe]], [[ftrace]], [[Kernel debugger|KDB]], [[KGDB]], [[kernel marker]], [[Perf (Linux)|perf tools]]<!--, [[kprobe-based event tracer]]-->}} |
| {{yes|[[OProfile]], [[kprobe]], [[SystemTap]], [[JProbe]], [[ftrace]], [[Kernel debugger|KDB]], [[KGDB]], [[kernel marker]], [[Perf (Linux)|perf tools]], [[eBPF]]<!--, [[kprobe-based event tracer]]-->}} |
||
| {{yes|preempt<nowiki>=</nowiki>full<!--Dynamic Preemption-->, threadirqs}} |
|||
| {{yes|CONFIG_PREEMPT}} |
|||
| {{no|([[PREEMPT_RT|CONFIG_PREEMPT_RT Patch]])}} |
| {{no|([[PREEMPT_RT|CONFIG_PREEMPT_RT Patch]])}} |
||
| {{yes}} |
| {{yes}} |
||
|- |
|- |
||
! [[Compute Node Linux]] |
! [[Compute Node Linux]] |
||
| |
|||
| [[Compute Node Linux]] |
| [[Compute Node Linux]] |
||
| [[Cray Inc.]] |
| [[Cray Inc.]] |
||
Line 210: | Line 211: | ||
| {{dunno}} |
| {{dunno}} |
||
|- |
|- |
||
! [[Mach (kernel)|Mach] |
! [[Mach (kernel)|Mach]] |
||
| [[C (programming language)|C]] |
|||
| [[NeXTSTEP]] and [[OpenStep#OPENSTEP for Mach|OPENSTEP for Mach]] and [[Tru64 UNIX]] |
|||
| [[NeXTSTEP]] and [[OpenStep#OPENSTEP for Mach|OPENSTEP for Mach]], [[Tru64 UNIX]] and [[MkLinux]] |
|||
| [[Carnegie Mellon University]] |
| [[Carnegie Mellon University]] |
||
| [[Mach-O]] |
| [[Mach-O]] |
||
Line 226: | Line 228: | ||
| {{dunno}} |
| {{dunno}} |
||
|- |
|- |
||
! [[MINIX 3|MINIX 3 kernel]] |
! [[MINIX 3|MINIX 3 kernel]] |
||
| [[C (programming language)|C]] |
|||
| [[MINIX 3]] |
| [[MINIX 3]] |
||
| [[Andrew S. Tanenbaum]] |
| [[Andrew S. Tanenbaum]] |
||
| [[Executable and Linkable Format|ELF]],<ref name=minix3-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}}</ref> [[a.out]]<ref name=minix3-a.out-phased-out>a.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}}</ref><ref name=minix3-a.out-utils-removed>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}}</ref> |
| [[Executable and Linkable Format|ELF]],<ref name="minix3-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}}</ref> [[a.out]]<ref name="minix3-a.out-phased-out">a.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}}</ref><ref name="minix3-a.out-utils-removed">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}}</ref> |
||
| [[microkernel]] |
| [[microkernel]] |
||
| {{no}} |
| {{no}} |
||
Line 240: | Line 243: | ||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
| {{dunno}} |
|||
|- |
|||
! [[MkLinux]] [http://www.mklinux.org] |
|||
| {{dunno}} |
|||
| [[OSF Research Institute]] and [[Apple Computer]] |
|||
| {{dunno}} |
|||
| [[microkernel]] |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
| {{dunno}} |
||
|- |
|- |
||
! [[NetBSD|NetBSD kernel]] |
! [[NetBSD|NetBSD kernel]] |
||
| [[C (programming language)|C]] |
|||
| [[NetBSD]], |
| [[NetBSD]], |
||
GNU/kNetBSD ([[GNU variants#Debian GNU/NetBSD|Debian GNU/NetBSD]]), |
GNU/kNetBSD ([[GNU variants#Debian GNU/NetBSD|Debian GNU/NetBSD]]), |
||
Line 273: | Line 261: | ||
| {{yes|[[POSIX]] real-time scheduling extensions}} |
| {{yes|[[POSIX]] real-time scheduling extensions}} |
||
| {{yes|[[Kernel preemption]]}} <ref>{{cite web|url=http://www.netbsd.org/releases/formal-5/NetBSD-5.0.html|title=Announcing NetBSD 5.0}}</ref> |
| {{yes|[[Kernel preemption]]}} <ref>{{cite web|url=http://www.netbsd.org/releases/formal-5/NetBSD-5.0.html|title=Announcing NetBSD 5.0}}</ref> |
||
| {{ |
| {{yes}} |
||
|- |
|- |
||
! [[NetWare|NetWare kernel]] |
! [[NetWare|NetWare kernel]] |
||
| |
|||
| [[NetWare]] |
| [[NetWare]] |
||
| [[Novell]] |
| [[Novell]] |
||
Line 292: | Line 281: | ||
|- |
|- |
||
! [[OpenBSD|OpenBSD kernel]] |
! [[OpenBSD|OpenBSD kernel]] |
||
| [[C (programming language)|C]] |
|||
| [[OpenBSD]] |
| [[OpenBSD]] |
||
| [[OpenBSD developers]] |
| [[OpenBSD developers]] |
||
Line 308: | Line 298: | ||
|- |
|- |
||
! [[OS/2|OS/2 kernel]] |
! [[OS/2|OS/2 kernel]] |
||
| |
|||
| [[OS/2]] version 2 and above |
| [[OS/2]] version 2 and above |
||
| [[IBM]] |
| [[IBM]] |
||
Line 324: | Line 315: | ||
|- |
|- |
||
! [[Plan 9 kernel]] |
! [[Plan 9 kernel]] |
||
| [[C (programming language)|C]] |
|||
| [[Plan 9 from Bell Labs]] |
| [[Plan 9 from Bell Labs]] |
||
| [[Bell Labs]] |
| [[Bell Labs]] |
||
| {{dunno}} |
| {{dunno}} |
||
| [[ |
| [[Monolithic kernel|monolithic]] |
||
| {{yes|ipmux}} |
| {{yes|ipmux}} |
||
| {{yes}} |
| {{yes}} |
||
Line 340: | Line 332: | ||
|- |
|- |
||
! [[ReactOS|ReactOS kernel]] |
! [[ReactOS|ReactOS kernel]] |
||
| [[C (programming language)|C]] |
|||
| [[ReactOS]] |
| [[ReactOS]] |
||
| [[ReactOS Foundation]] |
| [[ReactOS Foundation]] |
||
| [[Portable Executable|PE]] |
| [[Portable Executable|PE]] |
||
| [[Hybrid kernel|hybrid]] |
| [[Hybrid kernel|hybrid]] |
||
| {{dunno}} |
| {{dunno}} |
||
| {{ |
| {{yes}} |
||
| {{ |
| {{yes}} |
||
| {{yes}} |
| {{yes}} |
||
| {{dunno}} |
| {{dunno}} |
||
| {{ |
| {{yes}} |
||
| {{ |
| {{yes}} |
||
| {{dunno}} |
| {{dunno}} |
||
| {{dunno}} |
| {{dunno}} |
||
Line 356: | Line 349: | ||
|- |
|- |
||
! [[Rockbox|Rockbox kernel]] |
! [[Rockbox|Rockbox kernel]] |
||
| |
|||
| [[Rockbox]] |
| [[Rockbox]] |
||
| The Rockbox Project |
| The Rockbox Project |
||
Line 372: | Line 366: | ||
|- |
|- |
||
! [[SunOS|SunOS kernel]] |
! [[SunOS|SunOS kernel]] |
||
| [[C (programming language)|C]] |
|||
| [[SunOS]] |
| [[SunOS]] |
||
| [[Sun Microsystems]] |
| [[Sun Microsystems]] |
||
| [[a.out]]<br> |
| [[a.out]]<br /> |
||
| [[Monolithic kernel|monolithic]] |
| [[Monolithic kernel|monolithic]] |
||
| {{dunno}} |
| {{dunno}} |
||
Line 388: | Line 383: | ||
|- |
|- |
||
! [[Solaris (operating system)|Solaris kernel]] |
! [[Solaris (operating system)|Solaris kernel]] |
||
| [[C (programming language)|C]] |
|||
| [[Solaris (operating system)|Solaris]], |
| [[Solaris (operating system)|Solaris]], |
||
[[OpenSolaris]], |
[[OpenSolaris]], |
||
GNU/kOpenSolaris ([[GNU variants#OpenSolaris |
GNU/kOpenSolaris ([[GNU variants#OpenSolaris (Illumos) kernel|Nexenta OS]]) |
||
| [[Sun Microsystems]] |
| [[Sun Microsystems]] |
||
| [[Executable and Linkable Format|ELF]] (32-bit only until<br />Solaris 7 in 1998) |
| [[Executable and Linkable Format|ELF]] (32-bit only until<br />Solaris 7 in 1998) |
||
| [[Monolithic kernel|monolithic]] |
| [[Monolithic kernel|monolithic]] |
||
| {{yes|[[IPFilter]] |
| {{yes| |
||
*[[IPFilter]], |
|||
*[[PF (firewall)|PF]] (since Oracle Solaris 11.3)}} |
|||
| {{yes}} |
| {{yes}} |
||
| {{yes}} |
| {{yes}} |
||
| {{yes}} |
| {{yes}} |
||
| {{yes|[[Solaris Zones|Zones]], [[chroot]]}} |
| {{yes|[[Solaris Zones|Zones]], [[chroot]]}} |
||
| {{yes|[[Unix security|Unix permissions]], [[Access |
| {{yes|[[Unix security|Unix permissions]], [[Access-control list|ACL]], [[RBAC]], Auditing, [[Least privilege|Privileges]], [[Solaris Zones|Zones]], [[Solaris Trusted Extensions|Trusted Extensions]]}} |
||
| {{yes|[[DTrace]], CPU profiling, microstate accounting, perf counters, kernel lock stats, kstats, mdb, kmdb}} |
| {{yes|[[DTrace]], CPU profiling, microstate accounting, perf counters, kernel lock stats, kstats, mdb, kmdb}} |
||
| {{yes|Real-time scheduler}} |
| {{yes|Real-time scheduler}} |
||
Line 405: | Line 403: | ||
| {{dunno}} |
| {{dunno}} |
||
|- |
|- |
||
! [[ |
! [[TRIX (operating system)|Trix kernel]] |
||
| |
|||
| [[Trix (operating system)|Trix]] |
|||
| [[TRIX (operating system)|Trix]] |
|||
| [[Massachusetts Institute of Technology]] |
| [[Massachusetts Institute of Technology]] |
||
| [[a.out]] |
| [[a.out]] |
||
Line 421: | Line 420: | ||
| {{dunno}} |
| {{dunno}} |
||
|- |
|- |
||
! [[Architecture of Windows NT#Kernel mode|Windows NT kernel]] [ |
! [[Architecture of Windows NT#Kernel mode|Windows NT kernel]] |
||
| [[C (programming language)|C]] |
|||
| [[Windows NT]], [[Windows 2000|2000]],<br>[[Windows XP|XP]], [[Windows 2003|2003]], [[Windows Vista|Vista]], [[Windows 7]], [[Windows 8]], [[Windows Phone 8]], [[Windows Phone 8.1]], [[Windows 10]] |
| All [[Windows NT]] family systems, [[Windows 2000|2000]],<br />[[Windows XP|XP]], [[Windows Server 2003|2003]], [[Windows Vista|Vista]], [[Windows 7]], [[Windows 8]], [[Windows Phone 8]], [[Windows Phone 8.1]], [[Windows 10]], [[Windows 11]], [[Windows Server]] |
||
| [[Microsoft]] |
| [[Microsoft]] |
||
| [[Portable Executable|PE]] |
| [[Portable Executable|PE]] |
||
| [[hybrid kernel|hybrid]] |
| [[hybrid kernel|hybrid]] |
||
| {{yes}} |
| {{yes}} |
||
Line 431: | Line 431: | ||
| {{yes}} |
| {{yes}} |
||
| {{yes|[[Hyper-V]]}} |
| {{yes|[[Hyper-V]]}} |
||
| {{yes|[[Access |
| {{yes|[[Access-control list|ACL]]}} |
||
| {{yes|Event Tracing<ref> |
| {{yes|Event Tracing,<ref>{{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 }}</ref> dgbss, kd}} |
||
| {{yes|[[Multimedia Class Scheduler Service]]}} |
| {{yes|[[Multimedia Class Scheduler Service]]}} |
||
| {{no}} |
| {{no}} |
||
| {{unofficial}}<ref>https://www.cl.cam.ac.uk/~mgk25/mswish/ut-rtc.html</ref> |
| {{unofficial}}<ref>{{Cite web | url=https://www.cl.cam.ac.uk/~mgk25/mswish/ut-rtc.html | title=IBM PC Real Time Clock should run in UT }}</ref> |
||
|- |
|- |
||
!Windows 9x kernel |
|||
! [[XNU]] ([[Darwin (operating system)|Darwin]] kernel) [http://opensource.apple.com/source/xnu/] |
|||
| |
|[[C++]] |
||
|Windows 95, Windows 98, Windows Me |
|||
|[[Microsoft]] |
|||
|[[Portable Executable|PE]] |
|||
|[[Monolithic kernel|monolithic]] |
|||
| |
|||
| |
|||
| |
|||
| |
|||
| |
|||
| |
|||
| |
|||
| |
|||
| |
|||
| |
|||
|- |
|||
! [[XNU]] ([[Darwin (operating system)|Darwin]] kernel) |
|||
| [[C (programming language)|C]], [[C++]] |
|||
| [[macOS]], [[iOS]], [[iPadOS]], [[tvOS]], [[watchOS]], |
|||
[[Darwin (operating system)#OpenDarwin|OpenDarwin]], |
[[Darwin (operating system)#OpenDarwin|OpenDarwin]], |
||
[[Darwin (operating system)#PureDarwin|PureDarwin]] |
[[Darwin (operating system)#PureDarwin|PureDarwin]] |
||
[[GNU-Darwin|GNU/Darwin]] |
[[GNU-Darwin|GNU/Darwin]] |
||
| [[Apple |
| [[Apple Inc.]] |
||
| [[Mach-O]] |
| [[Mach-O]] |
||
| [[hybrid kernel|hybrid]] |
| [[hybrid kernel|hybrid]] |
||
| {{yes|[[Ipfirewall]],<br>[[PF (firewall)|PF]] (starting in Lion)}} |
| {{yes|[[Ipfirewall]],<br />[[PF (firewall)|PF]] (starting in Lion)}} |
||
| {{yes}} |
| {{yes}} |
||
| {{yes}} |
| {{yes}} |
||
| {{yes}} |
| {{yes}} |
||
| {{yes|[[chroot]]}} |
| {{yes|[[chroot]]}} |
||
| {{yes|[[Unix security|Unix permissions]], [[Access |
| {{yes|[[Unix security|Unix permissions]], [[Access-control list|NT/NFSv4 ACLs]], [[Mandatory Access Control|TrustedBSD MAC]], [[OpenBSM]]}} |
||
| {{yes|[[Kernel debugger|KDB]], DDB, [[DTrace]]}} |
| {{yes|[[Kernel debugger|KDB]], DDB, [[DTrace]]}} |
||
| {{yes}} |
| {{yes}} |
||
Line 456: | Line 474: | ||
| {{yes}} |
| {{yes}} |
||
|- |
|- |
||
! [[HelenOS|SPARTAN kernel] |
! [[HelenOS|SPARTAN kernel]] |
||
| [[C (programming language)|C]] |
|||
| [[HelenOS]] |
| [[HelenOS]] |
||
| [[Jakub Jermar]] |
| [[Jakub Jermar]] |
||
Line 471: | Line 490: | ||
| {{dunno}} |
| {{dunno}} |
||
| {{dunno}} |
| {{dunno}} |
||
|- |
|||
|-class="sortbottom" |
|||
!Zircon |
|||
! Kernel name |
|||
|[[C++]] |
|||
! Used in |
|||
|[[Fuchsia (operating system)|Fuchsia OS]] |
|||
! Creator |
|||
|[[Google]] |
|||
! Executable<br>format<br>(also see<br>[[#Binary format support|section]]<br>below) |
|||
|[[Executable and Linkable Format|ELF]] |
|||
! Type |
|||
|[[microkernel]] |
|||
! Integrated [[Firewall (networking)|firewall]] |
|||
|{{No}} |
|||
! [[Symmetric multiprocessing|SMP]] support |
|||
|{{Yes}} |
|||
! Multiple [[Computer architecture|architecture]]<br>support<br>(also see<br>[[#Supported CPU architectures|section]] below). |
|||
|{{Yes}} |
|||
! [[Computer multitasking|Multitasking]] |
|||
|{{Yes}} |
|||
! [[Operating system-level virtualization|Virtualization]] |
|||
|{{Yes|[[Lguest]], [[Xen]], [[Kernel-based Virtual Machine|KVM]], [[kvm-lite]]}} |
|||
! [[Security]] |
|||
|{{Yes}} |
|||
! [[Software performance analysis|Profiling]]/[[Debugging]] |
|||
|{{Yes|[[Kernel debugger|KDB]], DDB, [[GNU Debugger|GDB]]}} |
|||
! Soft [[Real-time computing|real-time]] support |
|||
|{{Yes}} |
|||
! Hard [[Real-time computing|real-time]] support |
|||
|{{No}} |
|||
! Can keep [[Real-time clock|RTC]] in [[Universal Time|UT]] |
|||
|{{Yes}} |
|||
|} |
|} |
||
Line 514: | Line 534: | ||
| {{yes}} |
| {{yes}} |
||
| {{yes}} |
| {{yes}} |
||
|- |
|||
! [[NetBSD|NetBSD kernel]] |
|||
| {{yes}} |
|||
| {{yes}} |
|||
| {{yes}} |
|||
| {{yes}} |
|||
|- |
|||
! [[OpenBSD|OpenBSD kernel]] |
|||
| {{yes}} |
|||
| {{yes}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
|- |
|- |
||
! [[Solaris (operating system)|Solaris kernel]] |
! [[Solaris (operating system)|Solaris kernel]] |
||
Line 532: | Line 564: | ||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
|- |
|||
!Zircon |
|||
|{{Yes}} |
|||
|{{Yes}} |
|||
|{{Yes}} |
|||
|{{Yes}} |
|||
|} |
|} |
||
Line 550: | Line 588: | ||
! [[Ping flood]] protection |
! [[Ping flood]] protection |
||
! [[Smurf attack]] protection |
! [[Smurf attack]] protection |
||
! [[Intrusion |
! [[Intrusion detection system|Network Behavior Analysis]] |
||
|- |
|- |
||
! Linux |
! Linux |
||
Line 562: | Line 600: | ||
| {{yes|SELinux Sandbox, [[seccomp]]}} |
| {{yes|SELinux Sandbox, [[seccomp]]}} |
||
| {{yes|[[SYN cookies]]}} |
| {{yes|[[SYN cookies]]}} |
||
| {{ |
| {{Yes|hash tables}} |
||
| {{ |
| {{Yes|ICMP rate limiting}} |
||
| {{Yes|reverse path filtering}} |
|||
| {{no}}? |
|||
| {{ |
| {{Yes|Netfilter}} |
||
|- |
|- |
||
! FreeBSD Kernel |
! FreeBSD Kernel |
||
| {{yes|[[Filesystem permissions#Traditional Unix permissions|Traditional Unix permissions]], [[Access control list|POSIX and NFSv4 ACL]]}} |
| {{yes|[[Filesystem permissions#Traditional Unix permissions|Traditional Unix permissions]], [[Access control list|POSIX and NFSv4 ACL]]}} |
||
| {{yes}} |
| {{yes}} |
||
| {{ |
| {{yes}} |
||
| {{yes|[[TrustedBSD MAC]]}} |
| {{yes|[[TrustedBSD MAC]]}} |
||
| {{yes|Capsicum}} |
| {{yes|Capsicum}} |
||
Line 603: | Line 641: | ||
| {{yes|[[Mandatory Integrity Control]]}} |
| {{yes|[[Mandatory Integrity Control]]}} |
||
| {{yes|AppContainers}} |
| {{yes|AppContainers}} |
||
| {{ |
| {{No}} |
||
| {{yes}} |
| {{yes}} |
||
| {{yes|Windows Event Log}} |
| {{yes|Windows Event Log}} |
||
| {{yes}}<ref>{{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|quote=SynAttack protection is enabled by default and cannot be disabled}}</ref> |
| {{yes}}<ref>{{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}}</ref> |
||
| {{ |
| {{Yes}} |
||
| {{dunno}} |
| {{dunno}} |
||
| {{dunno}} |
| {{dunno}} |
||
Line 732: | Line 770: | ||
| {{no|([[TUX web server]] patch)}} |
| {{no|([[TUX web server]] patch)}} |
||
| {{yes|knfsd}} |
| {{yes|knfsd}} |
||
| {{ |
| {{yes|[[CIFSD#ksmbd (kernel daemon)|ksmbd]]}} |
||
| {{dunno}} |
| {{dunno}} |
||
| {{yes|[[IP Virtual Server]]}} |
| {{yes|[[IP Virtual Server]]}} |
||
Line 747: | Line 785: | ||
| {{yes}} |
| {{yes}} |
||
| {{dunno}} |
| {{dunno}} |
||
| {{yes}}<ref>{{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}}</ref> |
|||
| {{dunno}} |
|||
| {{dunno}} |
| {{dunno}} |
||
| {{no}} |
| {{no}} |
||
Line 760: | Line 798: | ||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
| {{yes}}<ref>{{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}}</ref> |
|||
| {{yes}} |
|||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
Line 812: | Line 850: | ||
{| class="sortable wikitable" style="text-align: center; width: auto" |
{| class="sortable wikitable" style="text-align: center; width: auto" |
||
! Kernel Name |
! Kernel Name |
||
! [[ |
! [[a.out]] |
||
! [[ECOFF]] |
! [[ECOFF]] |
||
! [[Executable and Linkable Format|ELF]] |
! [[Executable and Linkable Format|ELF]] |
||
! FDPIC<br>ELF<br>binaries<br>(mmu less) |
! FDPIC<br />ELF<br />binaries<br />(mmu less) |
||
! flat<br>binaries<br>(superH) |
! flat<br />binaries<br />(superH) |
||
! [[Amiga Hunk|HUNK]] |
! [[Amiga Hunk|HUNK]] |
||
! [[Mach-O]] |
! [[Mach-O]] |
||
! Misc<br>(wrapper<br>based,<br>like<br>interpreters) |
! Misc<br />(wrapper<br />based,<br />like<br />interpreters) |
||
! [[Portable Executable|PE]] |
! [[Portable Executable|PE]] |
||
! SOM<br>(PA-RISC,<br>HP-UX) |
! SOM<br />(PA-RISC,<br />HP-UX) |
||
! [[NetWare Loadable Module|NLM]] |
! [[NetWare Loadable Module|NLM]] |
||
! [[Preferred Executable Format|PEF]] |
! [[Preferred Executable Format|PEF]] |
||
Line 867: | Line 905: | ||
| {{No}} |
| {{No}} |
||
| {{No}} |
| {{No}} |
||
|- |
|||
!FreeBSD kernel |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{Yes}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{Yes}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
|- |
|- |
||
! [[HP-UX|HP-UX kernel]] |
! [[HP-UX|HP-UX kernel]] |
||
Line 888: | Line 945: | ||
|- |
|- |
||
! [[Linux kernel]] |
! [[Linux kernel]] |
||
| {{ |
| {{No}} |
||
| {{Yes}} |
| {{Yes}} |
||
| {{Yes}} |
| {{Yes}} |
||
Line 935: | Line 992: | ||
| {{dunno}} |
| {{dunno}} |
||
| {{Yes}} |
| {{Yes}} |
||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
|- |
|||
!OpenBSD kernel |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{Yes}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
|||
| {{dunno}} |
| {{dunno}} |
||
| {{dunno}} |
| {{dunno}} |
||
Line 1,027: | Line 1,103: | ||
! [[Advanced Disc Filing System|Acorn ADFS]] |
! [[Advanced Disc Filing System|Acorn ADFS]] |
||
! [[Amiga FFS]] |
! [[Amiga FFS]] |
||
! [[APFS]] |
|||
! [[BeFS]] |
! [[BeFS]] |
||
! [[Boot File System|BFS]] |
! [[Boot File System|BFS]] |
||
Line 1,037: | Line 1,114: | ||
! [[File Allocation Table|FAT]] |
! [[File Allocation Table|FAT]] |
||
! [[FreeVxFS]] |
! [[FreeVxFS]] |
||
! [[Hierarchical File System|HFS]] |
! [[Hierarchical File System (Apple)|HFS]] |
||
! [[HFS+]] |
! [[HFS+]] |
||
! [[High Performance File System|HPFS]] |
! [[High Performance File System|HPFS]] |
||
Line 1,064: | Line 1,141: | ||
|- |
|- |
||
! [[DragonFly BSD|DragonFly BSD kernel]] |
! [[DragonFly BSD|DragonFly BSD kernel]] |
||
| {{No}} |
|||
| {{No}} |
| {{No}} |
||
| {{No}} |
| {{No}} |
||
Line 1,102: | Line 1,180: | ||
|- |
|- |
||
! [[FreeBSD|FreeBSD kernel]] |
! [[FreeBSD|FreeBSD kernel]] |
||
| {{No}} |
|||
| {{No}} |
| {{No}} |
||
| {{No}} |
| {{No}} |
||
Line 1,110: | Line 1,189: | ||
| {{Yes}} |
| {{Yes}} |
||
| {{Yes}} |
| {{Yes}} |
||
| {{ |
| {{Yes}} |
||
| {{No}} |
| {{No}} |
||
| {{Yes}} |
| {{Yes}} |
||
Line 1,140: | Line 1,219: | ||
|- |
|- |
||
! [[Linux kernel]] |
! [[Linux kernel]] |
||
| {{partial|Yes}}<br><ref name="experi">experimental and dangerous write support</ref> |
| {{partial|Yes}}<br /><ref name="experi">experimental and dangerous write support</ref> |
||
| {{Yes}} |
| {{Yes}} |
||
| {{partial|Yes}}<br /><ref name=windowsext>additional driver needed</ref> |
|||
| {{partial|read only}} |
| {{partial|read only}} |
||
| {{Yes}} |
| {{Yes}} |
||
Line 1,161: | Line 1,241: | ||
| {{Yes}} |
| {{Yes}} |
||
| {{Yes}} |
| {{Yes}} |
||
| {{partial|Yes<br>(Full R/W with additional userspace driver)<ref>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 (Linux)|FUSE]] filesystem and therefore not strictly a kernel feature</ref>}} |
| {{partial|Yes<br />(Full R/W with additional userspace driver)<ref>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 (Linux)|FUSE]] filesystem and therefore not strictly a kernel feature</ref>}} |
||
| {{Yes}} |
| {{Yes}} |
||
| {{partial|Yes}}<br><ref name="experi"/><br><ref>write support currently broken</ref> |
| {{partial|Yes}}<br /><ref name="experi"/><br /><ref>write support currently broken</ref> |
||
| {{partial|write support?}} |
| {{partial|write support?}} |
||
| {{Yes}} |
| {{Yes}} |
||
| {{partial|Yes}}<br><ref name="experi"/> |
| {{partial|Yes}}<br /><ref name="experi"/> |
||
| {{Yes}} |
| {{Yes}} |
||
| {{Yes| both FUSE and native}} |
| {{Yes| both FUSE and native}} |
||
Line 1,174: | Line 1,254: | ||
| {{no}} |
| {{no}} |
||
| {{yes}} |
| {{yes}} |
||
| {{yes}} |
|||
| {{partial|Yes.(Requires userspace driver due to patent concerns<ref>{{cite web |url=https://github.com/relan/exfat |title=exFAT fs on FUSE |accessdate=May 15, 2010}}</ref>)}} |
|||
| {{No}} |
| {{No}} |
||
|- |
|- |
||
Line 1,180: | Line 1,260: | ||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
| {{No}} |
|||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
Line 1,214: | Line 1,295: | ||
| {{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}} |
|||
|- |
|- |
||
! [[Novell NetWare|NetWare kernel]] |
! [[Novell NetWare|NetWare kernel]] |
||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
| {{No}} |
|||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
Line 1,252: | Line 1,373: | ||
| {{dunno}} |
| {{dunno}} |
||
| {{no}} |
| {{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|ReactOS kernel]] |
! [[ReactOS|ReactOS kernel]] |
||
Line 1,257: | Line 1,417: | ||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
| {{No}} |
|||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
| {{yes}}<br /><ref name="reactos-fs">[https://reactos.org/wiki/File_Systems ReactOS Wiki - File Systems]</ref> |
|||
| {{no}} |
|||
| {{yes}}<br /><ref name="reactos-fs"/> |
|||
| {{no}} |
|||
| {{yes}}<br /><ref name="reactos-fs"/> |
|||
| {{no}} |
|||
| {{No}} |
| {{No}} |
||
| {{yes}}<br/><ref name="reactos-fs" |
| {{yes}}<br /><ref name="reactos-fs"/> |
||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
| {{yes}}<br/><ref name="reactos-fs"/> |
| {{yes}}<br /><ref name="reactos-fs"/> |
||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
Line 1,279: | Line 1,440: | ||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
| {{yes}}<br/><ref name="reactos-fs"/> |
| {{yes}}<br /><ref name="reactos-fs"/> |
||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
Line 1,285: | Line 1,446: | ||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
| {{partial|Yes}}<br/><ref name="win-btrfs">additional driver needed - see https://github.com/maharmstone/btrfs</ref> |
| {{partial|Yes}}<br /><ref name="win-btrfs">additional driver needed - see https://github.com/maharmstone/btrfs</ref> |
||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
Line 1,294: | Line 1,455: | ||
| {{dunno}} |
| {{dunno}} |
||
| {{dunno}} |
| {{dunno}} |
||
| {{No}} |
|||
| {{dunno}} |
| {{dunno}} |
||
| {{dunno}} |
| {{dunno}} |
||
Line 1,332: | Line 1,494: | ||
| {{dunno}} |
| {{dunno}} |
||
| {{dunno}} |
| {{dunno}} |
||
| {{partial|Yes}}<br /><ref name=windowsext>additional driver needed</ref> |
|||
| {{dunno}} |
| {{dunno}} |
||
| {{dunno}} |
| {{dunno}} |
||
| {{dunno}} |
| {{dunno}} |
||
| {{dunno}} |
| {{dunno}} |
||
| {{partial|Yes}}<br><ref name=windowsextdriver>additional driver needed - see [http://www.fs-driver.org/ http://www.fs-driver.org/]</ref> |
| {{partial|Yes}}<br /><ref name=windowsextdriver>additional driver needed - see [http://www.fs-driver.org/ http://www.fs-driver.org/]</ref> |
||
| {{partial|Yes}}<br><ref name=winext2fsd>additional driver needed - see http://www.ext2fsd.com {{Webarchive|url=https://web.archive.org/web/20120723091043/http://www.ext2fsd.com/ |date=2012-07-23 }}</ref> |
| {{partial|Yes}}<br /><ref name=winext2fsd>additional driver needed - see http://www.ext2fsd.com {{Webarchive|url=https://web.archive.org/web/20120723091043/http://www.ext2fsd.com/ |date=2012-07-23 }}</ref> |
||
| {{partial|Yes}}<br><ref name="winext2fsd"/> |
| {{partial|Yes}}<br /><ref name="winext2fsd"/> |
||
| {{no}} |
| {{no}} |
||
| {{yes}} |
| {{yes}} |
||
| {{dunno}} |
| {{dunno}} |
||
| {{partial|Yes}}<br><ref name=windowsext>additional driver needed</ref> |
| {{partial|Yes}}<br /><ref name=windowsext>additional driver needed</ref> |
||
| {{partial|Yes}}<br><ref name="windowsext"/> |
| {{partial|Yes}}<br /><ref name="windowsext"/> |
||
| {{no}} |
| {{no}} |
||
| {{yes}} |
| {{yes}} |
||
Line 1,361: | Line 1,524: | ||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
| {{partial|Yes}}<br/><ref name="win-btrfs"/> |
| {{partial|Yes}}<br /><ref name="win-btrfs"/> |
||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
Line 1,370: | Line 1,533: | ||
| {{No}} |
| {{No}} |
||
| {{No}} |
| {{No}} |
||
| {{Yes}} |
|||
| {{No}} |
| {{No}} |
||
| {{No}} |
| {{No}} |
||
| {{No}} |
| {{No}} |
||
| {{No}} |
| {{No}} |
||
| {{partial|Yes}}<br><ref name="Macext">[http://sourceforge.net/projects/ext2fsx/ Third party module required. Mac OS X Kernel Module available here]</ref> |
| {{partial|Yes}}<br /><ref name="Macext">[http://sourceforge.net/projects/ext2fsx/ Third party module required. Mac OS X Kernel Module available here]</ref> |
||
| {{partial|Yes}}<br><ref name="Macext"/> |
| {{partial|Yes}}<br /><ref name="Macext"/> |
||
| {{No}} |
| {{No}} |
||
| {{no}} |
| {{no}} |
||
Line 1,410: | Line 1,574: | ||
{| class="sortable wikitable" style="text-align: center; width: auto" |
{| class="sortable wikitable" style="text-align: center; width: auto" |
||
! Kernel Name |
! Kernel Name |
||
! [[Network File System |
! [[Network File System|NFS]] |
||
! [[Andrew File System|AFS]] |
! [[Andrew File System|AFS]] |
||
! [[CIFS]] |
! [[CIFS]] |
||
Line 1,418: | Line 1,582: | ||
|- |
|- |
||
! [[DragonFly BSD|DragonFly BSD kernel]] |
! [[DragonFly BSD|DragonFly BSD kernel]] |
||
| {{ |
| {{partial|up to NFSv3}} |
||
| {{no}} |
| {{no}} |
||
| {{yes}} |
| {{yes}} |
||
Line 1,431: | Line 1,595: | ||
| {{yes}} |
| {{yes}} |
||
| {{no}} |
| {{no}} |
||
| {{ |
| {{yes}} |
||
|- |
|- |
||
! [[Linux kernel]] |
! [[Linux kernel]] |
||
Line 1,440: | Line 1,604: | ||
| {{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 (operating system)|Solaris kernel]] |
! [[Solaris (operating system)|Solaris kernel]] |
||
Line 1,471: | Line 1,651: | ||
{| style="font-size:85%; text-align: center; width: auto" class="sortable wikitable" |
{| style="font-size:85%; text-align: center; width: auto" class="sortable wikitable" |
||
!rowspan="3"| [[Kernel ( |
!rowspan="3"| [[Kernel (operating system)|kernel]] |
||
!colspan="3"| [[Hewlett-Packard|HP]] |
!colspan="3"| [[Hewlett-Packard|HP]]<!-- VAX, Alpha: DEC->Compaq->HP --> |
||
!colspan="2"| [[SoftBank Group|Softbank]]/[[ARM Holdings]] |
!colspan="2"| [[SoftBank Group|Softbank]],<br />[[ARM Holdings]]<!--TODO: ARM64--> |
||
!colspan="4"| [[Intel]] |
!colspan="4"| [[Intel]] |
||
!colspan="2"| [[MIPS Technologies| |
!colspan="2"| [[MIPS Technologies|MIPS]]<!-- MIPS Technologies -> Imagination Technologies -> Tallwood MIPS -> Wave Computing -> MIPS--><!--TODO: MIPS64--> |
||
!colspan="4"| [[IBM]] |
!colspan="4"| [[IBM]]<!-- PowerPC: AIM alliance -> IBM-Freescale alliance -> IBM --> |
||
!colspan="7"| [[ |
!colspan="7"| [[Renesas Electronics]]<!--h8300: Hitachi -> Renesas, M16C/M32R: Mitsubishi -> Renesas, 78K/V850: NEC -> Renesas--><!-- TODO: RX --> |
||
!colspan="3"| [[Oracle Corporation|Oracle]]<!-- Sun Microsystems -> Oracle --> |
!colspan="3"| [[Oracle Corporation|Oracle]]<!-- Sun Microsystems -> Oracle --> |
||
Line 1,489: | Line 1,669: | ||
!colspan="2"| [[NXP Semiconductors|NXP]]<!-- Motorola -> Freescale Semiconductor -> NXP --> |
!colspan="2"| [[NXP Semiconductors|NXP]]<!-- Motorola -> Freescale Semiconductor -> NXP --> |
||
!colspan="1"| [[Analog Devices]] |
!colspan="1"| [[Analog Devices]]<!-- Developed by Intel and Analog Devices --> |
||
!colspan="1"| [[Xilinx]] |
!colspan="1"| [[Xilinx]] |
||
!colspan="2"| [[Cadence Design Systems|Cadence]] |
!colspan="2"| [[Cadence Design Systems|Cadence]]<!-- Tensilica -> Cadence Design Systems --> |
||
!colspan="1"| [[Canon Inc.|Canon]]/[[Axis Communications|Axis Comm.]] |
!colspan="1"| [[Canon Inc.|Canon]],<br />[[Axis Communications|Axis Comm.]] |
||
!colspan="2"| [[Socionext]] |
!colspan="2"| [[Socionext]]<!-- FR-V: Fujitsu Semiconductor -> Socionext, MN103: Panasonic (aka Matsushita) -> Socionext --> |
||
!colspan="1"| [[Microchip Technology|Microchip]] |
!colspan="1"| [[Microchip Technology|Microchip]],<br />[[Atmel]] |
||
!colspan="1"| |
!colspan="1"| CML,<br />[[Hyperstone]] |
||
!colspan="3"| Intel/[[Altera]] |
!colspan="3"| Intel,<br />[[Altera]] |
||
!colspan="1"| [[Western Design Center|WDC]] |
!colspan="1"| [[Western Design Center|WDC]] |
||
Line 1,509: | Line 1,689: | ||
!colspan="1"| [[Sunplus Technology]] |
!colspan="1"| [[Sunplus Technology]] |
||
!colspan="1"| [[ |
!colspan="1"| [[NVIDIA]]<!-- Tilera Corporation -> EZchip Semiconductor -> Mellanox Technologies -> NVIDIA --> |
||
!colspan="1"| [[Texas Instruments|TI]] |
!colspan="1"| [[Texas Instruments|TI]] |
||
Line 1,519: | Line 1,699: | ||
!rowspan="2"| [[DEC Alpha|Alpha]] |
!rowspan="2"| [[DEC Alpha|Alpha]] |
||
!rowspan="2"| [[ |
!rowspan="2"| [[PA-RISC]] |
||
!colspan="2"| [[ARM architecture|ARM]] |
!colspan="2"| [[ARM architecture|ARM]] |
||
!colspan="2"| [[ |
!colspan="2"| [[x86]] |
||
!rowspan="2"| [[i960]] |
!rowspan="2"| [[i960]] |
||
!rowspan="2"| [[IA-64]] |
!rowspan="2"| [[IA-64]] |
||
Line 1,579: | Line 1,759: | ||
!rowspan="2"| [[S+core]] |
!rowspan="2"| [[S+core]] |
||
!rowspan="2"| Tilera |
!rowspan="2"| [[Tilera]] |
||
!rowspan="2"| [[Texas Instruments TMS320C6000|C6X]] |
!rowspan="2"| [[Texas Instruments TMS320C6000|C6X]] |
||
Line 1,701: | Line 1,881: | ||
|<!--vax-->{{No}} |
|<!--vax-->{{No}} |
||
|<!--alpha-->{{yes2}}6.4 and below only<ref name="freebsdplatforms">{{cite web |url=https://www.freebsd.org/platforms/ |title=FreeBSD supported platforms}}</ref> |
|||
|<!--alpha-->{{No}} |
|||
|<!--hppa-->{{No}} |
|<!--hppa-->{{No}} |
||
Line 1,711: | Line 1,891: | ||
|<!--x86-32-->{{Yes}} |
|<!--x86-32-->{{Yes}} |
||
|<!--x86-64-->{{Yes}} |
|<!--x86-64-->{{Yes}} |
||
|<!--i960-->{{ |
|<!--i960-->{{No}} |
||
|<!--ia64-->{{ |
|<!--ia64-->{{yes2}}10.4 and below only<ref name="freebsdplatforms" /> |
||
|<!--mips-->{{ |
|<!--mips-->{{Yes2}}projected to end in 14.x<ref name="freebsdplatforms" /> |
||
|<!--mips-nommu-->{{No}} |
|<!--mips-nommu-->{{No}} |
||
Line 1,726: | Line 1,906: | ||
|<!--zarchitecture-->{{No}} |
|<!--zarchitecture-->{{No}} |
||
|<!--h8300-->{{ |
|<!--h8300-->{{No}} |
||
|<!--m16c-->{{ |
|<!--m16c-->{{No}} |
||
|<!--m32r-->{{ |
|<!--m32r-->{{No}} |
||
|<!--78k-->{{ |
|<!--78k-->{{No}} |
||
|<!--v850-->{{ |
|<!--v850-->{{No}} |
||
|<!--sh-->{{No}} |
|<!--sh-->{{No}} |
||
Line 1,742: | Line 1,922: | ||
|<!--sparc32-->{{No}} |
|<!--sparc32-->{{No}} |
||
|<!--sparc64-->{{ |
|<!--sparc64-->{{Yes2}}12.x and below only<ref name="freebsdplatforms" /> |
||
|<!--sparc-nommu-->{{dunno}} |
|<!--sparc-nommu-->{{dunno}} |
||
Line 1,750: | Line 1,930: | ||
|<!--m68k-nommu-->{{No}} |
|<!--m68k-nommu-->{{No}} |
||
|<!--blackfin-->{{ |
|<!--blackfin-->{{No}} |
||
|<!--MicroBlaze-->{{ |
|<!--MicroBlaze-->{{No}} |
||
|<!--xtensa-->{{ |
|<!--xtensa-->{{No}} |
||
|<!--xtensa-nommu-->{{ |
|<!--xtensa-nommu-->{{No}} |
||
|<!--etrax-cris-->{{ |
|<!--etrax-cris-->{{No}} |
||
|<!--fr-v-->{{ |
|<!--fr-v-->{{No}} |
||
|<!--mn10300-->{{ |
|<!--mn10300-->{{No}} |
||
|<!--avr32-->{{ |
|<!--avr32-->{{No}} |
||
|<!--e1-nommu-->{{ |
|<!--e1-nommu-->{{No}} |
||
|<!--nios-nommu-->{{ |
|<!--nios-nommu-->{{No}} |
||
|<!--nios2-->{{ |
|<!--nios2-->{{No}} |
||
|<!--nios2-nommu-->{{ |
|<!--nios2-nommu-->{{No}} |
||
|<!--wdc-65c816-->{{ |
|<!--wdc-65c816-->{{No}} |
||
|<!--s+core-->{{ |
|<!--s+core-->{{No}} |
||
|<!--tilera-->{{ |
|<!--tilera-->{{No}} |
||
|<!--c6x-->{{ |
|<!--c6x-->{{No}} |
||
|- |
|- |
||
Line 1,973: | Line 2,153: | ||
|- |
|- |
||
! [[OpenBSD|OpenBSD kernel]] |
! [[OpenBSD|OpenBSD kernel]] |
||
|<!--vax-->{{Yes2}}last supported release 5.8<ref>{{Cite web | url=https://www.openbsd.org/vax.html | title=OpenBSD/Vax }}</ref> |
|||
|<!--vax-->{{No}} |
|||
|<!--alpha-->{{Yes}} |
|<!--alpha-->{{Yes}} |
||
|<!--hppa-->{{Yes}} |
|<!--hppa-->{{Yes}} |
||
Line 2,498: | Line 2,678: | ||
|<!--c6x-->{{dunno}} |
|<!--c6x-->{{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 |
|||
|} |
|} |
||
Line 2,528: | Line 2,752: | ||
| {{yes}} |
| {{yes}} |
||
| {{yes}} |
| {{yes}} |
||
| {{partial|2D only}}<ref name="gma500-powervr">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.</ref><ref name="dreamcast-powervr">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]</ref> |
|||
| {{yes}} |
| {{yes}} |
||
| {{yes}} |
| {{yes}} |
||
| {{yes|Etnaviv}} |
|||
|- |
|- |
||
! [[Windows NT kernel]] |
! [[Windows NT kernel]] |
||
Line 2,537: | Line 2,761: | ||
| {{yes}} |
| {{yes}} |
||
| {{?}} |
| {{?}} |
||
| {{yes|[[Windows |
| {{yes|[[Windows Phone 8.x]], [[Windows 10 Mobile]], [[Windows 10|Windows on ARM]]}} |
||
| {{yes}}<ref name="intel gpu">[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</ref> |
|||
| {{?}} |
|||
| {{no}}<ref name="videocore4-windows">[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 |
|||
| {{?}} |
|||
</ref> |
|||
| {{?}} |
|||
| {{yes}} |
|||
|- |
|- |
||
! [[XNU]] |
! [[XNU]] |
||
| colspan=3 {{partial|via |
| colspan=3 {{partial|via I/O Kit ([[macOS]] only)}} |
||
| {{partial|via I/O Kit ([[macOS]] only)}} |
|||
| {{no}} |
|||
| {{no}} |
| {{no}} |
||
| {{partial|via |
| {{partial|via I/O Kit ([[iOS]] only)}} |
||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
Line 2,552: | Line 2,777: | ||
== Supported kernel execution environment == |
== Supported kernel execution environment == |
||
This table indicates, for each kernel, what operating systems' executable images and device drivers can be run by that kernel. |
|||
{| style="text-align: center; width: auto" class="sortable wikitable" |
{| style="text-align: center; width: auto" class="sortable wikitable" |
||
! Kernel name |
! Kernel name |
||
Line 2,560: | Line 2,787: | ||
! [[NetBSD]] |
! [[NetBSD]] |
||
! [[Solaris (operating system)|Solaris]] |
! [[Solaris (operating system)|Solaris]] |
||
! [[ |
! [[OSF/1]] |
||
! [[Amiga Unix]] |
! [[Amiga Unix]] |
||
! [[SunOS]] |
! [[SunOS]] |
||
! [[BSD/OS]] |
! [[BSD/OS]] |
||
! |
! [[iBCS2]] systems |
||
! [[IRIX]] |
! [[IRIX]] |
||
! [[Ultrix]] |
! [[Ultrix]] |
||
! [[Network Driver Interface Specification|NDIS]] |
|||
! NDIS |
|||
! [[UNIX System V#SVR4|SVR4]] |
! [[UNIX System V#SVR4|SVR4]] |
||
|- |
|- |
||
Line 2,601: | Line 2,828: | ||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no|([[NDISwrapper]])}} |
||
| {{no}} |
| {{no}} |
||
|- |
|- |
||
Line 2,618: | Line 2,845: | ||
| {{yes}}<ref name="netbsd-compat"/> |
| {{yes}}<ref name="netbsd-compat"/> |
||
| {{yes}}<ref name="netbsd-compat"/> |
| {{yes}}<ref name="netbsd-compat"/> |
||
| {{yes}} |
| {{yes}}<ref>{{cite web|url=http://netbsd-soc.sourceforge.net/projects/ndis/|title=Summer of Code:NDIS on NetBSD}}</ref> |
||
| {{yes}} |
| {{yes}} |
||
|- |
|- |
||
Line 2,652: | Line 2,879: | ||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
| {{ |
| {{yes}} |
||
| {{no}} |
| {{no}} |
||
|- |
|- |
||
Line 2,669: | Line 2,896: | ||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
| {{ |
| {{dunno}} |
||
| {{no}} |
| {{no}} |
||
|- |
|- |
||
Line 2,688: | Line 2,915: | ||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
|-class="sortbottom" |
|||
! Kernel name |
|||
! [[Linux]] |
|||
! [[Darwin (operating system)|Darwin]] |
|||
! [[Windows NT]] |
|||
! [[FreeBSD]] |
|||
! [[NetBSD]] |
|||
! [[Solaris (operating system)|Solaris]] |
|||
! [[Tru64 UNIX#OSF/1|OSF/1]] |
|||
! [[Amiga Unix]] |
|||
! [[SunOS]] |
|||
! [[BSD/OS]] |
|||
! IBCS2 systems |
|||
! [[IRIX]] |
|||
! [[Ultrix]] |
|||
! NDIS |
|||
! [[UNIX System V#SVR4|SVR4]] |
|||
|} |
|} |
||
Line 2,732: | Line 2,942: | ||
! [[KHAZAD]] |
! [[KHAZAD]] |
||
! [[Salsa20]] |
! [[Salsa20]] |
||
! [[FCrypt]] |
! [[FCrypt]]<!--used in RxRPC--> |
||
|- |
|- |
||
! DragonFly BSD kernel |
! DragonFly BSD kernel |
||
Line 2,853: | Line 3,063: | ||
| {{dunno}} |
| {{dunno}} |
||
| {{dunno}} |
| {{dunno}} |
||
|- |
|||
! Kernel name |
|||
![[Data Encryption Standard|DES]] |
|||
! [[Advanced Encryption Standard|AES]] |
|||
! [[Blowfish (cipher)|Blowfish]] |
|||
! [[Triple DES]] |
|||
! [[Serpent (cipher)|Serpent]] |
|||
! [[Twofish]] |
|||
! [[CAST-128]] <!--aka CAST5--> |
|||
! [[DES-X]] |
|||
! [[International Data Encryption Algorithm|IDEA]] |
|||
! [[RC2]] |
|||
! [[RC5]] |
|||
! [[SEED]] |
|||
! [[Skipjack (cipher)|Skipjack]] |
|||
! [[Tiny Encryption Algorithm|TEA]] |
|||
! [[XTEA]] |
|||
! [[CAST-256]] <!--aka CAST6--> |
|||
! [[RC4]] <!--aka ARC4--> |
|||
! [[Camellia (cipher)|Camellia]] |
|||
! [[Anubis (cipher)|Anubis]] |
|||
! [[KHAZAD]] |
|||
! [[Salsa20]] |
|||
! [[FCrypt]] <!--used in RxRPC--> |
|||
|} |
|} |
||
Line 2,888: | Line 3,074: | ||
! [[LZJB]] |
! [[LZJB]] |
||
! [[gzip]] |
! [[gzip]] |
||
! [[zstd]] |
|||
|- |
|- |
||
! Linux |
! Linux |
||
Line 2,894: | Line 3,081: | ||
| {{yes}} |
| {{yes}} |
||
| {{no}} |
| {{no}} |
||
| {{yes}} |
|||
| {{yes}} |
|||
|- |
|||
! NetBSD kernel |
|||
| {{dunno}} |
|||
| {{yes}} |
|||
| {{yes}} |
|||
| {{dunno}} |
|||
| {{yes}} |
|||
| {{yes}} |
| {{yes}} |
||
|- |
|- |
||
Line 2,902: | Line 3,098: | ||
| {{yes}} |
| {{yes}} |
||
| {{yes}} |
| {{yes}} |
||
| {{dunno}} |
|||
|} |
|} |
||
Line 2,909: | Line 3,106: | ||
! [[CRC32|CRC-32 (IEEE)]] |
! [[CRC32|CRC-32 (IEEE)]] |
||
! [[CRC32c]] |
! [[CRC32c]] |
||
! [[MD2 ( |
! [[MD2 (hash function)|MD2]] |
||
! [[MD4]] |
! [[MD4]] |
||
! [[MD5]] |
! [[MD5]] |
||
Line 2,921: | Line 3,118: | ||
! [[RIPEMD|RIPEMD-256]] |
! [[RIPEMD|RIPEMD-256]] |
||
! [[RIPEMD|RIPEMD-320]] |
! [[RIPEMD|RIPEMD-320]] |
||
! [[Tiger ( |
! [[Tiger (hash function)|Tiger]] |
||
! [[Whirlpool ( |
! [[Whirlpool (hash function)|Whirlpool]] |
||
! [[HMAC]] |
! [[HMAC]] |
||
! [[ |
! [[MDC-2]] |
||
! [[GOST (hash function)|GOST]] |
! [[GOST (hash function)|GOST]] |
||
! [[LASH (cryptography) |
! [[LASH (cryptography)|LASH]] |
||
! [[VMAC]] |
! [[VMAC]] |
||
|- |
|- |
||
! Linux |
! Linux |
||
| {{yes}}<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/crc32_generic.c</ref><ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/lib/crc32.c</ref> |
| {{yes}}<ref>{{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 }}</ref><ref>{{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 }}</ref> |
||
| {{yes}}<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/crc32c_generic.c</ref> |
| {{yes}}<ref>{{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 }}</ref> |
||
<!--MD-->| {{no}} |
<!--MD-->| {{no}} |
||
| {{yes}}<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/md4.c</ref> |
| {{yes}}<ref>{{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 }}</ref> |
||
| {{yes}}<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/md5.c</ref> |
| {{yes}}<ref>{{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 }}</ref> |
||
<!--SHA-->| {{yes}}<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/sha1_generic.c</ref> |
<!--SHA-->| {{yes}}<ref>{{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 }}</ref> |
||
| {{yes}}<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/sha256_generic.c</ref> |
| {{yes}}<ref>{{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 }}</ref> |
||
| {{partial}}<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/sha3_generic.c</ref> |
| {{partial}}<ref>{{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 }}</ref> |
||
<!--MIC-->| {{yes}}<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/michael_mic.c</ref> |
<!--MIC-->| {{yes}}<ref>{{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 }}</ref> |
||
<!--Poly1305-->| {{yes}}<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/poly1305_generic.c</ref> |
<!--Poly1305-->| {{yes}}<ref>{{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 }}</ref> |
||
| {{yes}}<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/rmd128.c</ref> |
| {{yes}}<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/rmd128.c {{Dead link|date=February 2022}}</ref> |
||
| {{yes}}<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/rmd160.c</ref> |
| {{yes}}<ref>{{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 }}</ref> |
||
| {{yes}}<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/rmd256.c</ref> |
| {{yes}}<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/rmd256.c {{Dead link|date=February 2022}}</ref> |
||
| {{yes}}<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/rmd320.c</ref> |
| {{yes}}<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/rmd320.c {{Dead link|date=February 2022}}</ref> |
||
| {{yes}}<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/tgr192.c</ref> |
| {{yes}}<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/tgr192.c {{Dead link|date=February 2022}}</ref> |
||
| {{yes}}<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/wp512.c</ref> |
| {{yes}}<ref>{{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}}</ref> |
||
<!--HMAC-->| {{yes}}<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/hmac.c</ref> |
<!--HMAC-->| {{yes}}<ref>{{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}}</ref> |
||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
| {{no}} |
| {{no}} |
||
<!--VMAC-->| {{yes}}<ref>https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/vmac.c</ref> |
<!--VMAC-->| {{yes}}<ref>{{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}}</ref> |
||
|- |
|- |
||
! Solaris kernel |
! Solaris kernel |
||
Line 3,048: | Line 3,245: | ||
! [[CRC32|CRC-32 (IEEE)]] |
! [[CRC32|CRC-32 (IEEE)]] |
||
! [[CRC32c]] |
! [[CRC32c]] |
||
! [[MD2 ( |
! [[MD2 (hash function)|MD2]] |
||
! [[MD4]] |
! [[MD4]] |
||
! [[MD5]] |
! [[MD5]] |
||
Line 3,060: | Line 3,257: | ||
! [[RIPEMD|RIPEMD-256]] |
! [[RIPEMD|RIPEMD-256]] |
||
! [[RIPEMD|RIPEMD-320]] |
! [[RIPEMD|RIPEMD-320]] |
||
! [[Tiger ( |
! [[Tiger (hash function)|Tiger]] |
||
! [[Whirlpool ( |
! [[Whirlpool (hash function)|Whirlpool]] |
||
! [[HMAC]] |
! [[HMAC]] |
||
! [[MDC2]] |
! [[MDC2]] |
||
! [[GOST (hash function)|GOST]] |
! [[GOST (hash function)|GOST]] |
||
! [[LASH (cryptography) |
! [[LASH (cryptography)|LASH]] |
||
! [[VMAC]] |
! [[VMAC]] |
||
|} |
|} |
||
Line 3,165: | Line 3,362: | ||
! CAPI |
! CAPI |
||
! PPP |
! PPP |
||
|} |
|||
== Audio support == |
|||
{| style="text-align: center; width: auto" class="sortable wikitable" |
|||
! Kernel name |
|||
! Audio system |
|||
! in-kernel mixer |
|||
! in-kernel filter |
|||
|- |
|||
! Linux |
|||
| {{yes|[[Advanced Linux Sound Architecture|ALSA]]}} |
|||
| {{?}}<!--Note: dmix plugin of ALSA is not in-kernel--> |
|||
| {{?}} |
|||
|- |
|||
! Windows NT kernel |
|||
| {{yes|[[Windows legacy audio components#Multimedia Extensions (MME)|MME]] / [[Windows Driver Model|WDM]] audio / [[Windows legacy audio components#Kernel Streaming|Kernel Streaming]] (KS)}} |
|||
| {{no|dropped ([[Windows legacy audio components#KMixer|KMixer.sys]])}} |
|||
| {{yes|KS Filters}} |
|||
|- |
|||
! FreeBSD kernel |
|||
| {{yes|[[Open Sound System#API_2|OSS API]]}} |
|||
| {{yes|VCHANs in OSS API}} |
|||
| {{?}} |
|||
|- |
|||
! NetBSD kernel |
|||
| {{yes|native (Sun-like) / [[Open Sound System#API_2|OSS API]]<ref>[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</ref>}} |
|||
| {{yes|audio_system<ref>[https://man.netbsd.org/NetBSD-8.0/audio_system.9 audio_system(9) - NetBSD Manual Pages]. NetBSD Project</ref>}} |
|||
| {{?}} |
|||
|- |
|||
! Solaris kernel |
|||
| {{yes|Sun audio API / [[Open Sound System#API_2|OSS API]]}} |
|||
| {{yes}} |
|||
| {{?}} |
|||
|- |
|||
|} |
|||
== Graphics support == |
|||
{| style="text-align: center; width: auto" class="sortable wikitable" |
|||
! Kernel name |
|||
! [[Framebuffer]] |
|||
! display management |
|||
! GPU scheduler |
|||
! GPU memory management |
|||
! in-kernel Remote Desktop |
|||
|- |
|||
! Linux |
|||
| {{yes|[[Linux framebuffer]] (fbdev) / [[Direct Rendering Manager]]}} |
|||
| {{yes|[[Direct Rendering Manager#Kernel Mode Setting|Kernel Mode Setting]]}} |
|||
| {{yes|DRM sched<ref>[https://www.phoronix.com/news/Deadline-DRM-Scheduler-RFC Deadline Scheduling Policy Being Experimented With For Linux Graphics Drivers]. Phoronix. December 30, 2024.</ref>}} |
|||
| {{yes|[[DMA-BUF]]}} |
|||
| {{no}} |
|||
|- |
|||
! Windows NT kernel |
|||
| {{yes|Dxgkrnl.sys}} |
|||
| {{yes|VidPN Manager in Dxgkrnl.sys<ref>[https://learn.microsoft.com/en-us/windows-hardware/drivers/display/introduction-to-video-present-networks Introduction to Video Present Networks]. Microsoft. December 15, 2021.</ref>}} |
|||
| {{yes|VidSch in Dxgkrnl<ref>[https://learn.microsoft.com/en-us/windows-hardware/drivers/display/windows-vista-and-later-display-driver-model-architecture WDDM Architecture]. Microsoft. October 2, 2024.</ref>}} |
|||
| {{yes|VidMm in Dxgkrnl.sys, Dxgmms1.sys, and Dxgmms2.sys<ref>[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.</ref>}} |
|||
| {{yes|[[Remote Desktop Services#Server components|RdpDD.sys / RdpWD.sys]]}} |
|||
|} |
|} |
||
== See also == |
== See also == |
||
*[[Comparison of open |
*[[Comparison of open-source operating systems]] |
||
*[[Comparison of Linux distributions]] |
*[[Comparison of Linux distributions]] |
||
*[[Comparison of BSD operating systems]] |
*[[Comparison of BSD operating systems]] |
||
Line 3,175: | Line 3,430: | ||
*[[Comparison of file systems]] |
*[[Comparison of file systems]] |
||
*[[Comparison of operating systems]] |
*[[Comparison of operating systems]] |
||
*[[Operating system advocacy]] |
|||
*[[MacvsWindows]] |
|||
== Footnotes == |
== Footnotes == |
Latest revision as of 01:25, 31 December 2024
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
[edit]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
[edit]The major contemporary general-purpose kernels are shown in comparison. Only an overview of the technical features is detailed.
Transport protocol support
[edit]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
[edit]In-kernel virtualization
[edit]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
[edit]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 | ? | Yes[19] | ? | No | No | ? | ? |
FreeBSD kernel | No | No | Yes | No | No | Yes[20] | No | No | No | ? | ? |
Solaris kernel | ? | ? | Yes | Yes[21] | ? | Yes[22] | Yes[22] | ? | KSSL | ? | ? |
Windows NT kernel | HTTP.sys | ? | ? | Yes | ? | Yes | Yes | No | ? | ? | ? |
XNU | No | No | Yes | No | No | No | No | No | No | ? | ? |
Binary format support
[edit]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[23] | 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 | ? | ? | ? | ? | 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[24] | 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[25] | No | Yes[26] | No | No | No | No | No | Some[27] | 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
[edit]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 [28] |
Yes | Yes [29] |
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)[30] |
Yes | Yes [28] [31] |
write support? | Yes | Yes [28] |
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 [32] |
Yes [32] |
Yes [32] |
No | Yes [32] |
No | No | No | No | Yes [32] |
No | No | No | No | No | Read only | No | No | No | Yes [32] |
No | No | No | No | No | Yes [33] |
No | No | No | No |
Solaris kernel | ? | ? | No | ? | ? | ? | ? | Yes | ? | ? | ? | Yes | ? | ? | ? | ? | Yes | ? | ? | ? | ? | No | No | ? | ? | ? | Yes | Yes | ? | Yes | No | No | No | No | No | ? | No |
Windows NT kernel | ? | ? | Yes [29] |
? | ? | ? | ? | Yes [34] |
Yes [35] |
Yes [35] |
No | Yes | ? | Yes [29] |
Yes [29] |
No | Yes | ? | ? | ? | ? | No | Yes | ? | ? | ? | Yes | ? | ? | No | No | No | Yes [33] |
No | No | Yes | Yes |
XNU | No | No | Yes | No | No | No | No | Yes [36] |
Yes [36] |
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
[edit]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 |
Supported CPU instruction sets and microarchitectures
[edit]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[37] | No | Yes | ? | Yes | Yes | No | 10.4 and below only[37] | projected to end in 14.x[37] | No | Yes | Yes | No | No | No | No | No | No | No | No | No | No | 12.x and below only[37] | ? | 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[38] | No | 2.6 and below only | Yes | Yes | Yes | Yes | Yes | Yes | Yes | 4.16 and below only[38] | Yes | Yes | Yes | 4.16 and below only[38] | 4.16 and below only[38] | 4.16 and below only[38] | 4.12 and below only | No | No | Yes | Yes | No | 4.16 and below only[38] | 4.16 and below only[38] | 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[39] | Yes | Yes | ? | Yes | Yes | No[39] | Yes | No | No | No | ? | ? | ? | ? | ? | Yes | No[39] | Yes | Yes | No[39] | Yes | No[39] | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
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[40] | 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[41] | ? | ? | ? | ? | ? | ? | Yes[41] | ? | ? | No | Yes[41] | ? | ? | Yes[41] | Yes[41] | ? | Yes[41] | ? | ? | ? | ? | ? | Yes[41] | Yes[41] | ? | ? | ? | ? | ? | Yes[41] | ? | ? | ? | Yes[41] | ? | ? | ? | ? |
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
[edit]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[42][43] | Yes | Yes |
Windows NT kernel | Yes | Yes | Yes | ? | Windows Phone 8.x, Windows 10 Mobile, Windows on ARM | Yes[44] | No[45] | 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
[edit]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[46] | No | No | Yes | No | No | No | No | No | No | No | No | No | Yes[46] | Yes[46] |
Linux kernel | Yes | No | (Longene) | Yes | Yes | No | No | No | No | No | No | No | No | (NDISwrapper) | No |
NetBSD kernel | Yes[47] | No? [3]? | No? [4]? | Yes[47] | Yes | Yes[47] | Yes[47] | Yes[47] | Yes[47] | Yes[47] | Yes[47] | Yes[47] | Yes[47] | Yes[48] | 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
[edit]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
[edit]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
[edit]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[49][50] | Yes[51] | No | Yes[52] | Yes[53] | Yes[54] | Yes[55] | Partial[56] | Yes[57] | Yes[58] | Yes[59] | Yes[60] | Yes[61] | Yes[62] | Yes[63] | Yes[64] | Yes[65] | No | No | No | Yes[66] |
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
[edit]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
[edit]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[67] | audio_system[68] | ? |
Solaris kernel | Sun audio API / OSS API | Yes | ? |
Graphics support
[edit]Kernel name | Framebuffer | display management | GPU scheduler | GPU memory management | in-kernel Remote Desktop |
---|---|---|---|---|---|
Linux | Linux framebuffer (fbdev) / Direct Rendering Manager | Kernel Mode Setting | DRM sched[69] | DMA-BUF | No |
Windows NT kernel | Dxgkrnl.sys | VidPN Manager in Dxgkrnl.sys[70] | VidSch in Dxgkrnl[71] | VidMm in Dxgkrnl.sys, Dxgmms1.sys, and Dxgmms2.sys[72] | RdpDD.sys / RdpWD.sys |
See also
[edit]- Comparison of open-source operating systems
- Comparison of Linux distributions
- Comparison of BSD operating systems
- Comparison of Microsoft Windows versions
- List of operating systems
- Comparison of file systems
- Comparison of operating systems
Footnotes
[edit]- ^ "Kernel Definition". The Linux Information Project. Retrieved 4 March 2015.
- ^ IBM PC Real Time Clock should run in UT
- ^ The Amiga hardware lacked support for memory protection, so the strong isolation goals of the microkernel design could not be achieved.[citation needed]
- ^ "Chapter 14. Security". FreeBSD Handbook.
- ^ FreeBSD General Commands Manual –
- ^ a b c "The Fiasco microkernel - Status". Retrieved January 11, 2013.
- ^ "Linux Kernel FAQ".
- ^ a b Supports ELF since version 3.2.0 "MinixReleases". Minix Wiki. Archived from the original on 31 May 2012. Retrieved 21 May 2012.
- ^ a b 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.
- ^ a b Commit to remove a.out utils from minix; only supports running a.out now. Leca, Antoine. "3fb8cb760c9075fab05682b89b1542d66481ba58". minix.git. Retrieved 21 May 2012.
- ^ "Announcing NetBSD 5.0".
- ^ "Event Tracing". Microsoft Docs. 7 January 2021.
- ^ "IBM PC Real Time Clock should run in UT".
- ^ "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
- ^ "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.
- ^ "Windows 10 Device Guard and Credential Guard Demystified". Ash's Blog. Retrieved 2018-03-28.
- ^ doc/Documentation/networking/tls.txt kernel.org
- ^ "Web security - tempesta-tech/tempesta Wiki". Tempesta Technologies INC. October 31, 2017. Retrieved May 7, 2018.
- ^ Ziehau, Sepherosa (2013-05-22). "socket: Extend SO_REUSEPORT to distribute workload to available sockets". DragonFly Project Source. Retrieved 2024-07-31.
- ^ Lundberg, Johannes (2018-06-06). "Load balance sockets with new SO_REUSEPORT_LB option". Retrieved 2024-07-31.
- ^ "OpenSolaris Project Weaves CIFS Server Into the Solaris Kernel". Archived from the original on 2008-05-22. Retrieved 2009-08-21.
- ^ a b Integrated Load Balancer
- ^ 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.
- ^ The Linux kernel can recognize PE binaries through binfmt_misc and run them using Wine
- ^ to support SunOS 4.x binaries
- ^ including a Linux compatibility option
- ^ The Solaris kernel can PE using Wine
- ^ a b c experimental and dangerous write support
- ^ a b c d additional driver needed
- ^ 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
- ^ write support currently broken
- ^ a b c d e f ReactOS Wiki - File Systems
- ^ a b additional driver needed - see https://github.com/maharmstone/btrfs
- ^ additional driver needed - see http://www.fs-driver.org/
- ^ a b additional driver needed - see http://www.ext2fsd.com Archived 2012-07-23 at the Wayback Machine
- ^ a b Third party module required. Mac OS X Kernel Module available here
- ^ a b c d "FreeBSD supported platforms".
- ^ a b c d e f g 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
- ^ a b c d e NetBSD Projects - Support for MMU-less systems
- ^ "OpenBSD/Vax".
- ^ a b c d e f g h i j Official FreeRTOS Ports, Amazon Web Services, Inc.
- ^ The GMA500 GPU has a PowerVR in it. The 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 fbdev Kconfig
- ^ Intel Atom integrated graphics card for Windows 8 tablet is based on a PowerVR
- ^ Raspberry VideoCore 4 support on Windows Microsoft doesn't have plan for OpenGL on UWP also Broadcom doesn't have plan for DirectX
- ^ a b c Linux emulation in FreeBSD - 2 A look inside...
- ^ a b c d e f g h i j NetBSD Binary Emulation
- ^ "Summer of Code:NDIS on NetBSD".
- ^ "Crc32_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
- ^ "Crc32.c « lib - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
- ^ "Crc32c_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
- ^ "Md4.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
- ^ "Md5.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
- ^ "Sha1_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
- ^ "Sha256_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
- ^ "Sha3_generic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
- ^ "Michael_mic.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
- ^ "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/rmd128.c [dead link ]
- ^ "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/rmd256.c [dead link ]
- ^ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/rmd320.c [dead link ]
- ^ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/crypto/tgr192.c [dead link ]
- ^ "Wp512.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
- ^ "Hmac.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
- ^ "Vmac.c « crypto - kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
- ^ in OSS APIhe_future Improving libossaudio, and the future of OSS in NetBSD. NetBSD Project. April 27, 2020
- ^ audio_system(9) - NetBSD Manual Pages. NetBSD Project
- ^ Deadline Scheduling Policy Being Experimented With For Linux Graphics Drivers. Phoronix. December 30, 2024.
- ^ Introduction to Video Present Networks. Microsoft. December 15, 2021.
- ^ WDDM Architecture. Microsoft. October 2, 2024.
- ^ Video Memory Management and GPU Scheduling. Microsoft. July 3, 2024.