- Лучшие модифицированные ядра Linux
- Лучшие модифицированные ядра Linux
- 1. pf-kernel
- 2. XanMod
- 4. Grsecurity
- 5. Zen-kernel
- 6. Linux-Libre
- Выводы
- Linux zen kernel.
- Related posts
- Exploring the Power of Minimal Linux Live: A Tiny Educational Linux Distribution
- Crafting Your Customized Live Linux with Linux Live Kit
- A guide to redirecting websites to 0.0.0.0 on Linux
- Installing arch Linux with archfi.
- Saved searches
- Use saved searches to filter your results more quickly
- License
- zen-kernel/zen-kernel
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
Лучшие модифицированные ядра Linux
Ядро Linux – это основа любого дистрибутива, а учитывая их количество, нет ничего удивительного в том, что разработчики модифицируют его под себя. Большая часть дистрибутивов содержит патчи для лучшей совместимости со своими компонентами.
Есть и такие ядра, которые также модифицируют, но при этом не привязывают к определённому дистрибутиву. О таких ядрах и пойдёт речь. Одни из них повышают производительность, другие снижают задержки, третьи нацелены на высокий уровень безопасности. В этой статье мы собрали самые интересные модифицированные ядра Linux.
Лучшие модифицированные ядра Linux
1. pf-kernel
Ядро pf-kernel содержит в себе несколько значимых патчей. Вот некоторые из них:
- патч для лучшей работы компилятора GCC;
- патч против утечек памяти;
- патч для создания виртуальных видеоустройств (полезно при проведении стримов);
- патч BBR для эффективной обработки пакетов TCP;
- и множество других более мелких улучшений.
Ядро примечательно тем, что имеются сборки для различных архитектур процессоров. Конечно, большой прибавки производительности это не даст, но на некоторых ноутбуках такое ядро позволит более эффективно использовать энергосберегающие функции.
2. XanMod
Ядро реального времени не сделает из 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 показывает хорошие результаты.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Linux zen kernel.
The Linux zen kernel is a kernel replacement built using the best configuration and kernel sources for use on everyday systems. I Know that installing a custom kernel might not be for everyone, but at some point you may want to try getting better performance when gaming or performing multimedia tasks & this might be a great option to look into.
To install this kernel on Ubuntu based systems you only need to do three things.
sudo add-apt-repository ppa:damentz/liquorix && sudo apt-get update
sudo apt-get install linux-image-liquorix-amd64 linux-headers-liquorix-amd64
On arch based oses the zen kernel is available within the repos. There’s also packages available for almost any other Linux distro like slackware, gentoo, opensuse or fedora (just to name a few).
This article was updated on November 19, 2020
Related posts
Exploring the Power of Minimal Linux Live: A Tiny Educational Linux Distribution
In the vast world of Linux distributions, Minimal Linux Live stands out as a unique and educational offering. This tiny…
Crafting Your Customized Live Linux with Linux Live Kit
Linux enthusiasts often seek ways to tailor their computing experience to their specific needs and preferences. Linux Live Kit offers…
A guide to redirecting websites to 0.0.0.0 on Linux
As a Linux user, you have the power to control various aspects of your system, including network configurations. One useful…
Installing arch Linux with archfi.
You want to install arch without having to do a manual install or use an alternative arch based distro. This…
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Zen Patched Kernel Sources
License
zen-kernel/zen-kernel
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
This is the 6.4.3 stable release * tag 'v6.4.3': Linux 6.4.3 fork: lock VMAs of the parent process when forking bootmem: remove the vmemmap pages from kmemleak in free_bootmem_page mm: call arch_swap_restore() from do_swap_page() mm: lock newly mapped VMA with corrected ordering mm: lock newly mapped VMA which can be modified after it becomes visible mm: lock a vma before stack expansion
Git stats
Files
Failed to load latest commit information.