Comparison of open-source operating systems

Print Print
Reading time 18:33

These tables compare free software / open-source operating systems. Where not all of the versions support a feature, the first version which supports it is listed.

General information

Name License Kernel type Kernel programming language Kernel thread support OS family Oldest non-EOL version[Note 1] Forks
Linux GPL/LGPL Monolithic with modules C 1:1 Unix-like 4.4 elks
FreeBSD BSD; GPL, LGPL software usually included Monolithic with modules C 1:1 BSD, Unix-like 11 DragonFly BSD
OpenBSD BSD Monolithic C 1:1 BSD, Unix-like 6.4 MirOS
NetBSD BSD Monolithic with modules C 1:1 BSD, Unix-like 7.0 OpenBSD
DragonFly BSD BSD Hybrid C 1:1 BSD, Unix-like No
OpenSolaris, illumos CDDL Monolithic with modules C 1:1, M:N Unix No
Darwin, OpenDarwin APSL Hybrid C, C++[Note 2] 1:1 BSD, Unix, Unix-like, OS X No
MINIX BSD Microkernel C Unix-like No
RedoxOS MIT Microkernel Rust Unix-like No
FreeRTOS MIT RTOS C RTOS No
FreeDOS GPL Monolithic C DOS 1.1
Genode AGPL Microkernel C++ 1:1 Genode
Haiku MIT Hybrid C, C++ BeOS No TiltOS
House BSD Haskell own/original No
KolibriOS GPL Monolithic ASM MenuetOS No
MenuetOS Menuet 64, commerce excluded Monolithic ASM own/original No KolibriOS
GNU GPL Multiserver Microkernel (Hurd kernel) or Monolithic (Linux-libre kernel, fork of Linux kernel, and other kernels which are not part of the GNU Project) C 1:1 Unix-like 2.4 on Linux-libre kernel (not on Hurd kernel) Linux
ReactOS GPL, LGPL Hybrid C, C++ Windows-like No
RISC OS Apache 2.0 Monolithic (with co-operative multitaslking) ARM assembly No RISC OS No RISC OS 6
L4, Fiasco, Pistachio Some GPL, some BSD Microkernel C++ L4 No
Plan 9 MIT Hybrid C 1:1, 1:M Cothread style. own, Unix informed No Inferno, Plan B
AROS APL Exokernel C AmigaOS No
Syllable GPL Monolithic with modules C, C++ 1:1 Unix-like, BeOS, AmigaOS, POSIX No
Inferno GPL, LGPL; MIT C Plan 9 No OzInferno
NuttX BSD RTOS C RTOS No
eCos modified GPL, eCos RTOS C, C++ RTOS No
RTEMS modified GPL, BSD, Stanford RTOS C and ASM with native support for other languages including C++ and Ada POSIX, RTEID/ORKID, uITRON RTOS 4.7.1
HelenOS BSD Microkernel C M:N own/original No
E/OS GPLv2 Monolithic ASM, C 1:1 BeOS, Unix-like No
TempleOS public domain Monolithic HolyC, C, C++ Commodore 64-like No
Name License Kernel type Kernel programming language Kernel thread support OS family Oldest non-EOL version Forks
  1. ^ No for single line development model.
  2. ^ For I/O Kit.

Supported architectures

