Linux ядрото е в основата на на всяка една дистрибуция и като се има предвид техния брой, не е за учудване, че разработчиците често го модифицират, за да може по-добре да покрива техните нужди. Повечето Linux дистрибуции включват специални пачове за по-добра съвместимост с техните софтуерни компоненти.
Но има и такива Linux ядра, които също са модифицирани, но в същото време не са обвързани с нито една конкретна дистрибуция. Именно на тях ще се спрем този път. Някои от тях повишават производителността, други рязко намаляват латентността, а трети са насочени към възможно най-високо ниво на сигурност. Тук са събрани най-интересните модифицирани Linux ядра.
pf-kernel
Модифицираното Linux ядро pf-kernel включва няколко големи пача. Ето основните от тях:
- Модификация за значително по-добрата работа на компилатора GCC
- Модификация за избягване изтичането на памет
- Модификация за създаване на качествени виртуални видео устройства )полезно при стрийминг)
- BBR модификацията за по-ефективна обработка на TCP мрежовите пакети
- Редица други по-дребни подобрения
Ядрото pf-kernel е характерно и с това, че има различни версии за различните процесорни архитектури. Това не повишава осезателно производителността, но дава възможност за много по-ефективното използване на фунциите за икономия на електрическа енергия.
XanMod
XanMod ядрото много прилича на pf-kernel , но има много повече модификации. Повечето от тях повишават производителността на софтуерните слоеве на съвместимостта на Wine и Anbox. Това Linux ядро е полезно за феновете на игрите. Ръстът на броя на кадрите в секунда е над 10%, което съществено повишава комфорта на геймплея.
Kernel-RT
Ядрото в реално време няма да направи съответната дистрибуция на операционна система да работи в реално време, но силно се приближава до това. Този модифициран Linux Kernel намалява до минимум латентността от момента на настъпване на прекъсването до изпълнението на командата или подпрограмата. Гарантира се, че към днешен ден това са минималните латентности от подобен род.
Съвременното Linux ядро и без каквито и да било модификации осигурява латентност около 1 ms, но твърде често прескачат забавяния от ранга на 10-100 ms. Това е критично при записа на качествено аудио, при специализираната обработка на мрежовите пакети или на сигналите от критично важни сензори.
Съществуват две версии: пачът preempt_rt (по подразбиране е включен в Linux ядрото версия 5.15), който се базира на POSIX и вариантът за стартиране върху микро ядрата Cobalt или Mercury (фреймуъркът Xenomai), както и върху наноядрото Adeos (RTAI).
Xenomai демонстрира много добри резултати, като намалява трептенията до минимум. RTAI от друга страна максимално намалява латентността, но има опасност от появата на паразитни трептения. И в двата случая е необходима модификация на драйвера на съответното устройство.
Grsecurity
Grsecurity е комплект от пачове за Linux ядрото, които имат за цел повишаване на неговата информационна безопасност. Основният компонент е PaX, който модифицира кода по такъв начин, че спира редица класове от атаки. Той защитава паметта, предназначена за кода, като не дава възможност тя да бъде презаписвана. Ако някоя програма се опита да запише нещо в тази област, то тя незабавно се спира и затваря. Също така областта с данни не може да съдържа изпълним код, а самите страници на паметта се организират по случаен начин.
Този подход не може да защити системата от самите атаки, но ги прави неефективни. Така например, препълването на буфера няма да даде възможност за модификация на кода.
Това ядро се използва предимно в сървърите. Характерна негова черта е, че се разпространява чрез абонамент, който струва около $200 месечно. Въпреки това, клиентите са много.
Zen-kernel
Zen-kernel няма големи модификации. Това е ядро, което е специално оптимизирано за работа с емулаторите на конзоли и с Wine. Една от неговите най-характерни особености е, че е оптимизирано за процесорите на Intel.
На Zen-kernel ядрото се базира специализираното ядро Liquorix, в което са направени някои модификации за по-добра съвместимост с Debian.
Linux-Libre
Навярно почти всички знаят, че Linux ядрото се разработва под GNU GPL лиценза, благодарение на който неговият код е отворен. Но то съдържа драйвери на редица устройства, които изобщо нямат драйвери с отворен код. В резултат от това в ядрото се вмъкват блобове, които подобряват поддръжката, но все пак са една потенциална опасност.
Ядрото Linux-Libre включва единствено отворен код, като от него са премахнати всички фирмени и маскирани/криптирани драйвери. По този начин то напълно съответства на GNU проекта и се използва за създаването на изцяло отворена и свободна операционна система.
Всъщност неговото използване доста трудно и ограничено, понеже не се поддържа на необходимото ниво графиката на AMD и Nvidia, както и редица други хардуерни устройства.
Изводи
Модифицираните Linux ядра се използват за най-различни цели. Така например, за игрите много добър вариант е XanMod или TKG-pds. За сървърите са по-подходящи pf-kernel и Grsecurity, като последното е адресирани предимно към едрия бизнес.
Да напомним, че ядрата за реално време нямат за цел да повишат производителността на операционната система. Тяхната основна цел е гарантираното изпълнение на определен блок команди или подпрограми за точно определено време.
Не само ядрото може да повиши скоростта и времето за реакция на операционната система. Много добри резултати се получават и при замяната на стандартните програмни библиотеки на модифицирани – например с musl libC.