Jump to content

Comparison of open-source operating systems

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Jiri Svoboda (talk | contribs) at 10:57, 4 September 2009 (Support for Xen had been removed in HelenOS 0.4.0). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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

General information

License Kernel type Kernel programming language Kernel Thread support OS family: Oldest non-EOL version[1] Forks
Linux GPL/LGPL Monolithic with modules C 1:1 Unix-like 2.4 µClinux
FreeBSD BSD (Typically, GPL/LGPL software included) Monolithic with modules C 1:1 BSD, Unix-like 6.3 DragonFly BSD
OpenBSD BSD Monolithic with modules[2] C 1:1 BSD, Unix-like 4.2 MirOS
NetBSD BSD Monolithic with modules C 1:1, M:N BSD, Unix-like 2 OpenBSD
DragonFly BSD BSD Hybrid C BSD, Unix-like No
OpenSolaris 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++[3] 1:1 BSD, Unix, Unix-like, Mac OS X No
Minix BSD Microkernel C Unix-like No
FreeDOS GPL Monolithic C MSDOS, PCDOS 1.0
NewOS BSD Monolithic with modules C, C++ own[4] No Haiku
Haiku MIT Monolithic with modules C, C++ BeOS No
KolibriOS GPL Monolithic ASM own/original No
MyOS Free CreativeCommons hybrid kernel ASM and C own/original No
MenuetOS Menuet 64 Monolithic ASM own/original No KolibriOS
GNU Mach GNU Hurd GPL Microkernel Unix-like No
ReactOS GPL/LGPL Hybrid ASM, C Windows-like No
L4 Fiasco Pistachio GPL Microkernel C++ L4 No
Plan 9 LPL Monolithic C 1:1, 1:M Cothread style. own, unix inspired No Inferno, Plan B
AROS APL Microkernel 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
pico]OS BSD RTOS C RTOS No
RTEMS modified GPL, BSD 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
Visopsys GPL C own No
License Kernel type Kernel programming language Kernel Thread support OS family: Oldest non-EOL version[1] Forks

^ No for single line development model.
^ 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.
^ For IOKit.
^ Concept based on BeOS, Solaris, FreeBSD and Windows NT.

Supported architectures

x86 / i386 / IA-32 x86 SMP Xen IA-64 x86-64 PowerPC PowerPC SMP SPARC32 SPARC SMP Alpha MIPS ARM XScale M68k PA-RISC other hosted mode
Linux 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, L4Linux, MkLinux, Itanium Linux-on-Linux, wombat
FreeBSD[1] Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes No No PC98
OpenBSD[2] Yes Yes No No Yes Yes NoTemplate:Fn[3] Yes No Yes Yes Yes Yes Yes Yes SuperH, VAX, m88k
NetBSD[4] Yes Yes Yes NoTemplate:Fn Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes SuperH, ns32k, VAX
DragonFly BSD[5] Yes Yes No No 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
AuroraUX[6] Yes Yes Yes No Yes YesTemplate:Fn No Yes Yes No YesTemplate:Fn Yes No No No
Darwin OpenDarwin[7] Yes Yes No No Yes Yes Yes No No No No Yes No Yes No L4/Darwin
Minix[8] Yes 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
NewOS Yes Yes No No No Yes No No No No No No No No No
Haiku Yes Yes No No No No No No No No No No No No No
KolibriOS Yes No No No Yes 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
GNU Mach GNU Hurd Yes No No No No No No No No No No No No No Yes
ReactOS Yes No No No No No No No No No No No No No No
L4 Fiasco Pistachio Yes No No YesTemplate:Fn YesTemplate:Fn YesTemplate:Fn No No No YesTemplate:Fn YesTemplate:Fn Yes No No No Fiasco-UX
Plan 9 Yes Yes Yes No Yes Yes Yes YesTemplate:Fn YesTemplate:Fn Yes Yes Yes Yes YesTemplate:Fn No See [3] and [4]
AROS Yes No No No Yes Yes No No No No No No No Yes No i386-linux, i386-freebsd
Syllable Yes Yes No No No No No No No No No No No No No
Inferno Yes ? No No ? Yes ? Yes ? No Yes Yes Yes YesTemplate:Fn No AMD Am29000Template:Fn, Texas Instruments OMAP Microsoft Windows, Linux, FreeBSD, Plan 9, Mac OS X, Solaris, Irix, UnixwareTemplate:Fn, HP-UXTemplate:Fn, Internet Explorer
FreeRTOS Yes No No No No No No No No No Yes Yes No No No 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 CalmRISC, ColdFire, FR-V, h8, Matsushita AM3x, Nios II, NEC V8xx, SuperH Microsoft Windows, Linux
pico]OS Yes No No No No Yes No No No No No Yes No No No 6502, AVR 80x86 DOS, 80x86 WIN32
RTEMS Yes No Xen No No Yes No Yes No] No Yes Yes Yes Yes Yes Blackfin, Nios II, Coldfire, Texas Instruments C3x/C4x, SuperH, H8S Linux, Solaris, Cygwin, FreeBSD plus multiple CPU simulators
HelenOS Yes Yes No Yes Yes Yes No No Yes No Yes Yes No No No
E/OS Yes No No No No No No No No No No Yes No No No
Visopsys Yes No No No No No No No No No No No No No No
x86 / i386 / IA-32 x86 SMP Xen IA-64 x86-64 PowerPC PowerPC SMP SPARC32 SPARC SMP Alpha MIPS ARM XScale M68k PA-RISC other hosted mode