Name x86, i386, IA-32 x86 SMP Xen IA-64 x86-64 PowerPC PowerPC SMP SPARC32 SPARC SMP Alpha MIPS ARM XScale M68k PA-RISC OpenRISC others hosted mode
Linux Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes FR-V, Cell, ETRAX CRIS, M32R, Xtensa, h8, s390, SuperH UML, coLinux, MkLinux, Itanium Linux-on-Linux, wombat
FreeBSD[1] Yes Yes Yes Yes Yes Yes Yes No Yes No Yes Yes Yes No No No PC98
OpenBSD[2] Yes Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes No Yes No SuperH ]
NetBSD[3] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes SuperH, ns32k, VAX, hppa, M68010, mipseb, mipsel, sh3eb, sh3el, sparc64
DragonFly BSD[4] No No No No Yes No No No No No No No No No No No vkernel
OpenSolaris[5]illumos Yes Yes Yes No Yes No No Yes Yes No No No No No No No
Darwin, OpenDarwin[6] Yes Yes No No Yes Yes Yes No No No No Yes No Yes No No L4/Darwin
MINIX[7] Yes No No No No No No No No No No Yes No No No No
FreeDOS Yes No No No No No No No No No No No No No No No
Genode Yes Yes Yes No No No No No No No No Yes No No No No RISC-V Linux
Haiku Yes Yes No No Yes No No No No No No No[Note 1][8] No No No No
KolibriOS Yes No No No No No No No No No No No No No No No
MenuetOS Yes No No No Yes No No No No No No No No No No No
GNU Yes Yes[Note 2] Yes[Note 2] Yes[Note 2] Yes[Note 2] Yes[Note 2] Yes[Note 2] Yes[Note 2] Yes[Note 2] Yes[Note 2] Yes[Note 2] Yes[Note 2] Yes[Note 2] Yes[Note 2] Yes[Note 2] Yes[Note 2] FR-V, Cell, ETRAX CRIS, M32R, Xtensa, h8, s390, SuperH[Note 2] UML, Itanium Linux-on-Linux[Note 3]
ReactOS Yes Yes No[Note 1] No Yes No[Note 1] No[Note 1] No No No No Yes No No No No
RISC OS No No No No No No No No No No No Yes No No No No
L4, Pistachio Yes No No Yes[Note 4] Yes[Note 4] Yes[Note 4] No No No Yes[Note 4] Yes[Note 4] Yes No No No No
Plan 9 Yes Yes Yes No Yes Yes Yes Yes[Note 5] Yes[Note 5] Yes Yes Yes Yes Yes[Note 5] No No See[9][10] lguest, vx32
AROS Yes No No No Yes Yes No No No No No Yes No Yes No No i386-linux, i386-freebsd
Syllable Yes Yes No No No No No No No No No No No No No No
Inferno Yes ? No No ? Yes ? Yes ? No Yes Yes Yes Yes[Note 5] No No AMD Am29000,[Note 5]Texas Instruments OMAP Microsoft Windows, Linux, FreeBSD, Plan 9, OS X, Solaris, Irix, UnixWare,[Note 5]HP-UX,[Note 5]Internet Explorer
FreeRTOS Yes No No No No No No No No No Yes Yes No No No Yes AVR, PIC, MSP430, HCS12, 8052, MicroBlaze, Cortex-M3, H8S
eCos Yes Yes No No No Yes No Yes No No Yes Yes Yes Yes No Yes CalmRISC, ColdFire, FR-V, h8, Matsushita AM3x, Nios II, NEC V8xx, SuperH Microsoft Windows, Linux
RTEMS Yes No Xen No No Yes No Yes No No Yes Yes Yes Yes Yes Yes Blackfin, Nios II, Coldfire, Texas Instruments C3x/C4x, SuperH, H8S Linux, Solaris, Cygwin, FreeBSD, multiple CPU simulators
HelenOS Yes Yes No Yes Yes Yes No Yes Yes No Yes Yes No No No No
E/OS Yes No No No No No No No No No No Yes No No No No
TempleOS No No No No Yes No No No No No No No No No No No QEMU, VirtualBox, etc.
Name x86, i386, IA-32 x86 SMP Xen IA-64 x86-64 PowerPC PowerPC SMP SPARC32 SPARC SMP Alpha MIPS ARM XScale M68k PA-RISC OpenRISC other hosted mode
  1. ^ a b c d work in progress
  2. ^ a b c d e f g h i j k l m n o p with Linux-libre kernel and others, but not on Hurd kernel
  3. ^ with Linux-libre and Linux kernel
  4. ^ a b c d e Pistachio supports AMD64; Fiasco only in the CVS version.
  5. ^ a b c d e f g Support is outdated or unmaintained.

Supported hardware

General

