Comparison of open source operating systems

From Wikipedia, the free encyclopedia

Jump to: navigation, search

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.

Contents

[edit] 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
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 No
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
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
TBOS BSD-style Monolithic ASM DOS-like
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.

[edit] 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, 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 Nob1[3] Yes No Yes Yes Yes Yes Yes Yes SuperH, VAX, m88k
NetBSD[4] Yes Yes Yes Nob1 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
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 Yesb2 Yesb2 Yesb2 No No No Yesb2 Yesb2 Yes No No No Fiasco-UX
Plan 9 Yes Yes Yes No Yes Yes Yes Yesb4 Yesb4 Yes Yes Yes Yes Yesb4 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 Yesb4 No AMD Am29000b4, Texas Instruments OMAP Microsoft Windows, Linux, FreeBSD, Plan 9, Mac OS X, Solaris, Irix, Unixwareb4, HP-UXb4, 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 Yesb3 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
TBOS Yes No No No No No No No No No No No 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

Note b1: Work in progress.
Note b2: Pistachio supports AMD64; Fiasco only in the CVS version.
Note b3: Xen 3.0.1 supported up to basic kernel functionality. Support for Xen 3.0.4 is broken as of now.
Note b4: Support is outdated or unmaintained.

[edit] Supported hardware

[edit] 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
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 No Yes 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[13] No[14] No Yes[15] 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

[edit] 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
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

[edit] 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 Yese1 Yes Yes Yes Yes Yes
DragonFly BSD IPFW2, IPFilter, PF Yes Yes Yes Yes
OpenSolaris 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

Note e1: NetBSD has a kernel-only PPPoE driver.

[edit] 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[16] Yes Yes Yes Yes[2] Yes Yes Yes Yes Yes No 9P,[3] FUSE,[3] sysfs,[3] configfs,[3] Reiser4,[3][4] JFS
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
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.

[edit] 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
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

[edit] 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 TrustedBSD W^X sysjail PF, IPF
OpenSolaris 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 linux distribution for more details
^  not integrated into the Operating system
^  see here for more details
^  see lwn.net for mode details

[edit] See also

[edit] References

  1. ^ Supported Platforms
  2. ^ "OpenBSD Platforms". OpenBSD. 2006-05-09. http://www.openbsd.org/plat.html. Retrieved on 2006-06-13. 
  3. ^ "OpenBSD/macppc". OpenBSD. 2006-05-23. http://www.openbsd.org/macppc.html#projects. Retrieved on 2006-06-13. 
  4. ^ Hardware Supported by NetBSD
  5. ^ DragonFly Frequently Asked Questions
  6. ^ 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. ^ Supported Hardware - ReactOS
  14. ^ Installing ReactOS - ReactOS
  15. ^ [1] - Very limited support.
  16. ^ [2]

[edit] External links

[edit] Emulator images

[edit] Software and packages

Personal tools