Лучшие модифицированные ядра Linux

Ядро Linux – это основа любого дистрибутива, а учитывая их количество, нет ничего удивительного в том, что разработчики модифицируют его под себя. Большая часть дистрибутивов содержит патчи для лучшей совместимости со своими компонентами.

Есть и такие ядра, которые также модифицируют, но при этом не привязывают к определённому дистрибутиву. О таких ядрах и пойдёт речь. Одни из них повышают производительность, другие снижают задержки, третьи нацелены на высокий уровень безопасности. В этой статье мы собрали самые интересные модифицированные ядра Linux.

Содержание статьи:

Лучшие модифицированные ядра Linux

1. pf-kernel

Ядро pf-kernel содержит в себе несколько значимых патчей. Вот некоторые из них:

  • патч для лучшей работы компилятора GCC;
  • патч против утечек памяти;
  • патч для создания виртуальных видеоустройств (полезно при проведении стримов);
  • патч BBR для эффективной обработки пакетов TCP;
  • и множество других более мелких улучшений.

Ядро примечательно тем, что имеются сборки для различных архитектур процессоров. Конечно, большой прибавки производительности это не даст, но на некоторых ноутбуках такое ядро позволит более эффективно использовать энергосберегающие функции.

2. XanMod

MevJkzi4EY1IL5nTic92A359+qCpx8LKgtsAAAAABJRU5ErkJggg==

Ядро XanMod во многом похоже на pf-kernel, но содержит даже большее количество патчей. Многие из них направлены на повышение производительности слоёв совместимости Wine и Anbox. Это ядро может быть полезно любителям игр. Прирост кадров в секунду в некоторых играх превышает 10%, что может существенно повысить комфорт в игре.

3. Kernel-rt

Ядро реального времени не сделает из Linux настоящую операционную систему реального времени (ОС РВ), но поможет приблизиться к этому. Оно нужно для того, чтобы минимизировать задержки от момента поступления прерывания и до выполнения команды и гарантировать минимальное значение этих задержек.

Современное ядро и без модификаций способно обеспечить задержку в районе 1 мс, но при этом могут проскакивать значения в районе 10-100 мс. Это может быть критично при звукозаписи, обработке сетевых пакетов или сигналов с критически важных датчиков.

Есть две реализации ОС РВ: патч preempt_rt (он включён по умолчанию в ядре 5.15, а также в модифицированных ядрах, вроде XanMod-rt), опирающийся на стандарт POSIX и запуск ядра Linux поверх микроядра Cobalt или Mercury (фреймворк Xenomai) или же наноядра Adeos (RTAI).

Xenomai показывает хорошие результаты, снижая джиттер до минимума. RTAI напротив, пытается получить минимально возможные задержки, при этом их колебания будут сильнее. И в том, и в другом случае надо модифицировать драйвер устройства. С патчем preempt_rt достаточно лишь внести коррективы в саму программу, повысив приоритет потоков, но остальные, менее важные компоненты системы станут менее отзывчивыми.

4. Grsecurity

Grsecurity — это набор патчей для ядра, призванных повысить его безопасность. Основной компонент — PaX, он модифицирует код таким образом, что закрывается целый ряд атак. Он защищает выделенную под код память, делая её не перезаписываемой. Если какая-то программа попытается внести изменения в эту область памяти, то она немедленно будет закрыта. Также область данных не может содержать исполняемый код, а сами страницы памяти записываются в произвольном месте.

Такой подход не может защитить от самих атак, но сделает их неэффективными. Например, переполнение буфера не приведёт к возможности изменить код, и даже получить данные едва ли получится, так как результат практически невозможно предсказать.

Это ядро будет полезно в первую очередь на серверах, стоит учесть и то, что оно распространяется по подписочной системе. Стоимость подписки составляет около 200 долларов в месяц. Также можете рассмотреть SELinux, однако, это ядро в основном направлено на разграничение прав доступа к файлам и регулирование сетевых политик.

5. Zen-kernel

Zen-kernel не может похвастать большим количеством существенных отличий от стандартного ядра. Ранее его ставили для того, чтобы использовать альтернативный планировщик BFS, а затем MuQSS. К сожалению, ни тот ни другой больше не разрабатываются, о прекращении развития последнего стало известно совсем недавно 4 сентября 2021 года.

Планировщик действительно был полезен, особенно в работе с играми. Если же вам нужно ядро, оптимизированное под работу с эмуляторами консолей и Wine, то обратите своё внимание на kernel-tkg, но учтите, что патчи рассчитаны преимущественно на процессоры Intel.

На Zen-kernel также основано ядро Liquorix. Оно практически идентично, за тем лишь исключением, что применено несколько патчей для лучшей совместимости с Debian.

6. Linux-Libre

Многие из вас знают о том, что ядро Linux разрабатывается по лицензии GNU GPL, что обуславливает открытость кода. Но при этом в ядре содержатся драйверы устройств, и не всегда есть возможность получить драйвер с открытым кодом. В результате в ядре появляются кляксы (блобы), улучшающие поддержку устройств, но представляющие потенциальную опасность.

Ядро Linux-Libre содержит только открытый код, разработчики исключили из его состава все проприетарные и обфусцированные драйверы. Таким образом ядро соответствует требованиям проекта GNU и может стать основой свободной операционной системы GNU.

На практике такое ядро крайне сложно использовать. У Linux и без этого не лучшая поддержка драйверов, а с этим ядром придётся тщательно выбирать комплектующие для компьютера. Например, вы не сможете использовать графику AMD или Nvidia. Несмотря на то, что есть открытые драйверы Mesa и Nouveau, базовый драйвер видеокарт закрыт.

Выводы

Как видите, модифицированные ядра создаются для разных целей. Для игр неплохим решением станут XanMod или TKG-pds. Для серверов подойдут ядра pf-kernel и Grsecurity, хотя последнее вряд ли применимо для малого бизнеса.

Ядра реального времени совсем скоро утратят свою актуальность, так как необходимые изменения внесены в последнюю версию оригинального ядра. В любом случае эти ядра не рассчитаны на повышение производительности, их цель — гарантированное выполнение команд за отведённое время.

За последнее десятилетие модифицированные ядра частично утратили свою актуальность. Многие патчи были перенесены в основную ветку ядра. Прошли те времена, когда такие ядра давали прирост 10-20%. Но технологии не стоят на месте, меняются запросы бизнеса и пользователей. Это позволяет создавать новые патчи с учётом потребностей рынка.

И помните, не только ядро может повысить производительность и отзывчивость системы. Есть множество других способов внести коррективы в её работу, например, замена стандартных библиотек, в ряде случаев на musl libC показывает хорошие результаты.


Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Оцените статью:

Загрузка…

Источник: https://losst.ru/
Материал распространяется под лицензией CC-BY-SA

EnglishRussian