Name ATA SATA SCSI USB 3.0 USB 2.0 USB 1.1 FireWire PCMCIA/PC card AGP Nvidia official driver IA-32 Nvidia official driver IA-64 Nvidia official driver AMD64 ATI official driver x86 ATI official driver x86-64 ATI r200 free software driver ATI r300 free software driver Nvidia free software driver Audio TV tuner, video editing, or webcam
Linux Yes Yes Yes Yes 2.6.31+[11] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes,nv(2d only), nouveau(3d with mesa) OSS, ALSA V4L,V4L2
FreeBSD Yes Yes Yes Yes 8.2+ Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes
OpenBSD Yes Yes Yes Yes 5.7+ Yes Yes No Yes Yes No No No No No Yes[12] 2d only[12] 2d only[13] Yes Yes
NetBSD Yes Yes Yes No 7.1[14] Yes Yes Yes Yes Yes No No No No No Yes Yes
DragonFly BSD Yes Yes Yes Yes[15] Yes Yes Yes Yes Yes No No No No No Yes
OpenSolaris, illumos Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes No No Yes V4L2
Darwin, OpenDarwin Yes Yes Yes Yes Yes No No No No No
MINIX No No No No No
FreeDOS Yes Yes Yes No No[16] No[16] No Yes No No No No No No No No Yes No
Genode Yes Yes No Yes Yes Yes No No No No No No No No No No No Yes No
Haiku Yes Yes Yes Yes Yes Yes No Yes No No No No No Yes Yes Yes Yes Yes
KolibriOS Yes Yes No Yes Yes No No No No No No No Yes No
MenuetOS Yes No No Yes Yes No No No No No No No Yes Yes
GNU Yes Yes[Note 1] Yes[Note 1] Yes[Note 1] Yes[Note 1] Yes[Note 1] Yes[Note 1] Yes No[Note 2] No[Note 2] No[Note 2] No[Note 2] No[Note 2] No[Note 3] No[Note 3] Yes[Note 1] Yes[Note 1] Yes[Note 1]
ReactOS Yes Yes Yes Yes[17] Yes[17] No No Yes No No No No No Yes
RISC OS ? Yes Yes ? Yes Yes No No No No No No No No No No No Yes TV tuner[18]
L4, Fiasco, Pistachio No No No No No
Plan 9 Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes
AROS Yes Yes No No No own No 2D only
Syllable Yes Yes Yes Yes Yes No No No No No Yes
Inferno Yes No Yes No No No Yes Yes No No No No No Yes
FreeRTOS No No No No No
eCos Yes Yes Yes Yes No No No No No
RTEMS Yes Yes No No No No No
HelenOS Yes Yes No No Yes No No No No No No No No No No No Yes No
E/OS Yes Yes Yes No[5] Yes Yes Yes No No No No No No Yes Yes
Name ATA SATA SCSI USB 3.0 USB 2.0 USB 1.1 FireWire PCMCIA/PC card AGP Nvidia official driver IA-32 Nvidia official driver IA-64 Nvidia official driver AMD64 ATI official driver x86 ATI official driver x86-64 ATI r200 free software driver ATI r300 free software driver Nvidia free software driver Audio TV tuner, video editing, or webcam
  1. ^ a b c d e f g h i is not supported on Hurd kernel for now
  2. ^ a b c d e Proprietary Software is not officially supported on GNU system
  3. ^ a b Proprietary Firmware blob is not officially supported on GNU system

Networking

Name Networking support NE2000/RTL8029 RTL8139 Gigabit Ethernet 10 Gigabit Ethernet Wireless LAN Bluetooth IrDA
Linux Yes Yes Yes Yes Yes Yes Yes Yes
FreeBSD Yes Yes Yes Yes Yes Yes Yes Yes
OpenBSD Yes Yes Yes Yes Yes Yes Yes No
NetBSD Yes Yes Yes Yes Yes Yes Yes Yes
DragonFly BSD Yes Yes Yes Yes Yes Yes
OpenSolaris, illumos Yes Yes Yes Yes Yes No No
Darwin, OpenDarwin Yes
MINIX Yes Yes
FreeDOS Yes Yes Yes
Genode Yes No No Yes No Yes No No
Haiku Yes Yes Yes Yes Yes
KolibriOS Yes Yes Yes No Yes
MenuetOS Yes Yes No No
GNU Yes
ReactOS Yes Yes Yes Yes Yes Yes No No
L4, Fiasco, Pistachio
Plan 9 Yes Yes Yes Yes Yes Yes No No
AROS Yes Yes
Syllable Yes Yes Yes Yes
Inferno Yes Yes Yes Yes Yes No No
FreeRTOS
eCos Yes Yes Yes
RTEMS Yes Yes Yes Yes No No No No
HelenOS Yes Yes Yes Yes No No No No
E/OS Yes Yes Yes Yes Yes No[6] No No
Name Networking support NE2000/RTL8029 RTL8139 Gigabit Ethernet 10 Gigabit Ethernet Wireless LAN Bluetooth IrDA

