Опубликован: 24.07.2006 | Уровень: для всех | Доступ: свободно
Лекция 18:

Обновление ядра

Что такое ядро и когда его надо менять

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

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

Можно задать вопрос: "В каких случаях это необходимо?". Действительно, если система неплохо работает со старым ядром, то стоит ли заниматься его обновлением? Основными причинами, приводящими к выводу о необходимости обновления ядра, являются:

  • обновление аппаратуры компьютера, подключение новых устройств, которые не поддерживаются старым ядром;
  • необходимость работы с новыми программами, которые рассчитаны на новую версию ядра и отказываются работать с версией, установленной у вас;
  • обнаружение каких-то ошибок в старой версии ядра, в частности таких, которые представляют угрозы с точки зрения безопасности;
  • желание повысить производительность системы, используя более совершенную версию ядра, либо оптимизировать ядро для работы с конкретным набором аппаратных средств, имеющихся на вашем компьютере;
  • и, наконец, простое любопытство и желание работать с последней версией системы.

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

Нумерация версий ядра

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

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

Как заявил Линус Торвальдс в одном из своих интервью, он предпочитает как раз заниматься экспериментальной веткой, разрабатывать код, работающий с новыми устройствами. Основным координатором разработки стабильной ветки является в настоящее время Алан Кокс, регулярно выпускающий обновленные версии или "заплатки" к стабильным версиям ядра1Во время подготовки книги к изданию появилось сообщение, что Алан Кокс передал функции координации работ по стабильной ветке ядра Марчело Тосатти (Marcello Tosatti) .

Владислав Гермак
Владислав Гермак
У Вас ошибка в курсе
Марина Дайнеко
Марина Дайнеко
Россия, Moscow, Nope, 2008
Александр Климов
Александр Климов
Россия, Московское высшее техническое училище им. Н. Э. Баумана, 1989