Template:Fnb Work in progress.
Template:Fnb Pistachio supports AMD64; Fiasco only in the CVS version.
Template:Fnb Support is outdated or unmaintained.

Supported hardware

General

ATA SATA SCSI USB 2.0 USB 1.1 FireWire PCMCIA/PC card AGP Nvidia official driver IA32 Nvidia official driver IA64 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?) OSS,ALSA V4L,V4L2
FreeBSD Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes (2d only) Yes Yes
OpenBSD Yes Yes Yes Yes Yes No Yes Yes No No No No No Yes[9] 2d only[10] 2d only[11] 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 Yes Yes No No Yes
AuroraUX Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes
Darwin and OpenDarwin Yes Yes Yes Yes Yes No No No No No
Minix No No No No No
FreeDOS Yes Yes Yes No[12] No[13] No Yes No No No No No No No No Yes No
NewOS No No No No 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 No No No No No No No No No No
GNU Mach and GNU Hurd Yes No No No No No No No No No No
ReactOS Yes[14] No[15] No Yes[16] Yes No No No No No
L4, Fiasco and Pistachio No No No No No
Plan 9 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
pico]OS No No No No No
RTEMS Yes Yes No No No No No
HelenOS No No No No No
E/OS Yes Yes Yes No[5] Yes Yes Yes No No No No No No Yes Yes
Visopsys Yes No No No No No No No No No No No No No No
ATA SATA SCSI USB 2.0 USB 1.1 FireWire PCMCIA/PC card AGP Nvidia official driver IA32 Nvidia official driver IA64 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

Networking

Networking supported 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
NewOS
Haiku Yes Yes Yes Yes Yes
KolibriOS Yes Yes Yes No Yes
MenuetOS Yes Yes No No
GNU Mach GNU Hurd
ReactOS Yes Yes Yes No No No
L4 Fiasco Pistachio
Plan 9 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
pico]OS
RTEMS Yes Yes Yes Yes No No No No
HelenOS
E/OS Yes Yes Yes Yes Yes No[6] No No
Visopsys Yes No No No No No No No
Networking supported NE2000/RTL8029 RTL8139 Gigabit Ethernet 10-gigabit Ethernet Wireless LAN Bluetooth IrDA

Network technologies

Firewall TCP/IP IPv6 IPX PPP PPPoE DHCP bridge TUN/TAP ssh OpenVPN
Linux netfilter/iptables 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, PF Yes Yes Yes YesTemplate:Fn Yes Yes Yes Yes Yes
DragonFly BSD IPFW2, IPFilter, PF Yes Yes Yes Yes
OpenSolaris IPFilter Yes Yes Yes Yes Yes Yes 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
NewOS
Haiku None Yes
KolibriOS None Yes No Yes No Yes
MenuetOS None Yes No No No
GNU Mach GNU Hurd
ReactOS
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
pico]OS
RTEMS Yes Yes Yes Yes Yes Yes
HelenOS
E/OS Yes Yes Yes Yes Yes Yes Yes Yes Yes No
Visopsys
Firewall TCP/IP IPv6 IPX PPP PPPoE DHCP bridge TUN/TAP ssh OpenVPN

Template:Fnb NetBSD has a kernel-only PPPoE driver.

