Comparison of operating systems
Template:Short description Template:Use mdy dates These tables provide a comparison of operating systems, of computer devices, as listing general and technical information for a number of widely used and currently available PC or handheld (including smartphone and tablet computer) operating systems. The article "Usage share of operating systems" provides a broader, and more general, comparison of operating systems that includes servers, mainframes and supercomputers.
Because of the large number and variety of available Linux distributions, they are all grouped under a single entry; see comparison of Linux distributions for a detailed comparison. There is also a variety of BSD and DOS operating systems, covered in comparison of BSD operating systems and comparison of DOS operating systems.
NomenclatureEdit
The nomenclature for operating systems varies among providers and sometimes within providers. For purposes of this article the terms used are;
- kernel
- In some operating systems, the OS is split into a low level region called the kernel and higher level code that relies on the kernel. Typically the kernel implements processes but its code does not run as part of a process.Template:Disputed inline
- hybrid kernel
- monolithic kernel
- Nucleus
- In some operating systems there is OS code permanently present in a contiguous region of memory addressable by unprivileged code; in IBM systems this is typically referred to as the nucleus. The nucleus typically contains both code that requires special privileges and code that can run in an unprivileged state. Typically some code in the nucleus runs in the context of a dispatching unit, e.g., address space, process, task, thread, while other code runs independent of any dispatching unit. In contemporary operating systems unprivileged applications cannot alter the nucleus.
License and pricing policies also vary among different systems. The tables below use the following terms:
- BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software.
- bundled
- The fee is included in the price of the hardware
- bundled initially
- The fee is included in the price of the hardware but upgrades require an additional fee.
- GPL2
- GPL3
- Per user
- The fee depends on the maximum number of users concurrently logged on.
- MSU
- The fee depends on the resources consumed by the user
- MULC
- Measured Usage License Charges
- PSLC
- Parallel Sysplex Software Pricing
General informationEdit
Technical informationEdit
Name | Computer architectures supported | File systems supported | Kernel type | Source lines of code | GUI default is on<ref name="GUI" group="t"/> | Package management | Update management | Native APIs<ref name="API" group="t"/> | Non-native APIs supported through subsystems | ||
---|---|---|---|---|---|---|---|---|---|---|---|
AIX | POWER, PowerPC-AS, PowerPC, Power ISA | JFS, JFS2, ISO 9660, UDF, NFS, SMBFS, GPFS | Monolithic with modules | Template:No | installp, RPM | Service Update Management Assistant (SUMA) | SysV/POSIX | ||||
AmigaOS classic | 68k, PowerPC | Proprietary (OFS, FFS, SFS, PFS), FAT, ISO 9660, UDF, many others via 3rd party drivers, such as SMBFS, etc. | Microkernel | Template:Yes | Installer<ref name="AmigaOSinstaller" group="t"/> (almost not needed)<ref name="AmigaOSinstallation" group="t"/> | Proprietary | BSD subset (available through 3rd party ixemul.library) | ||||
AmigaOS 4 | PowerPC | Proprietary (OFS, FFS, SFS, PFS), JXFS, FAT, ISO 9660, UDF, many others via 3rd party drivers, such as SMBFS, etc. | Microkernel | Template:Yes | Installer<ref name="AmigaOSinstaller" group="t"/> (almost not needed)<ref name="AmigaOSinstallation" group="t"/> | AmiUpdate (almost not needed)<ref name="AmiUpdate" group="t"/> | Proprietary | BSD subset (available through 3rd party ixemul.library) | |||
ArcaOS | IA-32 | JFS (default), HPFS, ISO 9660, UDF, FAT32, NTFS | Hybrid | Template:Yes | ANPM (based on YUM and RPM) | Update Facility | OS/2 | POSIX, Win16, DOS, Win32, Java | |||
ChromeOS | ARM, IA-32, x86-64 | eCryptfs, NTFS, FAT, FAT16, FAT32, exFAT, ext2, ext3, ext4, HFS+, MTP (read and write), ISO9660 (read-only), UDF (read-only) | Monolithic with modules | citation | CitationClass=web
}}</ref> |
Template:Yes | Portage | Linux/POSIX | |||
DragonFly BSD | x86-64 | UFS1, MFS, ext2, FAT (16/32), HAMMER, ISO 9660 | Hybrid | Template:No | dports, pkg | git, cvsup, rsync, pkg | BSD/POSIX | Mono, Java, Win16,<ref name="Wine" group="t"/> Win32,<ref name="Wine" group="t"/> Linux | |||
eComStation | IA-32 | HPFS (default), FAT, JFS, UDF, FAT32, NTFS (read only) | Hybrid | Template:Yes | WarpIN, Feature Install, others | Maintenance Tool | Proprietary, DOS API, Win16 | POSIX, Java, others | |||
FreeBSD | IA-32, x86-64, ARM, MIPS, PowerPC, others | UFS2, ZFS, ext2, ext3, ext4, FAT, ISO 9660, UDF, NFS, others | Monolithic with modules | Template:Nowrap<ref>{{#invoke:citation/CS1|citation | CitationClass=web
}}</ref> |
Template:No | Ports collection, packages | by source, network binary update (freebsdupdate) | BSD/POSIX | Mono, Java, Win16,<ref name="Wine" group="t"/> Win32,<ref name="Wine" group="t"/> Linux | |
Genode | ARM, RISC-V, IA-32, x86-64 | ext2, ext3, FAT32, ISO9660 | Microkernel or Monolithic kernel | ≈300,000 Template:Citation needed | Template:No | Custom | None | Genode | POSIX, Qt, SDL, MirageOS<ref>{{#invoke:citation/CS1|citation | CitationClass=web
}}</ref> | |
GhostBSD | IA-32, x86-64 | UFS2, ext2, ext3, FAT, ISO 9660, UDF, NFS, ReiserFS (read only), XFS (experimental), ZFS, others | Monolithic with modules | Template:Yes | Ports collection, packages | by source, network binary update (freebsdupdate) | BSD/POSIX | Mono, Java, Win16,<ref name="Wine" group="t"/> Win32,<ref name="Wine" group="t"/> Linux | |||
Linux | IA-32, x86-64, ARM, PowerPC, SPARC, others | ext2, ext3, ext4, btrfs, ReiserFS, FAT, ISO 9660, UDF, NFS, and others | Monolithic with modules | citation | CitationClass=web
}}</ref> lines of code for userland libraries and applications vary depending on the distribution |
Template:Yes | Depends on the distribution | Linux/POSIX | Mono, Java, Win16,<ref name="Wine" group="t"/> Win32<ref name="Wine" group="t"/> | ||
Haiku | IA-32, PowerPC, x86-64 | BFS (default), FAT, ISO 9660, ext3, NTFS | Hybrid | ≈5.2 millionTemplate:Citation needed | Template:Yes | Ports collection (haikuport) | pkgman, HaikuDepot | POSIX, BeOS API | Java, Qt | ||
HP-UX | PA-RISC, IA-64 | VxFS, HFS, CDFS, EVFS, NFS, CIFS | Monolithic with modules | Template:No | SD, swinstall | swa (HP-UX Software Assistant) | SysV/POSIX | ||||
HarmonyOS | 64-bit ARM, RISC-V, x86, x64 and LoongArch | HMDFS, EROFS, NFS, RAMFS, FAT, JFFS2, exFAT | Microkernel | citation | CitationClass=web
}}</ref> (100 Deterministic Latency Engine)<ref>{{#invoke:citation/CS1|citation |
CitationClass=web
}}</ref> |
Template:Yes | .app with HAP files | Software Update | Proprietary | Java until 3.0.0 |
Inferno | IA-32, PowerPC, SPARC, Alpha, MIPS, others | Styx/9P2000, kfs, FAT, ISO 9660 | Monolithic with modules, user space file systems | Template:Yes | Template:Dunno | Template:Dunno | Proprietary | ||||
iOS | ARMv8-A (iOS 7–present), ARMv7-A (iPhone OS 3–iOS 10), ARMv6 (iPhone OS 1–iOS 4.2.1) | HFS+ (prior to version 10.3), APFS (since version 10.3) | Hybrid | ≈80 millionTemplate:Citation needed | Template:Yes | ? | Software Update | Cocoa, BSD-POSIX | ? | ||
Classic Mac OS | 68k, PowerPC | HFS+, HFS, MFS (Mac OS 8.0 and before), AFP, ISO 9660, FAT(System 7 and later), UDF | Monolithic with modules | Template:Yes | None | Software Update (only in Mac OS 9) | Toolbox, Carbon (from version 8.1) | ||||
macOS | Apple silicon (11-present), x86-64 (10.4.7–present), IA-32 (10.4.4–10.6.8), PowerPC (10.0–10.5.8) Template:Small |
HFS+ (default on hard drives, and on flash drives up to Sierra), APFS (default on flash drives in High Sierra), HFS, UFS, AFP, ISO 9660, FAT, UDF, NFS, SMBFS, NTFS (read only), FTP, WebDAV, ZFS (experimental) | Hybrid with modules | citation | CitationClass=web
}}</ref> |
Template:Yes | macOS Installer | Software Update | Carbon, Cocoa, Java, BSD-POSIX | Toolbox (only in versions up to Mac OS X 10.4, not supported on x86 architecture), Win16,<ref name="Wine" group="t"/> Win32<ref name="Wine" group="t"/> | |
MINIX 3 | IA-32 | Microkernel | ≈12,000 (C) + ≈1,400 (Assembly)<ref>Template:Cite book</ref> | Template:No | POSIX | ||||||
NetBSD | IA-32, x86-64, ARM, MIPS, PowerPC, sparc64, others | UFS, UFS2, ext2, FAT, ISO 9660, NFS, LFS, and others | Monolithic with modules | Template:No<ref name="BSDX" group="t"/> | pkgsrc | by source or binary (using sysinst) | BSD-POSIX | Linux, others | |||
NetWare | 16-bit x86, IA-32 | NSS, NWFS, FAT, NFS, AFP, UDF, CIFS, ISO 9660 | Hybrid | Template:Yes | NWCONFIG.NLM, RPM, X11-based GUI installer | binary updates, ZENWorks for Servers, Red Carpet | Proprietary | ||||
OpenBSD | IA-32, x86-64, SPARC, 68k, Alpha, others | ffs, ext2, FAT, ISO 9660, NFS, some others | Monolithic | Template:No<ref name="BSDX" group="t"/> | Ports collection, packages | by source or binary (packages via pkg_add) | BSD-POSIX | ||||
OpenVMS | VAX, Alpha, IA-64, x86-64 | Files-11 (ODS), ISO 9660, NFS, CIFS | Monolithic with modules | Template:No | PCSI, VMSINSTAL | Template:Dunno | Proprietary | POSIX, RSX-11M | |||
OS/2 | 16-bit x86 (1.x only), IA-32 | HPFS, JFS, FAT, ISO 9660, UDF, NFS | Monolithic with modules | Template:Yes | Feature Install and others | Template:Dunno | Proprietary, DOS API, Win16 | Win32 | |||
OpenHarmony | 64-bit ARM, RISC-V, x86, x64 and LoongArch | HMDFS, EROFS, NFS, RAMFS, FAT, JFFS2, exFAT | Multi-kernel | citation | CitationClass=web
}}</ref> |
Template:Yes | .app with HAP files | Software Update | Open-source, ArkUI, OpenHarmony API Kits | Java until 3.0.0, React Native, Qt, Flutter, Electron, CEF | |
Oniro | 64-bit ARM, RISC-V, x86, x64 | HMDFS, EROFS, NFS, RAMFS, FAT, JFFS2, exFAT | Multi-kernel | Template:Yes | .app with HAP files | Software Update | Open-source, ArkUI, OpenHarmony and Oniro API Kits, React Native for ArkUI | React Native, Qt, Flutter, Electron, CEF | |||
Plan 9 | IA-32, Alpha, MIPS, PowerPC, SPARC, others | fossil/venti, 9P2000, kfs, ext2, FAT, ISO 9660 | Hybrid, user space file systems | ≈2.5 Million /sys/src (complete source of all supported architectures, kernels, commands and libraries) | Template:Yes | None | replica | Proprietary (Unix-like) | POSIX compatibility layer | ||
QNX | x86, SH-4, PowerPC, ARM, MIPS | QNX4FS, QNX6, ext2, FAT, ISO 9660, Joliet, NFS, CIFS, ETFS, UDF, HFS, HFS+, NTFS, others | Microkernel | POSIX, Java | |||||||
ReactOS | IA-32, PowerPC, ARM | FAT, BTRFS, and NTFS (read only) | Hybrid | citation | CitationClass=web
}}</ref> |
Template:Yes | ReactOS Applications Manager, MSI, custom installers | None | Win32, NT API | DOS API | |
Redox | x86-64 | RedoxFS, TFS | Microkernel | Template:Yes | pkgutils | POSIX | |||||
RISC OS | ARM (both 26 and 32-bit addressing modes) | Acorn ADFS, Econet ANFS, FAT, ISO 9660, many others as loadable filesystems | citation | CitationClass=web
}}</ref> |
Template:Yes | Applications self-contained; hardware drivers often in ROM | !IyoUpWtch | Huge number of SWI calls; extensive C libraries | |||
SerenityOS | x86, x86-64 | ext2 | Microkernel | ≈750,000 | Template:Yes | None | None | POSIX, propertiary | |||
Solaris | IA-32, x86-64, SPARC | UFS, ZFS, ext2, FAT, ISO 9660, UDF, NFS, QFS, some others | Monolithic with modules | Template:Yes | SysV packages (pkgadd) Image Packaging System (pkg) (Solaris 11 and later) |
Image Packaging System (Solaris 11 and later) | SysV/POSIX, GTK, Java | Win16,<ref name="Wine" group="t"/> Win32,<ref name="Wine" group="t"/> Mono, Linux<ref name="brandz" group="t"/> | |||
OpenSolaris | IA-32, x86-64, SPARC(AI) | UFS, ZFS, ext2, FAT, ISO 9660, UDF, NFS, QFS, some others | Monolithic with modules | grep total | awk '{ sum += $1 } END {print sum }' on [1] results in 18793105</ref> | Template:Yes | Image Packaging System (pkg), SysV packages (pkgadd) | Image Packaging System | SysV/POSIX, GTK, Java | Win16,<ref name="Wine" group="t"/> Win32,<ref name="Wine" group="t"/> Mono, Linux<ref name="brandz" group="t"/> | ||
STOP 6, XTS-400 | x86 | Proprietary | Monolithic | Template:No | RPM for some untrusted applications | Binary updates via postal mail and proprietary tools | Some: SysV, POSIX, Linux, proprietary | ||||
Symbian | ARM | FAT | Microkernel | Template:Yes | SIS files | FOTA | Proprietary | POSIX compatibility layer | |||
TrueOS | IA-32, x86-64<ref name="i686" group="t"/> | UFS2, ext2, ext3, FAT, ISO 9660, UDF, NFS, ReiserFS (read only), XFS (experimental) and others | Monolithic with modules | Template:Yes | Ports collection, packages, PBI Graphical Installers | by PBI updates, source, network binary update (freebsdupdate) | BSD-POSIX | Win16,<ref name="Wine" group="t"/> Win32<ref name="Wine" group="t"/> | |||
Windows Server (NT family) | IA-32, x86-64, IA-64 | NTFS, FAT, ISO 9660, UDF; 3rd-party drivers support ext2, ext3, ReiserFS,<ref name="WindowsFS" group="t"/> and HFS | Hybrid with modules | citation | CitationClass=web
}}</ref> |
Template:Yes | MSI, custom installers | Windows Update | Win32, NT API | DOS API, Win16 (only in 32-bit versions), POSIX, .NET | |
Windows (NT family) | IA-32, x86-64, ARM, IA-64, Alpha, MIPS, PowerPC | NTFS, FAT exFAT ISO 9660, UDF; 3rd-party drivers support btrfs, ext2, ext3, ReiserFS,<ref name="WindowsFS" group="t"/> HFS+, FATX, and HFS (with third party driver) | Hybrid with modules | ≈40 (XP)/64 (Vista and later) millionTemplate:Citation needed | Template:Yes | MSI, custom installers | Windows Update | Win32, NT API | DOS API, Win16 (only in 32-bit versions), POSIX, .NET | ||
ZETA | IA-32 | BFS (default), FAT, ISO 9660, UDF, HFS, AFP, ext2, CIFS, NTFS (read only), ReiserFS (read only, up to v3.6) | Hybrid | Template:Yes | SoftwareValet, script-based installers | None | POSIX, BeOS API | ||||
z/OS | z/Architecture | VSAM, BDAM, QSAM, BPAM, HFS, zFS, etc. | Protected, multithreading, multitasking nucleus with programmable/user replaceable extensions. Not kernel-based.Template:Clarify | Template:No | None, SMP/E | SMP/E | Filesystem access methods, Systems Services, etc. | POSIX, many others. | |||
Name | Computer architectures supported | File systems supported | Kernel type | Source lines of code | GUI default is on<ref name="GUI" group="t"/> | Package management | Update management | Native APIs<ref name="API" group="t"/> | Non-native APIs supported through subsystems |
SecurityEdit
CommandsEdit
For POSIX compliant (or partly compliant) systems like FreeBSD, Linux, macOS or Solaris, the basic commands are the same because they are standardized.
NOTE: Linux systems may vary by distribution which specific program, or even 'command' is called, via the POSIX Template:Mono function. For example, if you wanted to use the DOS Template:Mono to give you a directory listing with one detailed file listing per line you could use <syntaxhighlight lang="bash" class="" style="" inline="1">alias dir='ls -lahF'</syntaxhighlight> (e.g. in a session configuration file).
See alsoEdit
- Comparison of command shells
- Comparison of file systems
- List of operating systems
- Light-weight Linux distribution
- Security-focused operating system
- Timeline of operating systems
- Usage share of operating systems
Operating system comparisonsEdit
- Comparison of BSD operating systems
- Comparison of DOS operating systems
- Comparison of IPv6 support in operating systems
- Comparison of operating system kernels
- Comparison of Linux distributions
- Comparison of netbook-oriented Linux distributions
- Comparison of Microsoft Windows versions
- Comparison of mobile operating systems
- Comparison of open-source operating systems
- Comparison of real-time operating systems
- Comparison of OpenSolaris distributions
- Comparison of Windows Vista and Windows XP
ReferencesEdit
External linksEdit
- {{#invoke:citation/CS1|citation
|CitationClass=web }}