Comparison of open-source operating systems
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 | Forks |
| Linux | Monolithic with modules | C | 1:1 | Unix-like | 4.4 | elks | |
| FreeBSD | Monolithic with modules | C | 1:1 | BSD, Unix-like | 13.5 | DragonFly BSD | |
| OpenBSD | Monolithic | C | 1:1 | BSD, Unix-like | 6.4 | MirOS | |
| NetBSD | Monolithic with modules | C | 1:1 | BSD, Unix-like | 7.0 | OpenBSD | |
| DragonFly BSD | Hybrid | C | 1:1 | BSD, Unix-like | |||
| OpenSolaris, illumos | Monolithic with modules | C | 1:1, M:N | Unix | |||
| Darwin, OpenDarwin | Hybrid | C, C++ | 1:1 | BSD, Unix, Unix-like, OS X | |||
| OpenHarmony | Multi-kernel | Various | 1:1, M:N, POSIX | HarmonyOS, LiteOS | 3.0.1 LTS | Oniro OS, HarmonyOS | |
| Oniro | Multi-kernel | Various | 1:1, M:N, POSIX | OpenHarmony | 3.2 LTS | ||
| MINIX | Microkernel | C | Unix-like | ||||
| RedoxOS | Microkernel | Rust | Unix-like | ||||
| FreeRTOS | RTOS | C | RTOS | ||||
| FreeDOS | Monolithic | C | DOS | 1.1 | |||
| Genode | Microkernel | C++ | 1:1 | Genode | |||
| Haiku | Hybrid | C, C++ | BeOS | ||||
| House | Haskell | own/original | |||||
| KolibriOS | Monolithic | ASM | MenuetOS | ||||
| MenuetOS | Monolithic | ASM | own/original | KolibriOS | |||
| GNU | or Monolithic | C | 1:1 | Unix-like | 2.4 on Linux-libre kernel | Linux | |
| ReactOS | Hybrid | C, C++ | Windows-like | ||||
| RISC OS | Monolithic | ARM assembly, C, BBC BASIC | RISC OS | RISC OS 6 | |||
| L4, Fiasco, Pistachio | Microkernel | C++ | L4 | ||||
| Plan 9 | Hybrid | C | 1:1, 1:M Cothread style. | own, Unix informed | Inferno, Plan B, 9front | ||
| AROS | Exokernel | C | AmigaOS | ||||
| Syllable | Hybrid | C, C++ | 1:1 | Unix-like, BeOS, AmigaOS, POSIX | |||
| Inferno | C | Plan 9 | OzInferno | ||||
| NuttX | RTOS | C | RTOS | ||||
| eCos | RTOS | C, C++ | RTOS | ||||
| RTEMS | RTOS | C and ASM with native support for other languages including C++ and Ada | POSIX, RTEID/ORKID, uITRON | RTOS | 4.7.1 | ||
| HelenOS | Microkernel | C | M:N | own/original | |||
| E/OS | Monolithic | ASM, C | 1:1 | BeOS, Unix-like | |||
| TempleOS | Monolithic | HolyC, C, C++ | Commodore 64-like | - | |||
| Microkernel | C, C++, Assembly, Makefile, IGOR Pro | OS/2-like | |||||
| Name | License | Kernel type | Kernel programming language | Kernel thread support | OS family | Oldest non-EOL version | Forks |
Supported architectures
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 | 2.6.31+ | ,nv, nouveau | |||||||||||||||||
| FreeBSD | 8.2+ | ||||||||||||||||||
| OpenBSD | 5.7+ | 2d only | 2d only | ||||||||||||||||
| NetBSD | 8.0+ | ||||||||||||||||||
| DragonFly BSD | |||||||||||||||||||
| OpenSolaris, illumos | |||||||||||||||||||
| Darwin, OpenDarwin | |||||||||||||||||||
| OpenHarmony | |||||||||||||||||||
| Oniro | |||||||||||||||||||
| MINIX | |||||||||||||||||||
| FreeDOS | |||||||||||||||||||
| Genode | |||||||||||||||||||
| Haiku | |||||||||||||||||||
| KolibriOS | |||||||||||||||||||
| MenuetOS | |||||||||||||||||||
| GNU | |||||||||||||||||||
| ReactOS | |||||||||||||||||||
| RISC OS | TV tuner | ||||||||||||||||||
| L4, Fiasco, Pistachio | |||||||||||||||||||
| Plan 9 | |||||||||||||||||||
| AROS | own | 2D only | |||||||||||||||||
| Syllable | |||||||||||||||||||
| Inferno | |||||||||||||||||||
| FreeRTOS | |||||||||||||||||||
| eCos | |||||||||||||||||||
| RTEMS | |||||||||||||||||||
| HelenOS | |||||||||||||||||||
| E/OS | |||||||||||||||||||
| 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 |
Networking
| Name | Networking support | NE2000/RTL8029 | RTL8139 | Gigabit Ethernet | 10 Gigabit Ethernet | Wireless LAN | Bluetooth | IrDA |
| Linux | ||||||||
| FreeBSD | ||||||||
| OpenBSD | ||||||||
| NetBSD | ||||||||
| DragonFly BSD | ||||||||
| OpenSolaris, illumos | ||||||||
| Darwin, OpenDarwin | ||||||||
| OpenHarmony | ||||||||
| Oniro | ||||||||
| MINIX | ||||||||
| FreeDOS | ||||||||
| Genode | ||||||||
| Haiku | ||||||||
| KolibriOS | ||||||||
| MenuetOS | ||||||||
| GNU | ||||||||
| ReactOS | ||||||||
| L4, Fiasco, Pistachio | ||||||||
| Plan 9 | ||||||||
| AROS | ||||||||
| Syllable | ||||||||
| Inferno | ||||||||
| FreeRTOS | - | |||||||
| eCos | ||||||||
| RTEMS | ||||||||
| HelenOS | ||||||||
| E/OS | ||||||||
| Name | Networking support | NE2000/RTL8029 | RTL8139 | Gigabit Ethernet | 10 Gigabit Ethernet | Wireless LAN | Bluetooth | IrDA |
Supported file systems
| Name | Bcachefs | BFS | FAT16, dosfs; FAT32, vfat | NTFS | Ext2 | Ext3 | XFS | ReiserFS | UFS | UFS2 | HFS | HFS+ | MINIXfs | ISO 9660 | UDF | NFS | SMBFS | RAM disk, tmpfs | ZFS | Other special file systems |
| Linux | 9P, FUSE, sysfs, configfs, Reiser4, JFS, Btrfs, UnionFS, Ext4 | |||||||||||||||||||
| FreeBSD | FUSE, nullfs, UnionFS | |||||||||||||||||||
| NetBSD | PUFFS, LFS, EFS | |||||||||||||||||||
| OpenBSD | AFS | |||||||||||||||||||
| DragonFly BSD | HAMMER, nullfs, PUFFS | |||||||||||||||||||
| OpenSolaris, illumos | SMB, QFS | |||||||||||||||||||
| Darwin, OpenDarwin | ||||||||||||||||||||
| OpenHarmony | Ex4, F2FS, EROFS, HMDFS | |||||||||||||||||||
| Oniro | Ex4, F2FS, EROFS, HMDFS | |||||||||||||||||||
| MINIX | ||||||||||||||||||||
| FreeDOS | ||||||||||||||||||||
| Genode | Extensible VFS layer | |||||||||||||||||||
| Haiku | ||||||||||||||||||||
| KolibriOS | ||||||||||||||||||||
| MenuetOS | ||||||||||||||||||||
| GNU | ||||||||||||||||||||
| ReactOS | ||||||||||||||||||||
| L4, Fiasco, Pistachio | ||||||||||||||||||||
| Plan 9 | Fossil, Venti, most system services | |||||||||||||||||||
| AROS | SFS, AFFS | |||||||||||||||||||
| Syllable | AFS | |||||||||||||||||||
| Inferno | kfs, most system services | |||||||||||||||||||
| FreeRTOS | ||||||||||||||||||||
| eCos | MMFS, ROMfs, JFFS2, YAFFS | |||||||||||||||||||
| RTEMS | TarFS, TFTP FS, IMFS, miniIMFS | |||||||||||||||||||
| HelenOS | locfs, exFAT | |||||||||||||||||||
| E/OS | ||||||||||||||||||||
| Name | Bcachefs | BFS | FAT16, dosfs; FAT32, vfat | NTFS | Ext2 | Ext3 | XFS | ReiserFS | UFS | UFS2 | HFS | HFS+ | MINIXfs | ISO 9660 | UDF | NFS | SMBFS | RAM disk, tmpfs | ZFS | Other special file systems |
Security features
| Operating system | Mandatory access control | Software executable space protection | Operating system-level virtualization | Virtualisation | Userspace protection | Others |
| Linux | IPFilter, Iptables | grsecurity, RSBAC | ||||
| FreeBSD | TrustedBSD | IPFW, PF, IPFilter | ||||
| Darwin | IPFW | |||||
| OpenBSD | PF | |||||
| OpenSolaris, illumos | TrustedBSD | KVM | IPFilter | RBAC | ||
| OpenHarmony | appverify | RBAC | ||||
| Oniro | appverify | RBAC | ||||
| Plan 9 | ||||||
| Inferno |