Supported file systems

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[5][7] Yes Yes Yes Yes Yes[2] Yes[17] Yes Yes[9] Yes Yes[2] Yes Yes Yes Yes Yes No 9P,[3] FUSE,[3] sysfs,[3] configfs,[3] Reiser4,[3][4] JFS, Btrfs, UnionFS, Ext4
FreeBSD Yes Yes[2][7] Yes Yes[2] Yes[5] Yes[2] Yes Yes No No No No Yes Yes Yes Yes Yes Yes FUSE, nullfs, UnionFS
OpenBSD Yes Yes[2] Yes Yes No Yes No No No No No Yes Yes Yes Yes Yes No AFS
NetBSD Yes Yes[2][7] Yes Yes Yes Yes[2] Yes Yes[2] Yes Yes Yes No PUFFS, LFS, EFS
DragonFly BSD Yes Yes[2] Yes Yes Yes Yes No nullfs
OpenSolaris Yes Yes [7][8] No No No No Yes No No No No Yes Yes Yes Yes Yes Yes CIFS (native),QFS
AuroraUX Yes Yes [7][8] Yes Yes No No Yes No No No No Yes Yes Yes Yes Yes Yes CIFS (native),QFS
Darwin OpenDarwin Yes Yes[2][7] Yes Yes Yes Yes Yes Yes Yes
Minix Yes No Yes No
FreeDOS Yes No No No No No No No No Yes Yes
NewOS Yes
Haiku Yes Yes [7] Yes
KolibriOS Yes Yes[2] Yes Yes
MenuetOS Yes
GNU Mach GNU Hurd Yes Yes Yes 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[2] Yes[2] Yes[2] 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[2] Yes MMFS, ROMfs, JFFS2, YAFFS
RTEMS Yes Yes Yes TarFS, TFTP FS, IMFS, miniIMFS
HelenOS Yes Yes
E/OS Yes No Yes No No No No No No No Yes Yes[6] Yes No Yes Yes Yes No
Visopsys Yes No Yes[1] Yes[1] No No No No No No No No Yes No No No No No
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

^ Partial write support in 2.6, can only write inside loop files.
^ Read only kernel driver.
^ 2.6 and later.
^ With patch[7].
^ Experimental.
^ Default in series 028.
^ Read/Write support via NTFS-3G.
^ OpenSolaris also has an in-kernel, native CIFS server built directly on the ZFS DMU.
^ read/write access without journalling; HFS+ with journal either be opened read-only or be written with journal ignored (potentially corrupting the file system).

Supported file system features

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
OpenSolaris Yes Yes Unix, ACL, MAC 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
NewOS
Haiku
KolibriOS No
MenuetOS No
GNU Mach GNU Hurd 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
pico]OS
RTEMS
HelenOS
E/OS Yes Yes Unix Yes No
Visopsys No No No No No
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[1] Exec Shield [1] ,PaX[1] Chroot,namespace and cgroups[4], Linux-VServer[1],OpenVZ[1],FreeVPS[1] KVM IPFilter, IPTables grsecurity [1], RSBAC[1]
FreeBSD SeBSD[2] [3], TrustedBSD jail IPFW, PF
Darwin SEDarwin, TrustedBSD jail IPFW
OpenBSD W^X sysjail PF, IPF
OpenSolaris TrustedBSD Solaris Containers IPF
AuroraUX TrustedBSD Solaris Containers IPF
Plan 9 No No per-process namespaces
Inferno No No per-process namespaces

^ available as a patch(not integrated into the linux kernel or the userland uttilities),see the security features of the GNU/Linux distribution for more details
^ not integrated into the Operating system
^ see here for more details
^ see lwn.net for mode details

See also

References

  1. ^ Supported Platforms
  2. ^ "OpenBSD Platforms". OpenBSD. 2006-05-09. Retrieved 2006-06-13. {{cite web}}: Check date values in: |date= (help)
  3. ^ "OpenBSD/macppc". OpenBSD. 2006-05-23. Retrieved 2006-06-13. {{cite web}}: Check date values in: |date= (help)
  4. ^ Hardware Supported by NetBSD
  5. ^ DragonFly Frequently Asked Questions
  6. ^ a b OpenSolaris FAQ: Does the OpenSolaris project include source code for both the SPARC and x64/x86 architectures?
  7. ^ OpenDarwin FAQ: Compatibility issues
  8. ^ Minix 3 FAQ
  9. ^ Manual Pages: radeon(4)
  10. ^ Manual Pages: radeon(4)
  11. ^ Manual Pages: nv(4)
  12. ^ USB with DOS - Limited support for some devices provided by third-party driver.
  13. ^ USB with DOS - Limited support for some devices provided by third-party driver.
  14. ^ Supported Hardware - ReactOS
  15. ^ Installing ReactOS - ReactOS
  16. ^ [1] - Very limited support.
  17. ^ [2]

Emulator images

Software and packages