A ядро является наиболее фундаментальным компонентом компьютерной операционной системы. Сравнение системных ядер может дать представление о выборе дизайна и архитектуры, сделанном разработчиками конкретных операционных систем.
Содержание
- 1 Критерии сравнения
- 2 Обзор функций
- 3 Поддержка транспортного протокола
- 4 Безопасность в ядре
- 5 Виртуализация в ядре
- 6 Поддержка сервера в ядре
- 7 Поддержка двоичного формата
- 8 Поддержка файловой системы
- 9 Поддержка сетевой файловой системы
- 10 Поддерживаемые наборы команд ЦП и микроархитектуры
- 11 Поддерживаемые процессоры GPU
- 12 Поддерживаемая среда выполнения ядра
- 13 Поддерживается алгоритмы шифрования
- 14 Поддерживаемые алгоритмы сжатия
- 15 Поддерживаемые алгоритмы обзора сообщений
- 16 Поддерживаемые протоколы Bluetooth
- 17 См. также
- 18 Сноски
Критерии сравнения
В следующих таблицах сравниваются общая и техническая информация для ряда широко используемых и доступных в настоящее время ядер операционной системы. Пожалуйста, смотрите статьи по отдельным продуктам для получения дополнительной информации.
Несмотря на то, что существует большое количество и разнообразие доступных дистрибутивов Linux, все эти ядра сгруппированы под одной записью в этих таблицах из-за различий между ними, связанных с патчем. уровень. См. сравнение дистрибутивов Linux для подробного сравнения. Дистрибутивы Linux с сильно модифицированными ядрами - например, ядра для вычислений в реальном времени - должны быть указаны отдельно. Существует также большое количество второстепенных операционных систем BSD, многие из которых можно найти на странице Сравнение операционных систем BSD.
Таблицы, в частности, не включают субъективные точки зрения на достоинства каждого ядра или операционной системы. Для получения такой информации см. Поддержка операционной системы.
Обзор функций
Основные современные ядра общего назначения показаны в сравнении. Подробен только обзор технических характеристик.
Имя ядра | Язык программирования | Используется в | Creator | Executable. формате. (см. Также. раздел. ниже) | Тип | Встроенный межсетевой экран | Поддержка SMP | Несколько архитектур. поддержка. (также см.. раздел ниже). | Многозадачность | Виртуализация | Безопасность | Профилирование / Отладка | Программная поддержка в реальном времени | Жесткая в реальном времени время поддержка | Может сохранять RTC в UT |
---|
Amiga Exec | | AmigaOS | Commodore International | HUNK | Exokernel (нетипично) | Нет | Нет | Нет | Да | Нет | Нет | Да | Нет | Нет | Нет |
---|
Amiga Exec SG (2-го поколения) | | AmigaOS 4 | Hyperion Entertainment | ELF / HUNK | Exokernel (нетипичный) | Нет | Нет | Нет | Да | Нет | Нет | Да | Нет | Нет | ? |
---|
Ядро DragonFly BSD | C | DragonFly BSD | Мэтт Диллон | ELF | гибрид | Ipfirewall,. PF | Да | Нет | Да | chroot, jail, vkernel | Разрешения Unix | DDB, KGDB | ? | ? | ? |
---|
Ядро FreeBSD | C | FreeBSD, Debian GNU / kFreeBSD, Gentoo / FreeBSD, Orbis OS | FreeBSD Pro ject | ELF, другие - зависимые от платформы | монолитные | IPFilter, Ipfirewall,. PF | Да | Да | Да | chroot, jail, bhyve | разрешения Unix, ACL POSIX.1e и NFSv4, Capsicum, TrustedBSD MAC, OpenBSM | KDB, DDB, KGDB, DTrace, | Да | ? | Да |
---|
GNU Hurd | C | GNU / Hurd (Arch Hurd, Debian GNU / Hurd ) | GNU Project / Free Software Foundation | ELF | мультисерверное микроядро | Нет | частичное | Нет | Да | chroot, Xen | Разрешения Unix, POSIX ACL, Возможности POSIX | ? | ? | ? | ? |
---|
GNU Mach | C | часть GNU Hurd, используемая в GNU / Hurd | GNU Project / Free Software Foundation | ELF | микроядро | Нет | частичное | Нет | Да | chroot, Xen | Разрешения Unix, POSIX ACL, Возможности POSIX | ? | ? | ? | ? |
---|
Ядро Inferno | | Inferno | Bell Labs / | ? | виртуальная машина e | ? | Да | Да | Да | chroot, Xen | ? | ? | ? | ? | ? |
---|
L4 | | L4 | Йохен Лидтке | Нет | микроядро | Нет | Да | Да | Да | Да | [1], марципан [2], возможности в L4 / Fiasco | L4 / Fiasco | L4 / Fiasco | ? | ? |
---|
ядро Linux | C | Linux (ядро), Android, Ubuntu, CentOS, webOS, Fire OS, Firefox OS, Chrome OS, Syllable Server, Mastodon Linux, OpenBSD / Linux, Plan 9 / Linux, Sailfish OS, Тизен и другие. | Линус Торвальдс | ELF, другие | монолитные | * (2.0 -) - ipchains (2.2 -)
- Netfilter (2.4 - 3.x)
- nftables (3.13 -)
| Да | Да | Да | cgroups, chroot, Lguest, Xen, KVM, LXC | разрешения Unix, POSIX ACL, Возможности POSIX, keyctl, LSM (SELinux, SMACK, TOMOYO Linux, AppArmor ) | OProfile, SystemTap, ftrace, KDB, KGDB, маркер ядра, инструменты perf | CONFIG_PREEMPT | (CONFIG_PREEMPT_RT Patch ) | Да |
---|
Compute Node Linux | | Compute Node Linux | Cray Inc. | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
---|
Mach | C | NeXTSTEP и OPENSTEP для Mach и Tru64 UNIX | Университет Карнеги-Меллона | Mach-O | микроядро, гибридное ядро | ? | Да | ? | Да | ? | ? | ? | Да | ? | ? |
---|
Ядро MINIX 3 | C | MINIX 3 | Эндрю С. Таненбаум | ELF, a.out | микроядро | Нет | Нет | Да | Да | Нет | Разрешения Unix | Профилирование вызовов, статистическое профилирование, Minix Debugger (mdb) | Нет | Нет | ? |
---|
MkLinux | | ? | Исследовательский институт OSF и Apple Computer | ? | микроядро | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
---|
Ядро NetBSD | C | NetBSD, GNU / kNetBSD ( Debian GNU / NetBSD ), | Проект NetBSD | ELF, другие - платформенно-зависимые | монолитные, любое ядро, использующее ядро rump архитектура | IPFilter, PF, NPF | Да | Да | Да | Xen, chroot | kauth, Разрешения Unix | DDB, KGDB, | POSIX расширения планирования в реальном времени | Вытеснение ядра | ? |
---|
ядро NetWare | | NetWare | Novell | NLM | гибрид | Да | Да | Нет | Да | ? | ? | ? | ? | ? | ? |
---|
Ядро OpenBSD | C | OpenBSD | | ELF, другие - платформенно-зависимые | монолитные | PF | Да | Да | Да | ? | Разрешения Unix | ? | ? | ? | ? |
---|
Ядро OS / 2 | | OS / 2 версии 2 и выше | IBM | LX | гибрид | Нет | Да | Нет Версия PowerPC разработана, но официально не выпущена. | Да | Нет | Да | Да | Да | Нет | ? |
---|
Ядро Plan 9 | C | Plan 9 от Bell Labs | Bell Labs | ? | гибрид | ipmux | Да | Да | Да | ? | ? | ? | ? | ? | ? |
---|
Ядро ReactOS | C, C ++ | ReactOS | | PE, другие? | гибрид | ? | ? | ? | Да | ? | ? | ? | ? | ? | ? |
---|
Ядро Rockbox | | Rockbox | Проект Rockbox | ? | ? | ? | ? | Да | ? | ? | ? | ? | ? | ? | ? |
---|
Ядро SunOS | C | SunOS | Sun Microsystems | a.out. | монолитный | ? | Да | Да | Да | ? | Разрешения Unix | ? | ? | ? | ? |
---|
Ядро Solaris | C | Solaris, OpenSolaris, GNU / kOpenSolaris (Nexenta OS ) | Sun Microsystems | ELF (только 32-разрядная версия до. Solaris 7 в 1998 г.) | монолитная | IPFilter | Да | Да | Да | Зоны, chroot | Разрешения Unix, ACL, RBAC, Auditing, Privileges, Зоны, Доверенные расширения | DTrace, профилирование ЦП, учет микросостояний, счетчики производительности, статистика блокировки ядра, kstats, mdb, kmdb | Планировщик реального времени | ? | ? |
---|
Ядро Trix | | Trix | Массачусетский технологический институт | a.out | монолитное | ? | Да | Нет | Да | ? | ? | ? | ? | ? | ? |
---|
Ядро Windows NT | C, C ++ | Windows NT, 2000,. XP, 2003, Vista, Windows 7, Windows 8, Windows Phone 8, Windows Phone 8.1, Windows 10 | Microsoft | PE и другие? | гибрид | Да | Да | Да | Да | Hyper-V | ACL | Трассировка событий | Планировщик классов мультимедиа Сервис | Нет | Неофициальный |
---|
XNU (Дарвин ядро) | C, C ++ | Mac OS X, iOS, iPadOS, tvOS, watchOS, OpenDarwin, PureDarwin GNU / Darwin | Apple Inc. | Mach-O | гибридный | Ipfirewall,. PF (начиная с Lion) | Да | Да | Да | chroot | разрешения Unix, NT / NFSv4 ACL, TrustedBSD MAC, OpenBSM | KDB, DDB, DTrace | Да | Нет | Да |
---|
СПАРТАНСКОЕ ядро | | HelenOS | Якуб Джермар | ELF | микроядро | ? | Да | Да | Да | ? | ? | ? | ? | ? | ? |
---|
Имя ядра | | Используется в | Creator | Executable. формате. (также см.. раздел. ниже) | Тип | Встроенный межсетевой экран | Поддержка SMP | Поддержка нескольких архитектур.. (также см.. раздел ниже). | Многозадачность | Виртуализация | Безопасность | Профилирование / Отладка | Программная поддержка в реальном времени | Жесткая в реальном времени время поддержка | Может сохранять RTC в UT |
---|
Поддержка транспортного протокола
Безопасность внутри ядра
Имя ядра | Управление доступом к файлам | Отключить выполнение памяти поддержка | Ядро ASLR | Обязательный контроль доступа | Безопасность на основе возможностей | Управление ключами в ядре | Audit API | Sandbox | SYN flood защита | UDP flood защита | Ping f lood защита | Smurf-атака защита | Анализ поведения сети |
---|
Linux | Традиционные разрешения Unix, POSIX ACL | Да | Да | LSM (SELinux, SMACK, TOMOYO Linux, AppArmor ) | seccomp | | fanotify | SELinux Sandbox, seccomp | SYN cookie | Нет? | Нет? | Нет? | Нет |
---|
Ядро FreeBSD | Традиционные разрешения Unix, POSIX и NFSv4 ACL | Да | ? | | Capsicum | ? | OpenBSM | Capsicum, MAC framework | Файлы cookie SYN | ? | ? | ? | ? |
---|
Ядро Solaris | Традиционные разрешения Unix, ACL POSIX, ACL NFSv4 | По умолчанию | ? | Надежные расширения Solaris | ? | ? | ? | ? | ? | ? | ? | ? | ? |
---|
Ядро Windows NT | Список управления доступом | DEP | Да | Обязательный контроль целостности | Контейнеры приложений | ? | Да | Журнал событий Windows | Да | ? | ? | ? | ? |
---|
XNU | Традиционный Разрешения Unix, NT / NFSv4 ACL | Да | Да | | ? | ? | OpenBSM | Apple XNU Sandbox | ? | ? | ? | ? | ? |
---|
Виртуализация внутри ядра
Имя ядра | Контейнер (без управления ресурсами, без защиты) | Контейнер (без управления ресурсами) | Контейнер (управление ресурсами) | Паравиртуализация | Полная виртуализация | Выполнение в пользовательском пространстве | Ядро как библиотека | Ядро как драйвер ядра | Разбиение ядра на разделы с применением гипервизора |
---|
Linux | chroot | LXC | Virtio, Hyper-V (только гость), Xen (только гость), (только гость), lguest | KVM | UML | (LKL) | (coLinux ) | Нет |
---|
Ядро DragonFly BSD | chroot | jail | Нет | Нет | vkernel | ? | ? | Нет |
---|
Ядро FreeBSD | chroot | jail | Virtio, Xen (только для гостей) | BHyVe (KVM) | ? | ? | ? | Нет |
---|
Ядро NetBSD | chroot | (sysjail (прекращено) | Нет | Virtio и Xen | Нет | ? | Ядро Rump | ? | Нет |
---|
Ядро Solaris | chroot | Контейнеры / зоны Solaris | Нет | Нет | Нет | ? | ? | Нет |
---|
Ядро Windows NT | Контейнеры приложений, объекты заданий, контейнеры Windows Server | Hyper-V | Project Drawbridge | Нет | Virtual Secure Mode, Device Guard, Credential Guard |
---|
XNU | chroot | ? | ? | ? | ? | ? | ? | ? | Нет |
---|
Поддержка сервера в ядре
Поддержка двоичного формата
Сравнение поддержки ОС для различных двоичных форматов (исполняемых файлов ):
Поддержка файловой системы
Физические файловые системы :
Ядро | Acorn ADFS | Amiga FFS | BeFS | BFS | cramfs | EFS | ext2 | ext3 | ext4 | F2FS | FAT | | HFS | HFS + | HP FS | ISO 9660 | JFFS | JFFS2 | JFS | MINIX fs | NSS | NTFS | OCFS | QNX4 FS | | UDF | UFS | XFS | ZFS | ReiserFS | Reiser4 | Btrfs | HAMMER | Tux3 | exFAT | ReFS |
---|
Ядро DragonFly BSD | Нет | Нет | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет | Нет | ограниченная запись | Нет | Нет | Нет | только чтение | Да | Нет | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет |
---|
Ядро FreeBSD | Нет | Нет | Нет | Нет | Нет | Нет | Да | Да | Нет | Нет | Да | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет | Нет | ограниченная запись | Нет | Нет | Нет | Да | Да | чтение только | Да | только чтение | Нет | Нет | Нет | Нет | ? | Нет |
---|
Ядро Linux | Да. | Да | только чтение | Да | Да | только чтение | Да | Да | Да | Да | Да | только чтение | Да | ограниченная запись ( только с пустым журналом) | Да | Да | Да | Да | Да | Да | Да | Да. (Полная чтение / запись с дополнительным драйвером пользовательского пространства) | Да | Да.. | поддержка записи? | Да | Да. | Да | и FUSE, и родной | Да | Да | Да | Нет | Да | Да | Нет |
---|
Ядро MINIX 3 | Нет | Нет | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет | Инструменты доступны, установка невозможна | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
---|
Ядро NetWare | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет | Да | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | ? | Нет |
---|
Ядро ReactOS | Нет | Нет | Нет | Нет | Нет | Нет | Да. | Да. | Да. | Нет | Да. | Нет | Нет | Нет | Нет | Да. | Нет | Нет | Нет | Нет | Нет | Только чтение | Нет | Нет | Нет | Да. | Нет | Нет | Нет | Нет | Нет | Да. | Нет | Нет | Нет | Нет |
---|
Ядро Solaris | ? | ? | ? | ? | ? | ? | Да | ? | ? | ? | Да | ? | ? | ? | ? | Да | ? | ? | ? | ? | Нет | Нет | ? | ? | ? | Да | Да | ? | Да | Нет | Нет | Нет | Нет | Нет | ? | Нет |
---|
Ядро Windows NT | ? | ? | ? | ? | ? | ? | Да. | Да. | Да. | Нет | Да | ? | Да. | Да. | Нет | Да | ? | ? | ? | ? | Нет | Да | ? | ? | ? | Да | ? | ? | Нет | Нет | Нет | Да. | Нет | Нет | Да | Да |
---|
XNU | Нет | Нет | Нет | Нет | Нет | Нет | Да. | Да. | Нет | Нет | Да | Нет | Да | Да | Нет | Да | Нет | Нет | Нет | Нет | Нет | Только для чтения | Нет | Нет | Нет | Да | Да | Нет | Только чтение | Нет | Нет | Нет | Нет | Нет | Да | Нет |
---|
Поддержка сетевой файловой системы
Поддерживаемые наборы команд ЦП и микроархитектуры
Поддерживаемые процессоры GPU
Поддерживаемая среда выполнения ядра
Поддерживаемые алгоритмы шифрования
Это может быть использовано в некоторых ситуациях, например, при шифровании файловой системы.
Supported compression algorithms
This may be usable on some situations like compression file system.
Supported message digest algorithms
Supported Bluetooth protocols
Kernel name | ACL | SCO | LMP | HCI | L2CAP | BNEP | RFComm. | SDP | TCP | AVTCP | AVDTP | OBEX | CMTP | HIDP | HCRP | CAPI | PPP |
---|
FreeBSD kernel | ? | ? | ? | Yes | Yes | ? | Yes | Yes | ? | ? | ? | No | ? | ? | ? | ? | ? |
---|
Linux | ? | Yes | ? | Yes | Yes | Yes | Yes | ? | ? | ? | ? | ? | Yes | Yes | ? | ? | ? |
---|
macOS XNU Kernel | ? | ? | ? | ? | Yes | ? | Yes | Y es | ? | ? | ? | No | ? | ? | ? | ? | ? |
---|
Kernel name | ACL | SCO | LMP | HCI | L2CAP | BNEP | RFComm. | SDP | TCP | AVTCP | AVDTP | OBEX | CMTP | HIDP | HCRP | CAPI | PPP |
---|
See also
Footnotes