A
kernel is the core component of every computer
operating system. While kernels are highly technical in nature, and may be hidden from the user under many layers of software and applications, they do have distinguishing or characteristic features, such as
computer architecture, design goals, as well as the more practical features that they provide. A direct
comparison of operating system kernels can highlight these design choices, and provide insight into different niches and the evolving technology of kernels.
Comparison criterion
The following tables compare
general and technical information for a number of widely used and currently available
operating system kernels. Please see the individual products' articles for further information.
Even though there is a large number and variety of available Linux distributions, all of these kernels are grouped under a single entry in these tables, due to differences being of the patch level. See comparison of Linux distributions for a detailed comparison. For Linux distributions that have highly modified kernels, for example Real-time computing kernels, they should be listed separately. There are also a wide variety of minor BSD operating systems, many of which can be found at Comparison of BSD operating systems.
The tables specifically do not include subjective viewpoints on the merits of each kernel or operating system. For this kind of information, please see operating system advocacy.
Overview comparison
The major contemporary general-purpose
kernels are shown in comparison. Only an overview of the technical features is detailed.
| Kernel name
| Used in
| Creator
| Executable format (also see section below)
| Type
| Integrated firewall
| SMP support
| Multiple architecture support (also see section below).
| Multitasking |
Agnix
|
|
|
|
|
|
|
| |
| Amiga Exec
| Amiga OS
| Commodore International/Carl Sassenrath
| HUNK
| microkernel (atypical)
|
|
|
| |
| Amiga Exec SG (2nd Generation)
| Amiga OS 4.0
| Hyperion Entertainment under license of Amiga Inc.
| ELF (Can run 68000 code Hunk)
| microkernel (atypical)
|
|
|
| |
DragonFly BSD kernel
| DragonFly BSD
| Matt Dillon
| ELF, others - platform dependent
| hybrid
| IPFilter, Ipfirewall, PF
|
|
| |
| FreeBSD kernel
| FreeBSD Debian GNU/kFreeBSD
Gentoo/FreeBSD
| The FreeBSD Project
| ELF, others - platform dependent
| monolithic
| IPFilter, Ipfirewall, PF
|
|
| |
GNU Hurd
| Bee GNU/Hurd Debian GNU/Hurd
| GNU Project/Free Software Foundation
| ELF
| microkernel
|
|
|
| |
GNU Mach
|
| GNU Project/Free Software Foundation
|
| microkernel
|
|
|
| |
| Inferno kernel
| Inferno
| Bell Labs / Vita Nuova Holdings
|
| virtual machine
|
|
|
| |
| L4
| L4
| Jochen Liedtke
|
| microkernel
|
|
|
| |
Linux kernel
| Linux
| Linus Torvalds
| ELF, others
| monolithic
| netfilter/ iptables
|
|
| |
Mach
|
| Carnegie Mellon University
|
| microkernel
|
|
|
| |
Minix 3
| Minix 3
| Andrew S. Tanenbaum
| a.out
| microkernel
|
|
|
| |
MkLinux
|
| OSF Research Institute and Apple Computer
|
| microkernel
|
|
|
| |
| NetBSD kernel
| NetBSD Debian GNU/NetBSD
| The NetBSD Project
| ELF, others - platform dependent
| monolithic
| IPFilter PF
|
|
| |
| NetWare kernel
| Novell NetWare
| Novell
| NLM
| hybrid
|
|
|
| |
| OpenBSD kernel
| OpenBSD
| OpenBSD developers
| ELF, others - platform dependent
| monolithic
| PF
|
|
| |
| Plan 9 kernel
| Plan 9 from Bell Labs
| Bell Labs
|
| hybrid
| ipmux
|
|
| |
| SunOS kernel
| SunOS
| Sun Microsystems
| a.out
| monolithic
|
|
|
| |
| Solaris kernel
| Solaris Operating System, Nexenta OS
| Sun Microsystems
| ELF (32-bit only until Solaris 7)
| monolithic
| IPFilter
|
|
| |
| Trix
|
| Massachusetts Institute of Technology
|
| monolithic
|
|
|
| |
Windows NT kernel
| Windows NT, 2000, XP, 2003, Vista
| Microsoft
| PE, others?
| hybrid
|
|
|
| |
XNU (Darwin kernel)
| Mac OS X OpenDarwin
GNU/Darwin
| Apple Computer
| Mach-O
| hybrid
| Ipfirewall
|
|
| |
SPARTAN kernel (HelenOS kernel)
| HelenOS
| Jakub Jermar
| ELF
| microkernel
|
|
|
| |
| Kernel name
| Used in
| Creator
| Executable format (also see section below)
| Type
| Integrated firewall
| SMP support
| Multiple architecture support (also see section below).
| Multitasking |
Binary format support
A comparison of OS support for different
binary formats (
executables):
File system support
Physical
file systems:
Supported CPU architectures
See also
Footnotes