Найти тему

Разнообразие ядер Linux: какое и для чего можно выбрать

Оглавление

Мы уже знаем про разнообразие в мире Linux: существует большое количество дистрибутивов, большое количество сред рабочего стола и тайлинговых оконных менеджеров, можно даже найти достаточное количество версий какой-либо программы с открытым исходным кодом (так называемые форки). Но что если я скажу, что многообразие начинается с ядра Linux?

Ядро, но не операционная система

Для новичков среди подписчиков и читателей канала повторю мысль, изложенную в одной из самых первых заметок - Linux не является названием какой-либо конкретной операционной системы. В первую очередь это название ядра, а лишь потом семейство дистрибутивов, на этом ядре основанных. Чтобы разобраться лучше (ну или по крайней мере, иметь отправную точку для того, что начать путь к лучшему пониманию) прочитайте статью, про которую говорил ранее.

Ядра бывают разные

Тот факт, что ядро Linux обладает открытым исходным кодом позволяет участвовать в его разработке большому количеству людей, имеющих различные задачи и сценарии по использованию дистрибутива. Вполне логично, что рано или поздно сообществу оказалось мало той версии ядра, которую предложил Торвальдс. В результате, на данный момент, мы имеем две большие группы ядер Linux: официальные (бинарные) и кастомные (неофициальные или нативные). Главным отличием является то, как вы можете получить ядро из каждой группы - бинарные ядра не требуют сборки и доступны в дистрибутивах, так сказать, «из коробки», их обновление происходит автоматически. Нативные ядра собираются из исходного кода и чтобы обновить их, необходима повторная сборка.

Официальные или бинарные ядра

Это ядра, которые поддерживаются сообществом и которые им же разрабатываются (под пристальным контролем ядро-отца Линуса). Существует четыре вида официальных ядер:

  • Stable - так называемое «ванильное» ядро, поставляемое со стандартными модулями и некоторыми патчами
  • Hardened - ядро, ориентированное на безопасность и включающее в себя набор патчей, защищающих от уязвимостей (эксплоитов) как само ядро, так и дистрибутивы, на нем основанные
  • Longterm - ядро с долгосрочной поддержкой или LTS-ядро, которое гарантированно будет поддерживаться на протяжении определенного периода времени (например, текущее LTS-ядро версии 5.15 имеет поддержку до конца 2023 года) и призвано дарить пользователям стабильность и отсутствие ошибок при каком-либо обновлении.
  • Zen Kernel - ядро для систем общего пользования или говоря проще, для десктопа, куда интегрированы дополнительные возможности, не включенные в состав основного ядра (например, поддержка нового оборудования и ускоряющие работу изменения)

Кастомные или нативные ядра

Это ядра, которые изменены авторами для решения конкретных задач, «заточенное» под определенный сценарий использования. Кастомных ядер тоже немало, перечислю самые популярные из существующих:

  • Linux LQX - также называется Liquorix, является, по сути, тем же Zen-ядром, но ориентировано на использование в Debian-подобных системах
  • Linux Xanmod - включает в себя улучшение производительности для рабочих станций (иначе говоря офисных ПК), игровых компьютеров, медиацентров и других систем, а также набор патчей для ускорения работы даже на 32-битных дистрибутивах.
  • Linux TKG - ядро, которое можно использовать для сборки дистрибутива с повышенной производительностью в играх, по сути он объединяет все вышеперечисленные кастомные ядра и дополняет их набором множества патчей и дополнительных инструкций, но при этом отличается нестабильностью в работе.
  • Linux Cachyos - альтернатива предыдущим ядрам, также нацеленная на максимальную производительность, но имеющая большую стабильность в плане работы, кроме того в ядро встроено множество планировщиков, которые ускоряют обработку задач.

Получается, что официальные ядра урезаны в плане производительности?

Наличие кастомных ядер не говорит о том, что нельзя используя, например, LTS-ядро установить Steam и получать максимум удовольствия от игр или монтировать видео в 4К. Например, пользователи таких дистрибутивов, как Ubuntu или Linux Mint имеют на борту «из коробки» LTS-ядро, но при этом в плане производительности их устройства никоим образом не «ущемлены».

Ядро Linux любой версии можно рассматривать в качестве швейцарского ножа - при необходимости вы открываете нужный инструмент и решаете возникшую задачу. Например, устройствам, работающим в финансовой сфере не нужно быстродействие для запуска производительных игр или программ, также для них важна стабильность работы и устойчивость перед угрозами. Потому для них разумнее выбрать официальное ядро Hardened или кастомное ядро, в котором разработчики соединили защищенность Hardened и стабильность работы LTS ядер.

Что касается меня, то уже длительное время подсел на использование ядра Zen. Оно доступно для выбора при установке Archlinux при помощи скрипта, про которую рассказывал ранее на канале.

Я не производил замеры в быстродействии, но интуитивно ощущаю, что Zen-ядро и дистрибутив на нем, независимо от среды рабочего стола, работает быстрее и отзывчивее, чем на stable или, тем более, на LTS-ядрах. Обновляется оно без необходимости пересборки, что является его несомненным преимуществом.

Подведем итог

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

Напишите в комментариях, каким ядром пользуетесь вы и было ли желание установить и протестировать что-нибудь кастомное и неофициальное? Или стремление к стабильности и спокойной работе с дистрибутивом привели к тому, что на вашем устройстве спокойно живет официальное ядро, которое вы не трогаете?