GNU/LinuxВышел релиз Linux ядра 2.6.31. Обзор новшеств

Линус Торвальдс объявил в списке рассылки Linux ядра о выходе релиза 2.6.31. В новое ядро принято около 12 тысяч исправлений от 1356 разработчиков, размер патча — 57Мб (добавлено 923 тыс. строк кода, удалено — 513 тыс.). 70% всех изменений связано с инфраструктурой драйверов и еще 6% связано c прошивками (firmware) и звуковой подсистемой, что значительно больше неформального баланса «50% изменений в драйверах и 50% во всем остальном». Примерно 11% изменений имеют отношение к поддержке различных аппаратных архитектур (ARM, mips, powerpc, sh, x86) и примерно столько же приходится на код, обеспечивающий работу файловых систем.
Основные новшества:

Поддержка USB 3.0 и хост-контроллеров, соответствующих спецификации xHCI 0.95 (eXtensible Host Controller Interface). Стандарт USB 3.0 определяет в качестве максимальной скорости передачи данных через USB интерфейс — 4.8 гигабит в сек., что в 10 раз быстрее USB 2.0;

CUSE — расширяет возможности FUSE поддержкой создания драйверов символьных устройств (например, драйверов для звуковых карт), работающих на пользовательском уровне. Одним из первых проектов использующих CUSE является OSS Proxy, универсальный эмулятор звуковых устройств, позволяющий пробрасывать звук поверх сети на звуковую карту другой машины или организовать более полный уровень совместимости OSS-приложений с звуковой подсистемой ALSA, позволяющий в один и тот же момент использовать интерфейсы OSS (/dev/dsp, /dev/adsp и /dev/mixer) и ALSA;

Проведена работа по улучшению отзывчивости системы при выполнении типовых десктоп операций в условиях нехватки оперативной памяти. Удалось добиться уменьшения на 50% числа запросов, попадающих на вытесненные в раздел подкачки страницы памяти, и на 1/3 уменьшить число обращений к свопу (pswpin), что продемонстрировало в тестах увеличение интерактивности при работе с десктопом примерно в два раза;

Включение в состав KMS (Kernel Mode Setting) модуля для манипулирование видеорежимами на уровне ядра для карт ATI Radeon. В настоящий момент поддерживаются карты R1XX,R2XX,R3XX,R4XX,R5XX, в скором времени ожидается поддержка карт R6XX, R7XX и более новых (HD2XXX — HD4XXX);

Добавлена подсистема Performance Counter, позволяющая задействовать для выявления узких мест, отладки и профилирования специальных «PERFMON» регистров, доступных в современных CPU (например, Intel Core 2). Регистры PERFMON могут отразить такие статистически данные, как число выполненных инструкций, распределение попаданий данных во внутренний кеш, качество работы предсказательной логики CPU. Достоинство задействования аппаратных счетчиков производительности в возможности проведения операции профилирования без использования ptrace и без замедления работы на выполнение сопутствующих вычислений. Для управления представлена специальная утилита perf, поддерживающая в числе прочего и top-подобный формат вывода текущей статистики;

Поддержка стандарта IEEE Std 802.15.4, определяющего низкоскоростной (до 250 Кб в сек), но энергоэффективный метод беспроводной передачи данных на небольшие расстояния (около 10 метров). Основное назначение — беспроводное соединение различных датчиков, переключателей и устройств автоматизации;

Предварительная поддержка работы в режиме NFS 4.1 клиента;

Улучшение средств по выявлению ошибок в ядре:

— Kmemcheck — механизм для выявления фактов некорректной работы Linux ядра с памятью, позволяющий выявить неинициализированные области выделенной через kmalloc памяти. Kmemcheck осуществляет мониторинг всех операций записи и чтения, сохраняя в логе все факты чтения блоков памяти, в которые до этого не производилась запись;
— Kmemleak — механизм для определения утечек памяти в Linux ядре. Используется метод похожий на применяемый в системе Valgrind;
— Поддержка использования утилиты gcov из состава GCC для кода Linux ядра. Gcov позволяет проанализировать частоту выполнения различных участков кода и выявить блоки которые можно подвергнуть оптимизации;

С нового Firewire стека переведен из разряда экспериментальных в разряд базового стека, заменившего собой стек ieee1394. Кроме того, в ядре 2.6.31 добавлена поддержка проброса IPv4 поверх Firewire;

Значительное расширение поддерживаемого оборудования, например, добавлен новый беспроводной драйвер iwmc3200wifi для карт Intel Wireless Multicomm 802.11;

fsnotify — новая реализация механизма для слежения за событиями в файловой системе, представляющая собой переработанный вариант inotify и dnotify, основанный на использовании новой инфраструктуры нотификации в VFS;

Внесен ряд cущественных улучшений в код файловых систем Btrfs и Ext4.

Выпустив релиз 2.6.31, разработчики сразу переключились на подготовку следующей версии: Грег Кроа-Хартман (Greg Kroah-Hartman) опубликовал в своем блоге подробный обзор состояния экспериментальной «staging» ветки и подчеркнул какие из проектов уже готовы для включения в состав Linux ядра 2.6.32.

Источник: OpenNET
  • +8
  • DrAcula
  • 10 сентября 2009, 13:14

Комментарии (5)

  • avatar
  • eReS
  • 10 сентября 2009, 14:00
  • #
  • 2
Ура!
Убунтовцы могут приобщиться прямо сейчас: 2.6.31
  • avatar
  • mPolr
  • 15 сентября 2009, 12:14
  • #
  • 0
Сегодня поставил. Наконец-то заработал SoundBlaster X-Fi :)
  • avatar
  • STILL
  • 25 сентября 2009, 23:13
  • #
  • 0
Приятно то, что Операционные Системы GNU на основе ядра Linux стали первыми ОС, которые включили поддержку интерфейса USB 3.0, а это говорит о высоком уровне развития и эффективности сообщества СПО.
На самом деле, если посмотреть на «модные» и самые свежие тенденции в IT-отрасли, то можно без труда заметить, что все они пришли из линукс или имеют прямое отношение к OpenSource, вот примеры навскидку:
— облачные вычисления
— виртуализация
— нетбуки и «зеленые» IT
и т.п.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.