Линус Торвальдс: «Никаких прорывов, никаких принципиально новых функций, ничего этого вы здесь не увидите». Фото: CC BY-SA 3.0 Linuxmag.com
Линус Торвальдс: «Никаких прорывов, никаких принципиально новых функций, ничего этого вы здесь не увидите». Фото: CC BY-SA 3.0 Linuxmag.com

«Да, изменения затронули примерно две трети драйверов и множество других компонентов, но в данной ситуации речь идет только об очередной перенумерации, — написал Торвальдс в рассылке Linux Kernel. — Никаких прорывов, никаких принципиально новых функций, ничего этого вы здесь не увидите».

О выпуске новой версии ядра планировалось объявить 19 июля, но в последний момент была обнаружена трудноуловимая ошибка. Из-за необходимости ее исправить и провести повторное тестирование системы выпуск очередной версии пришлось отложить.

На протяжении последних восьми лет добровольцы, принимающие участие в развитии Linux, работали над совершенствованием версии 2.6. Выпуск же версии 3.0 был приурочен к 20-летию Linux, которое отмечается в текущем году. Вторая причина изменения старшей цифры объясняется неудобством слишком больших номеров — предыдущая стабильная версия ядра имела номер 2.6.39.3.

«Мы выпускаем всего лишь очередной вариант ядра, один из тех, которые регулярно появлялись с момента присвоения ему номера 2.6, — заметил Джонатан Корбет, один из разработчиков ядра и редактор сайта Linux Weekly News. — Обычно люди придают довольно большое значение номерам версий, но сейчас это не тот случай.

Дело в том, что номера стали слишком большими и сложными, и на префикс '2.6' попросту перестали обращать внимание. Разработчики согласны перейти на версию 2.7, если им придется столкнуться с задачей, на решение которой уйдет больше 8-12 недель, но таких задач перед нами не возникает. В результате младшие номера версий приняли совсем уж неудобоваримый вид».

При использовании старой схемы нумерации нынешней версии ядру был бы присвоен номер 2.6.40, а его очередному обновлению — номер 2.6.40.1. При новой схеме первое обновление получит номер 3.0.1. (Для обеспечения совместимости со старыми программами версия ядра будет иметь обозначение 3.0.0, а не 3.0.)

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

В данной редакции ядра впервые реализована поддержка привилегий Dom0 (Domain 0) гипервизора Xen. Права Dom0 позволяют работать на первом, наиболее привилегированном уровне компьютера. Разрешено предоставлять доступ к другим гостевым операционным системам, что должно повысить уровень их производительности. Предыдущие версии Xen предлагали такую возможность только после соответствующей модификации ядра.

«Обновления Xen пришлось ждать очень долго, — признал Корбет. — Это классический пример того, что происходит, когда вы не стремитесь с самого начала интегрировать нужный код в нужное место. Проектирование Xen отставало от основного ядра, и разработчикам пришлось приложить очень серьезные усилия, чтобы 'повернуть свой код в нужную сторону'. Новый гипервизор виртуализации KVM (Kernel-based Virtual Machine) сумел обойти Xen и первым был встроен в ядро».

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

«Btrfs поддерживается активным сообществом разработчиков, и этот проект целенаправленно реализуется, — подчеркнул Корбет. — Единственный существенный пробел на сегодняшний день — это отсутствие действенных программ проверки файловой системы. Вместе с тем проектирование может занять довольно продолжительное время, потому что реализация файловой системы должна быть идеальной, иначе пользователи рискуют потерять свои данные».

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

В новом ядре исправлены вызывавшие большое число нареканий интерфейсы UEFI (Unified Extensible Firmware Interface) со следующим поколением BIOS, спецификации которого пока недостаточно четко определены и вызывают определенные сложности в реализации.

Ряд серьезных изменений был внесен и на сетевом фронте. В ядре появился новый оперативный компилятор сетевых пакетов, позволяющий приложениям принимать только те сетевые пакеты, что соответствуют выполняемым ими операциям. Этот компилятор экономит до 50 наносекунд на каждом пакете. Пользователям беспроводных сетей новое ядро предлагает функции пробуждения компьютера Wake on Wireless LAN (WoWLAN) при поступлении сигнала от беспроводной сети.

Другие дополнения носят специализированный характер. Системный вызов sendmmsg() позволит ускорить выполнение операций приложениями высокоскоростной обработки сообщений, применяемыми, в частности, на фондовых биржах. Работа над файловым дескриптором пространства имен призвана обеспечить безопасную рабочую нагрузку, уже давно поддерживаемую в операционной системе Sun/Oracle Solaris.