Network technologies

Name Firewall TCP/IP IPv6 IPX PPP PPPoE DHCP bridge TUN/TAP ssh OpenVPN
Linux netfilter iptables/nftables Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
FreeBSD IPFW2, IPFilter, PF Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
OpenBSD PF Yes Yes No Yes Yes Yes Yes Yes Yes Yes
NetBSD IPFilter, NPF, PF Yes Yes Yes Yes[Note 1] Yes Yes Yes Yes Yes
DragonFly BSD IPFW2, PF Yes Yes No Yes Yes Yes Yes Yes Yes
OpenSolaris, illumos IPFilter Yes Yes Yes Yes Yes Yes Yes[Note 2] Yes Yes
Darwin, OpenDarwin IPFW Yes Yes Yes Yes
MINIX Yes Yes
FreeDOS Yes Yes Yes Yes Yes Yes
Genode software IP routing Yes No No No Yes Yes
Haiku None Yes Yes Yes Yes Yes
KolibriOS None Yes No Yes No Yes
MenuetOS None Yes No No No
GNU netfilter iptables/nftables (with Linux-libre and Linux kernel)[Note 3] Yes Yes[Note 4] Yes[Note 5] Yes
ReactOS Yes Yes
L4, Fiasco, Pistachio
Plan 9 ipmux Yes Yes No Yes Yes Yes Yes No Yes No
AROS Yes
Syllable Yes Yes Yes Yes Yes
Inferno ipmux Yes Yes No Yes Yes Yes Yes No No No
FreeRTOS
eCos Yes Yes Yes Yes Yes
RTEMS Yes No Yes Yes Yes Yes Yes
HelenOS Yes Yes No No No Yes No No No No
E/OS Yes Yes Yes Yes Yes Yes Yes Yes Yes No
Name Firewall TCP/IP IPv6 IPX PPP PPPoE DHCP bridge TUN/TAP ssh OpenVPN

Supported file systems

