Сводка Knoppix.ru от 14.06.2003 Путешествие к ядру
Безусловный хит среди событий последнего дня - выход очередной стабильной версии Ядра. Ядра, конечно же, операционной системы Linux. Продукт за номером 2.4.21 стал результатом полугодовой напряжённой работы тысяч энтузиастов-одиночек и компаний со всего мира, родившись из доброго десятка предварительных версий. К настоящему моменту kernel 2.4.21 доступно с ftp-серверов в том числе и в России - и вы можете попробовать обновить свою систему, выкачав и скомпилировав 34-мегабайтный файл с исходными текстами, к примеру, с российского зеркала центрального "ядерного" сервера kernel.org
Ядро по праву считается едва ли не самым интересным компонентом всей операционной системы - поскольку именно с него начинается развитие любой ОС. Ядро всегда имеет самую богатую биографию и во многом определяет принципы, по которым будет жить вся система в будущем. Первая версия ядра Linux была написана Линусом Торвальдсом в 1991-м году - и идеи, рождённые в начале 90-х, живут в Linux-сообществе по сей день. Так сохраняется система нумерации: пока ядро "сырое", содержит много непроверенных инноваций, оно выпускается под номерами нечётными (таким было 2.1.x). Эти версии ядра непригодны к использованию рядовыми пользователями из-за большой вероятности возникновения ошибок в работе системы. По мере вычищения багов и всестороннего совершенствования, ядро становится пригодным для использования не только разработчиками - и его выпускают под чётным номером (2.4.x как пример).
Именно ядра с чётными номерами ложатся в основу большинства популярных дистрибутивов Linux - примерами которых можно считать ALT Linux, ASP Linux, Knoppix и Slackware.
Кто занимается поиском и устранением ошибок, добавлением новых функций? Все, кого это привлекает - рядовые пользователи, частные разработчики, профессионалы, работающие на коммерческие компании. Анализ кода можно вести самостоятельно, а по обнаружении бага - сообщить о нём в один из листов рассылки Kernel.org (место сбора всех ядерных хакеров). В случае, если вы в состоянии самостоятельно разработать "заплатку", устраняющую из кода ядра некую ошибку или добавляющую к нему новую функцию, сообщение о выпуке "заплатки" (патча) посылается туда же. Сбором и обработкой писем занимаются администраторы, каждый из которых отвечает за свой сегмент системы - и одним из них является сам Линус. После того, как новый патч будет предварительно проверен, он может быть включён в код системы. Взгляните на changelog
ветки 2.4.21: этот список хранит историю всех изменений, вносившихся в код ядра с момента выпуска 2.4.21-pre1 (предварительный релиз, последовавший за стабильной версией 2.4.20) и до вчерашнего выхода финальной 2.4.21-rc8, ставшей 2.4.21
Впрочем, на самом деле всё ещё сложней и интересней: ведь параллельно с разработкой основной ветви ядра идёт развитие ещё нескольких боковых ветвей. Часть из них - старые: многие пользователи Linux по сей день и по разным причинам не желают переходить на ветвь 2.4, поэтому ведётся развитие ветви 2.2 Одновременно, из-за здорового консерватизма Линуса Торвальдса, включающего в ведомую им основную ветвь только проверенные компоненты, развивается экспериментальная ветка 2.5 (её ведёт Алан Кокс), содержащая самые современные драйверы, смелые попытки оптимизации и тому подобные рисковые элементы. Когда в одной из параллельных ветвей находится некое новое, интересное решение, его часто включают в основую ветвь.
Конечно, охватить в рамках короткой заметки все процессы и течения в сообществе разработчиков Ядра невозможно. Поэтому всем заинтересовавшимся стоит отправиться на самостоятельные изыскания. Хорошим местом для начинающих может стать английский FAQ, охватывающий массу вопросов, связанных с ядром Linux (см. http://www.tux.org/lkml/), сайт Kerneltrap.org, в популярной форме освещающий основные события в упомянутом сообществе, и, конечно, код самого ядра, за которым следует отправиться на Kernel.org Счастливого хака!