Comparison of open-source operating systems

From Wikipedia, the free encyclopedia
Jump to: navigation, search

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

General information[edit]

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 2.6.32.61 No
FreeBSD BSD; GPL, LGPL software usually included Monolithic with modules C 1:1 BSD, Unix-like 7.3 DragonFly BSD
OpenBSD BSD Monolithic with modules[Note 2] C 1:1 BSD, Unix-like 4.2 MirOS
NetBSD BSD Monolithic with modules C 1:1 BSD, Unix-like 4 OpenBSD
DragonFly BSD BSD Hybrid C BSD, Unix-like No
OpenSolaris, OpenIndiana CDDL Monolithic with modules C 1:1, M:N Unix No
AuroraUX BSD/CDDL Monolithic with modules C, Ada 1:1, M:N Unix No
Darwin, OpenDarwin, PureDarwin APSL Hybrid C, C++[Note 3] 1:1 BSD, Unix, Unix-like, OS X No
MINIX BSD Microkernel C Unix-like No
FreeDOS GPL Monolithic C DOS 1.1
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 that it's not part of the GNU Project) C 1:1 Unix-like 2.4 on Linux-libre kernel (no on Hurd kernel) Linux
ReactOS GPL, LGPL Hybrid C, C++ Windows-like No
L4, Fiasco, Pistachio Some GPL, some BSD Microkernel C++ L4 No
Plan 9 LPL 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
FreeRTOS modified GPL 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
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. ^ OpenBSD contains support for modules on some architectures. They are used only to add third-party features: extracting existing functions into modules in the same manner as FreeBSD is not possible.
  3. ^ For IOKit.

Supported architectures[edit]

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
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 Yes Yes Yes Yes No No No PC98
OpenBSD[2] Yes Yes No No Yes Yes No[Note 1][3] Yes No Yes Yes Yes Yes Yes Yes No SuperH, VAX, m88k
NetBSD[4] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No SuperH, ns32k, VAX
DragonFly BSD[5] Yes Yes No No Yes No No No No No No No No No No No vkernel
OpenSolaris[6] Yes Yes Yes No Yes No No Yes Yes No No No No No No No
AuroraUX[6] Yes Yes Yes No Yes Yes[Note 1] No Yes Yes No Yes[Note 1] Yes No No No No
Darwin, OpenDarwin[7] Yes Yes No No Yes Yes Yes No No No No Yes No Yes No No L4/Darwin
MINIX[8] Yes No No No No No No No No No No No No No No No
FreeDOS Yes No No No No No No No No No No No No No No No
Haiku Yes Yes No No No No No No No No No No[Note 1][9] No No No No
KolibriOS Yes No No No Yes 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
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[10][11] lguest, vx32
AROS Yes No No No Yes Yes No No No No No No 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 No 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
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 e f g 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[edit]

General[edit]

Name ATA SATA SCSI 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 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 Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes
OpenBSD Yes Yes Yes Yes Yes No Yes Yes No No No No No Yes[17] 2d only[17] 2d only[18] Yes Yes
NetBSD Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes
DragonFly BSD Yes Yes Yes Yes Yes No No No No No Yes
OpenSolaris Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes No No Yes V4L2
AuroraUX Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes No No Yes
Darwin, OpenDarwin Yes Yes Yes Yes Yes No No No No No
MINIX No No No No No
FreeDOS Yes Yes Yes No[19] No[19] No Yes No No No No No No No No Yes No
Haiku Yes Yes Yes No No No No No Yes
KolibriOS Yes Yes No No No 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[20] Yes[20] No No Yes No No No No No Yes
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 No No
E/OS Yes Yes Yes No[6] Yes Yes Yes No No No No No No Yes Yes
Name ATA SATA SCSI 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[edit]

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
OpenSolaris Yes Yes Yes Yes Yes No No
AuroraUX Yes Yes Yes Yes Yes No No
Darwin, OpenDarwin Yes
MINIX Yes Yes
FreeDOS Yes Yes Yes
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[7] No No
Name Networking support NE2000/RTL8029 RTL8139 Gigabit Ethernet 10 Gigabit Ethernet Wireless LAN Bluetooth IrDA