Name FAT16, dosfs; FAT32, vfat NTFS Ext2 Ext3 XFS ReiserFS UFS UFS2 HFS HFS+ MINIXfs BFS ISO 9660 UDF NFS SMBFS RAM disk, tmpfs ZFS Other special file systems
Linux Yes Yes[Note 1][Note 2] Yes Yes Yes Yes Yes[Note 3] Yes[19] Yes Yes[Note 4] Yes Yes[Note 3] Yes Yes Yes Yes Yes Yes 9P,[Note 5]FUSE,[Note 5]sysfs,[Note 5]configfs,[Note 5]Reiser4,[Note 5][Note 6]JFS, Btrfs, UnionFS, Ext4
FreeBSD Yes Yes[Note 3][Note 2] Yes Yes[Note 3] Yes[Note 1] Yes[Note 3] Yes Yes No No No No Yes Yes Yes Yes Yes Yes FUSE, nullfs, UnionFS
NetBSD Yes Yes[Note 3][Note 2] Yes No No Yes Yes Yes[Note 3] No No Yes Yes[Note 3] Yes Yes Yes Yes PUFFS, LFS, EFS
OpenBSD Yes Yes[Note 3] Yes No No Yes Yes No No No No Yes Yes Yes Yes Yes No AFS
DragonFly BSD Yes Yes[Note 3] Yes No No No Yes No No No No No Yes Yes[Note 7] Yes Yes Yes No HAMMER, nullfs, PUFFS
OpenSolaris, illumos Yes Yes [Note 2][Note 8] No No No No Yes No No No No Yes Yes Yes Yes Yes Yes SMB (native), QFS
Darwin, OpenDarwin Yes Yes[Note 3][Note 2] Yes Yes Yes Yes Yes Yes Yes
MINIX Yes No Yes Yes No
FreeDOS Yes No No No No No No No No Yes Yes
Genode Yes No Yes No No No No No No No No No Yes No No No Yes No Extensible VFS layer
Haiku Yes Yes [Note 2] Yes [Note 9] Yes [Note 9] Yes Yes Yes Yes No[Note 10]
KolibriOS Yes Yes[Note 3] Yes[Note 3] Yes[Note 3] Yes[Note 3] Yes Yes
MenuetOS Yes
GNU Yes Yes Yes[Note 11] Yes[Note 12] Yes Yes Yes No
ReactOS Yes Yes No No No No No No
L4, Fiasco, Pistachio Yes No
Plan 9 Yes Yes No No No No No No No No No Yes No Yes Yes Yes No Fossil, Venti, most system services
AROS Yes Yes SFS, AFFS
Syllable Yes Yes[Note 3] Yes[Note 3] Yes[Note 3] Yes Yes Yes AFS
Inferno Yes No No No No No No No No No No No Yes No No No Yes kfs, most system services
FreeRTOS No
eCos Yes Yes[Note 3] Yes MMFS, ROMfs, JFFS2, YAFFS
RTEMS Yes Yes Yes TarFS, TFTP FS, IMFS, miniIMFS
HelenOS Yes No Yes Yes No No No No No No Yes No Yes Yes No No Yes locfs, exFAT
E/OS Yes No Yes No No No No No No No Yes Yes[Note 13] Yes No Yes Yes Yes
Name FAT16, dosfs; FAT32, vfat NTFS Ext2 Ext3 XFS ReiserFS UFS UFS2 HFS HFS+ MINIXfs BFS ISO 9660 UDF NFS SMBFS RAM disk, tmpfs ZFS Other special file systems
  1. ^ a b Experimental.
  2. ^ a b c d e f Read/Write support via NTFS-3G.
  3. ^ a b c d e f g h i j k l m n o p q r s Read only kernel driver.
  4. ^ read/write access without journaling; HFS+ with journal either be opened read-only or be written with journal ignored (potentially corrupting the file system).
  5. ^ a b c d e 2.6 and later.
  6. ^ With patch [1] Archived 15 April 2012 at the Wayback Machine.
  7. ^ Read only.
  8. ^ OpenSolaris also has an in-kernel, native SMB server built directly on the ZFS DMU.
  9. ^ a b Ext2/3 read and write support for Haiku (jvff's blog).
  10. ^ The GSoC 2009 project assignment was never completed (Obaro Ogbo's blog Archived 17 June 2012 at the Wayback Machine).
  11. ^ Ext3/4 is not supported on Hurd kernel for now
  12. ^ UFS support is dropped on Hurd kernel for now
  13. ^ Default in series 028.

Supported file system features

Name RAID quota Resource access control encryption other special file system features
Linux Yes Yes Unix, ACL, MAC Yes LVM, EVMS
FreeBSD Yes Yes Unix, ACL, MAC Yes GEOM, snapshots, background fsck, user-mountable file systems
OpenBSD Yes Yes Unix Yes
NetBSD Yes Yes Unix, Veriexec Yes Snapshots, Journaling
DragonFly BSD Yes Yes Unix Yes HAMMER, Snapshots, Checksumming, Deduplication
OpenSolaris, illumos Yes Yes Unix, ACL, MAC Yes Solaris Volume Manager, ZFS, snapshots, transparent data repair
Darwin, OpenDarwin Yes Unix, ACL Yes
MINIX Unix
FreeDOS No
Genode No No No No Per-process virtual file-system layer
KolibriOS No
MenuetOS No
GNU Unix
ReactOS No
L4, Fiasco, Pistachio
Plan 9 No No Unix-like, no root No snapshots, venti archival storage, per-process namespace, user-mountable file systems
AROS
Syllable Unix 64-bit, journaling, extended file attributes
Inferno No No Unix-like, no root No per-process namespace, user-mountable file systems
FreeRTOS
eCos
RTEMS
HelenOS No No No No No
E/OS Yes Yes Unix Yes No
Name RAID quota Resource access control encryption other special file system features

Security features

Operating system Mandatory access control Software executable space protection Operating system-level virtualization Virtualisation Userspace protection Others
Linux SELinux, AppArmor[Note 1] Exec Shield,[Note 1]PaX[Note 1] Chroot, namespace and cgroups,[Note 2]Linux-VServer,[Note 1]OpenVZ[Note 1] KVM IPFilter, Iptables grsecurity,[Note 1]RSBAC[Note 1]
FreeBSD SeBSD,[Note 3][Note 4]TrustedBSD ProPolice/SSP[Note 5] jail bhyve[20] IPFW, PF, IPFilter
Darwin SEDarwin, TrustedBSD jail IPFW
OpenBSD W^X, ProPolice/SSP[Note 6] vmm[21] PF
OpenSolaris, illumos TrustedBSD Solaris Containers KVM[22] IPFilter RBAC[23]
Plan 9 No No per-process namespaces
Inferno No No per-process namespaces
  1. ^ a b c d e f g available as a patch(not integrated into the linux kernel or the userland utilities), see the security features of the Linux distribution for more details
  2. ^ LXC is a front-end to this; also see lwn.net
  3. ^ not integrated into the operating system
  4. ^ see here [2] for more details
  5. ^ ProPolice/Stack-Smashing Protector has been enabled in base system since FreeBSD 8.0 release.
  6. ^ see here [3] for more details

See also

References

  1. ^ "Supported Platforms". Freebsd.org. Retrieved 26 October 2011.
  2. ^ "OpenBSD: Platforms". OpenBSD. 9 May 2006. Retrieved 21 October 2019.
  3. ^ "Platforms Supported by NetBSD". NetBSD.org. Retrieved 9 December 2016.
  4. ^ DragonFly Frequently Asked Questions Archived 6 October 2006 at the Wayback Machine
  5. ^ "OpenSolaris FAQ: Does the OpenSolaris project include source code for both the SPARC and x64/x86 architectures?". Opensolaris.org. 26 October 2009. Archived from the original on 27 September 2009. Retrieved 26 October 2011.
  6. ^ "OpenDarwin FAQ: Compatibility issues". 15 April 2007. Archived from the original on 18 December 2007. Retrieved 26 October 2011.
  7. ^ "MINIX 3 Hardware Requirements". MINIX3.org. Retrieved 6 December 2014.
  8. ^ "Haiku ARM port progress". 18 August 2009. Archived from the original on 12 May 2012. Retrieved 13 April 2012.
  9. ^ "The Various Ports". Plan9.bell-labs.com. Archived from the original on 14 September 2008. Retrieved 26 October 2011.
  10. ^ "Other hardware (Plan 9 wiki)". Plan9.bell-labs.com. Archived from the original on 29 December 2014. Retrieved 26 October 2011.
  11. ^ "First Driver for USB 3.0". 9 June 2009.
  12. ^ a b "Manual Pages: radeon(4)". OpenBSD.org. Retrieved 4 February 2018.
  13. ^ "Manual Pages: nv(4)". OpenBSD.org. Retrieved 4 February 2018.
  14. ^ "Will NetBSD 7.0 support USB 3.0?". Reddit.org. 19 August 2015.
  15. ^ "DragonFly Release 3.2".
  16. ^ a b USB with DOS Archived 22 May 2008 at the Wayback Machine – Limited support for some devices provided by third-party driver.
  17. ^ a b [4] – Very limited support.
  18. ^ "TV Tuner information". www.cconcepts.co.uk. Retrieved 27 July 2019.
  19. ^ "Archived copy". Archived from the original on 3 July 2008. Retrieved 28 August 2008.CS1 maint: archived copy as title (link)
  20. ^ "bhyve".
  21. ^ "vmm(4)". OpenBSD. Retrieved 14 October 2017.
  22. ^ "KVM". Joyent. Retrieved 25 August 2012.
  23. ^ "RBAC". Oracle. Retrieved 28 September 2013.

External links

By: Wikipedia.org
Edited: 2021-06-18 15:09:20
Source: Wikipedia.org