Версия 2.6 ядра Linux ожидается в декабре и будет гораздо стабильнее по сравнению с предшествующей, утверждает программист, ответственный за ее выпуск.

Текущая тестовая версия 2.6.0-test10 обещает быть последней, а сама 2.6.0 появится к концу года, «если только колеса капитально не слетят», сказал в интервью во вторник смотритель 2.6 Эндрю Мортон.

Ядро Linux 2.6 содержит серьезные изменения по сравнению с версией 2.4, которую сегодня продают такие компании, как Red Hat и SuSE Linux. Одно из существенных усовершенствований заключается в возможности использования преимуществ мощных многопроцессорных серверов — то есть работы на рынке, где сегодня популярна Unix и куда пытается прорваться Microsoft. «При четырех или восьми процессорах ядро 2.4 уже выдыхается, — сказал Мортон. — Что же касается 2.6, то я очень удивлюсь, если что-то помешает ей масштабироваться до 32».

Над Linux работает большое число программистов, часто добровольцев, — они сотрудничают друг с другом и обмениваются кодом. Этот процесс разработки open-source радикально отличается от конкурирующих проприетарных проектов вроде Unix и Windows. Оба подхода объединяет одно: задержки.

В прошлом году Линус Торвальдс, который основал проект Linux и до сих пор им руководит, выразил надежду на выход версии 2.6.0 в июне. Аналогичные переносы графиков случались и с ядром 2.4, которое вышло в январе 2001 года.

Мортон — один из главных сподвижников Торвальдса (они называются «мейнтейнерами» и отвечают за различные компоненты Linux); сферой его ответственности является само ядро 2.6. В настоящее время оба программиста числятся сотрудниками финансируемого предприятиями отрасли консорциума Open Source Development Labs (OSDL).

Мортон уверен, что к моменту выхода ядра 2.6.0 оно будет оттестировано гораздо лучше, чем 2.4.0. «2.6.0-test10 уже находится на уровне готовности примерно 2.4.17, — говорит он. — С ним мы работали гораздо больше, чем с 2.4».

Однако с этим согласны не все. В октябрьском интервью главный технолог SuSE Юрген Гек сказал, что более глубокие архитектурные изменения, пришедшие с версией 2.6, означают, по его мнению, что проблем будет больше.

Обычно существует лаг между выходом нового ядра и его появлением в продуктах. Red Hat, главный поставщик Linux, прежде чем выпустить продукт с новым ядром, дождался выхода версии 2.4.2.

Red Hat тестирует новую технологию в своих выпусках Fedora Core; основной задачей Fedora Core 2 станет освоение и совершенствование ядра 2.6, прежде чем оно войдет в более инертный продукт Red Hat Enterprise Linux, который, по всей вероятности, будет переведен на ядро 2.6 не раньше 2005 года.

Red Hat и SuSE перенесли некоторые особенности ядра 2.6 в свои продукты с ядром 2.4 — так называемое «обратное портирование». В коммерческие версии ядра внесены и другие изменения, так что они отличаются от стандартных версий, которые Торвальдс выкладывает на Kernel.org.

Не допустить разветвления

Ввиду того что 2.6 содержит много настроек, используемых продавцами Linux, с выходом нового ядра разнобой между этими продуктами и стандартной версией на Kernel.org уменьшится. Это важно, так как программисты Linux стараются уберечь Linux от «разветвления» на несовместимые версии, как это произошло с Unix.

«Если это не удастся, я буду воспринимать случившееся как личное поражение, — говорит Мортон. — Такие крупные наборы поправок только добавляют работы по программированию и тестированию. Всегда остается риск, что ядро SuSE станет вести себя иначе, чем ядро Red Hat. Если это произойдет, то мы проиграли».

«Oracle, PeopleSoft, DB2 — все они заинтересованы в одной операционной системе, которая всегда работает одинаково, — убежден генеральный директор OSDL Стюарт Коуэн. — Они не хотят разветвления. Многие силы в отрасли удерживают единство операционной системы».

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

В версии 2.4 синхронизация коммерческой и разрабатываемой версий «удалась нам не очень хорошо», признает Мортон.

Торвальдс назначил Мортона на должность мейнтейнера 2.6, когда тот в 2002 году уладил разногласия между программистами относительно того, как лучше организовать подсистему виртуальной памяти Linux. «В начале этого года Линус попросил меня стать мейнтейнером 2.6 — главным образом потому, что у меня довольно хорошо получается ладить с людьми и он доверяет мне принятие технических решений, — рассказывает Мортон. — К тому же он предпочитает, чтобы это был не кто-нибудь из IBM, Red Hat или SuSE», а человек, который не зависит от этих главных сил на арене Linux.

Мортон ведает одним из основных «деревьев» Linux — набором поправок для версии на Kernel.org. Дерево Мортона «служит проводником к дереву Линуса», стандартной версии Linux: «Это место, в котором можно завязнуть. Я трачу массу времени на приведение кода к виду, в котором его можно передавать Линусу».

В версии 2.6 имеется целый ряд изменений:

• Она лучше работает в крупных многопроцессорных системах, особенно с применением конструкций с неоднородным доступом к памяти (NUMA), в которых при чтении или записи данных в память возможны многочисленные задержки.

• Она лучше поддерживает «встроенные» вычислительные устройства, такие как сотовые телефоны, сетевые маршрутизаторы или видеомагнитофоны.

• Она быстрее реагирует на такие действия оператора, как нажатие кнопок мыши или команды клавиатуры.

• В ней переработаны драйверы «блочных устройств», программные модули для связи с такими устройствами, как жесткие диски и CD-дисководы.

Стивен Шанкленд (Stephen Shankland), CNET News.com

CNET News.com