Network technologies[edit]

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, IPFilter, PF Yes Yes Yes Yes
OpenSolaris IPFilter Yes Yes Yes Yes Yes Yes Yes[Note 2] Yes Yes
AuroraUX IPFilter Yes Yes Yes Yes Yes Yes Yes Yes
Darwin, OpenDarwin IPFW Yes Yes Yes Yes
MINIX Yes Yes
FreeDOS Yes Yes Yes Yes Yes Yes
Haiku None 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 No No No No No 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[edit]

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[29] 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 Yes Yes Yes[Note 3] Yes Yes[Note 3] Yes Yes Yes Yes PUFFS, LFS, EFS
OpenBSD Yes Yes[Note 3] Yes No No Yes No No No No No Yes Yes Yes Yes Yes No AFS
DragonFly BSD Yes Yes[Note 3] Yes Yes Yes Yes No HAMMER, nullfs
OpenSolaris Yes Yes [Note 2][Note 7] No No No No Yes No No No No Yes Yes Yes Yes Yes Yes CIFS (native), QFS
AuroraUX Yes Yes [Note 2][Note 7] Yes Yes No No Yes No No No No Yes Yes Yes Yes Yes Yes CIFS (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
Haiku Yes Yes [Note 2] Yes [Note 8] Yes [Note 8] Yes No[Note 9]
KolibriOS Yes Yes[Note 3] Yes[Note 3] Yes[Note 3] Yes Yes
MenuetOS Yes
GNU Yes Yes Yes[Note 10] Yes[Note 11] Yes Yes Yes
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 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
eCos Yes Yes[Note 3] Yes MMFS, ROMfs, JFFS2, YAFFS
RTEMS Yes Yes Yes TarFS, TFTP FS, IMFS, miniIMFS
HelenOS Yes No Yes[Note 12] No No No No No No No Yes No Yes No No No Yes No locfs, exFAT
E/OS Yes No Yes No No No No No No No Yes Yes[Note 13] Yes No Yes Yes Yes No
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 g 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 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].
  7. ^ a b OpenSolaris also has an in-kernel, native CIFS server built directly on the ZFS DMU.
  8. ^ a b Ext2/3 read and write support for Haiku (jvff's blog).
  9. ^ The GSoC 2009 project assignment was never completed (Obaro Ogbo's blog).
  10. ^ Ext3/4 is not supported on Hurd kernel for now
  11. ^ UFS support is dropped on Hurd kernel for now
  12. ^ Read only.
  13. ^ Default in series 028.

Supported file system features[edit]

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
DragonFly BSD Yes Yes Unix Yes HAMMER, Snapshots, Checksumming, Deduplication
OpenSolaris Yes Yes Unix, ACL, MAC Yes Solaris Volume Manager, ZFS, snapshots, transparent data repair
AuroraUX Yes Yes Unix, ACL, MAC Solaris Volume Manager, ZFS, snapshots, transparent data repair
Darwin, OpenDarwin Yes Unix, ACL Yes
MINIX Unix
FreeDOS No
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[edit]

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 IPFW, PF
Darwin SEDarwin, TrustedBSD jail IPFW
OpenBSD W^X, ProPolice/SSP[Note 6] PF
OpenSolaris TrustedBSD Solaris Containers KVM[43] IPFilter RBAC[44]
AuroraUX TrustedBSD Solaris Containers IPFilter
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 uttilities),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[edit]

References[edit]

  1. ^ "Supported Platforms". Freebsd.org. Retrieved 2011-10-26. 
  2. ^ "OpenBSD Platforms". OpenBSD. 9 May 2006. Retrieved 2006-06-13. 
  3. ^ "OpenBSD/macppc". OpenBSD. 23 May 2006. Retrieved 2006-06-13. 
  4. ^ "Hardware Supported by NetBSD". Netbsd.org. Retrieved 2011-10-26. 
  5. ^ DragonFly Frequently Asked Questions[dead link]
  6. ^ a b "OpenSolaris FAQ: Does the OpenSolaris project include source code for both the SPARC and x64/x86 architectures?". Opensolaris.org. 26 October 2009. Retrieved 2011-10-26. 
  7. ^ "OpenDarwin FAQ: Compatibility issues". Web.archive.org. 15 April 2007. Retrieved 2011-10-26. 
  8. ^ "MINIX 3 FAQ". MINIX3.org. 6 October 2011. Retrieved 2011-10-26. 
  9. ^ "Haiku ARM port progress". 18 August 2009. 
  10. ^ "The Various Ports". Plan9.bell-labs.com. Retrieved 2011-10-26. 
  11. ^ "Other hardware (Plan 9 wiki)". Plan9.bell-labs.com. Retrieved 2011-10-26. 
  12. ^ a b "Manual Pages: radeon(4)". Openbsd.org. Retrieved 2011-10-26. 
  13. ^ "Manual Pages: nv(4)". Openbsd.org. Retrieved 2011-10-26. 
  14. ^ a b USB with DOS – Limited support for some devices provided by third-party driver.
  15. ^ a b [4] – Very limited support.
  16. ^ [5]
  17. ^ "KVM". Joyent. Retrieved 25 August 2012. 
  18. ^ "RBAC". Oracle. Retrieved 28 September 2013. 

External links[edit]

Emulator images[edit]

Software and packages[edit]