понедельник, 30 мая 2011 г.

Представлен первый тестовый выпуск Linux-ядра 3.0


Линус Торвальдс анонсировал выход тестовой версии Linux-ядра 3.0-rc1, окончательно утвердив план по изменению нумерации версий. Таким образом версию 2.6.39 можно считать последним выпуском ветки 2.6.x, которая развивается уже около 10 лет.

В анонсе отдельно подчеркивается, что версию 3.0 не стоит считать каким-то кардинальным шагом, какой можно было наблюдать при появлении GNOME 3.0 или KDE 4.0. Linux-ядро 3.0 - это просто формальная смена нумерации, приуроченная к двадцатилетию проекта и десятилетию существования ветки 2.6.x, не более. Никаких серьезных нарушений совместимости или специальных новшеств не будет. Новое ядро плавно продолжит развитие текущей кодовой базы и по уровню нововведений будет сравнимо с версией 2.6.40. Процесс разработки также останется прежним.

Следующим после 3.0 выпуском станет версия 3.1, затем 3.2 и так далее, пока не пройдут очередные 10 лет или не возникнет потребность коренных изменений, связанных с глобальной переработкой ключевых подсистем или нарушением совместимости. В процессе накопления патчей корректирующие обновления будут представлены как 3.0.1, 3.0.2, 3.0.3 и т.п.

В представленной версии 3.0-rc1 около 2/3 всех изменений связаны с кодом драйверов устройств. Из других изменений можно отметить:
  • Добавление реализации нового типа кэша Cleancache, который может использоваться ядром для хранения восстановимых из других источников данных, которые не страшно потерять, но при наличии ресурсов неплохо держать в памяти. Например, в Cleancache могут храниться ассоциированные с файлами на диске страницы памяти, которые в случае очистки кэша впоследствии могут быть перечитаны с диска. Поддержка CleanCache уже добавлена в Ext3, Ext4, Btrfs, OCFS2 и Xen. Cleancache является первой практической реализацией появившейся в ядре 2.6.39 техники трансцендентного управления памятью ("Transcendent memory"), позволяющей улучшить поведение системы при работе с не представляющими важность данными (например кэш) в условиях дефицита оперативной памяти. По сути Transcendent memory напоминает RAM-диск, имеющий ряд особенностей: размер RAM-диска не известен, запись данных не всегда может быть гарантирована и уже записанные данные могут быть очищены (удалены).
  • Поддержка раздельных номеров файловых дескрипторов внутри изолированных пространств Namespace. Namespace является своеобразной легковесной техникой виртуализации, при которой некоторые процессы могут быть отрезаны от остальной системы, работая в отдельном пространстве имен и не влияя на другие части системы.
  • Продолжение реорганизации кода, связанного с платформой ARM;
  • Проведение оптимизации и чистки кода в подсистеме VFS;
  • Добавление разработанного в рамках проекта OpenKinect драйвера для устройств Microsoft Kinect. В настоящее время драйвер способен принимать с устройства видеопоток, взаимодействуя с RGB-сенсором или монохромным сенсором, т.е. позволяет использовать Microsoft Kinect в роли web-камеры или инфракрасной камеры. Датчики глубины пока не поддерживаются;
  • Обновлен код DRM-модулей Intel, Radeon и Nouveau. Проведена оптимизация производительности для гибридных процессоров Intel Sandy Bridge, обеспечена начальная поддержка Intel Ivy Bridge и AMD Fusion Llano APU;
  • Добавлен недостающий storage-бэкенд Xen, который ознаменовал завершение добавления всех компонентов Xen, необходимых для работы Dom0 без установки дополнительных патчей;
  • В код netfilter интегрирован JIT-компилятор правил, поддерживающий работу на системах x86-64, что позволит значительно увеличить производительность обработки пакетов пакетным фильтром.
  • Для беспроводных карт Realtek представлен новый драйвер rtl8192se;
  • Поддержка непривилегированных ICMP-сокетов, при помощи которых можно организовать работу ping и других отладочных утилит без предоставления дополнительных привилегий через suid-бит или capabilities.