Релиз Linux ядра 2.6.30. Обзор новшеств
10 июня 2009 года
Линус Торвальдс представил (Архивная копия от 21 апреля 2015 на Wayback Machine) новый релиз Linux ядра - 2.6.30. В новое ядро принято более 13 тысяч исправлений от 1334 разработчиков, размер патча - 63Мб (добавлено 1 096 994 строк кода, удалено - 470 555).
В код ядра 2.6.30 добавлено несколько существенных улучшений, связанных с файловыми системами и хранилищами данных:
- Файловая система NILFS2 (Архивная копия от 4 июня 2009 на Wayback Machine), разработанная в недрах японской телефонной компании NTT, как система особо устойчивая к сбоям. Для хранения всех данных в NILFS2 используются подобные логам структуры, в которых только добавляются новые записи и никогда не переписываются активные. Таким образом оборванная крахом операция записи, никак не отразится на целостности хранимых данных. В NILFS используются B-tree деревья и 64-битные структуры данных, поддерживается возможность фиксации снапшотов (контрольных точек в логе) для просмотра состояния данных на определенный момент времени. Более того с данными в снапшотах можно продолжать работать как с альтернативной веткой ФС, существующей параллельно.
- Файловая система Exofs (Архивная копия от 13 апреля 2009 на Wayback Machine) (старое название osdfs), разработанная Avishay Traeger из IBM и представляющая собой вариант файловой системы ext2, адаптированный для работы с новым типом хранилищ объектов OSD (Object-based Storage Device).
OSD представляет новый уровень абстракции при размещении информации, вместо линейной последовательности секторов в блочном устройстве (массив), представлена идея хранения объекта как единого целого. Exofs поддерживает протокол T10 OSD (Архивная копия от 16 октября 2012 на Wayback Machine) (расширение к SCSI), который позволяет передавать данные не блоками, а объектами (целыми файлами), при раздельной передаче данных и метаданных. Для экспериментов можно использовать тестовый OSD Initiator, хранящий данные в БД SQLite или симулятор OSD накопителя (Архивная копия от 2 июня 2011 на Wayback Machine).
- fscache/cachefiles - разработанная в Red Hat универсальная инфраструктура для организации кэширования в локальной файловой системе данных, передаваемых через сетевые файловые системы, подобные NFS и AFS.
- В экспериментальном режиме ("staging") в состав ядра включен код высокопроизводительной распределенной сетевой файловой системы POHMELFS и устройства DST, представляющего собой драйвер сетевого устройства транспортного уровня для организации распределенных хранилищ данных, функционирующего в ядре на уровне блочного устройства, работающего поверх нескольких машин в сети (ближайшие аналоги - DRBD, iSCSI и NBD). Основные характеристики POHMELFS можно посмотреть здесь, DST - здесь. Системы разработаны Евгением Поляковым.
- Добавлены патчи улучшающие работу файловых систем btrfs, reiserfs, ext3, ext4. В состав включен патч к файловой системе ext4 с решением проблемы с потерей данных в файлах, перезаписываемых незадолго до момента краха системы. В патче представлен новый режим монтирования "auto_da_alloc", меняющий поведение отложенной записи данных при выполнении функций close и rename;
- Начальная поддержка NFS 4.1, уже реализована поддержка сессий, но интеграция кода Parallel NFS ожидается только в будущих версиях.
- В MD реализации программного RAID добавлена поддержка дополнительного контроля целостности данных, добавлены средства для преобразования raid6 в raid5 и реализована поддержка создания RAID6 поверх RAID5, RAID4 поверх RAID5 и RAID5 поверх RAID1. В DM (device mapper) появилась поддержка механизма "барьеров", который позволяет обеспечить неизменность некоторых запросов в очереди ввода/вывода для корректной фиксации транзакций ФС;
Другие заметные улучшения:
- Существенно переработана поддержка спящего и ждущего режима (suspend/resume), особенно в плане поддержки временной остановки во многих драйверах устройств;
- Поддержка протокола RDS (Reliable Datagram Sockets), предназначенного для высокоскоростного обмена сообщениями между узлами в кластере, с минимальной задержкой и гарантированной доставкой. Код предоставлен компанией Oracle;
- Реализована поддержка модулей безопасности TOMOYO Linux, по сути очень похожих на AppArmor, также привязывающих политику безопасности процесса к файловому пути, но реализованные концептуально более правильно (патч с AppArmor ранее был отвергнут для включения в Linux ядро);
- IMA (Integrity Management Architecture) - инфраструктура контроля целостности исполняемых файлов, созданная разработчиками IBM как дополнение средств SELinux и Slim возможностью защиты в офлайн режиме (например, когда злоумышленник получает доступ загрузившись со своего LiveCD). Новая система позволяет исполнять только файлы, имеющие корректную цифровую подпись, при изменении или замене файла его выполнение будет блокировано;
- Реализована поддержка чернового варианта будущего стандарта IEEE 802.11w, определяющего некоторые новые технологии для повышения безопасности передачи управляющей информации в беспроводных сетях;
- Добавлены системные вызовы preadv() и pwritev(), имеющиеся в BSD-системах;
- Расширена поддержка нового оборудования, в комплект включено много новых драйверов устройств (особенно WiFi), код звуковой системы ALSA обновлен до версии 1.0.19. В беспроводном стеке улучшена поддержка режимов энергосбережения, представленных в современных Wifi картах;
- Обработчики прерываний переведены на многопоточную систему работы, что позволит существенно повысить отзывчивость системы за счет ухода от блокировок;
- Добавлены дополнительные патчи, позволяющие уменьшить время загрузки ядра за счет асинхронной инициализации некоторых подсистем и аппаратных устройств, разработанные в рамках проекта Moblin.
- Добавлен DRM (Direct Rendering Manager) модуль для видеокарт ATI R600/700;
- Поддержка сжатия собранного образа ядра методами LZMA и BZIP2 для initramfs;
- В сетевую подсистему принят патч, позволяющий организовать обработку более 64 тысяч одновременных соединений через один bind() с указанием нулевого порта (номер порта будет выбран из группы доступных локальных адресов);
- Добавлена поддержка архитектуры MicroBlaze (софт-процессоры на базе Xilinx FPGA), обновлена input-прослойка, улучшен код загрузки прошивок (firmware), добавлен драйвер intel для организации виртуальных сетей.
Источники
править- Главная ссылка к новости (http://permalink.gmane.org/gma...) (Архивная копия от 21 апреля 2015 на Wayback Machine)
- kernelnewbies.org: список изменений в 2.6.30
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.