Линус Торвальдс представил новый релиз Linux ядра - 2.6.30.
В новое ядро принято более 13 тысяч исправлений от 1334 разработчиков,
размер патча - 63Мб (добавлено 1 096 994 строк кода, удалено - 470
555).
В код ядра 2.6.30 добавлено несколько существенных улучшений, связанных с файловыми системами и хранилищами данных:
- Файловая система NILFS2,
разработанная в недрах японской телефонной компании NTT, как система
особо устойчивая к сбоям. Для хранения всех данных в NILFS2
используются подобные логам структуры, в которых только добавляются
новые записи и никогда не переписываются активные. Таким образом
оборванная крахом операция записи, никак не отразится на целостности
хранимых данных. В NILFS используются B-tree деревья и 64-битные
структуры данных, поддерживается возможность фиксации снапшотов
(контрольных точек в логе) для просмотра состояния данных на
определенный момент времени. Более того с данными в снапшотах можно
продолжать работать как с альтернативной веткой ФС, существующей
параллельно.
- Файловая система Exofs (старое название osdfs),
разработанная Avishay Traeger из IBM и представляющая собой вариант
файловой системы ext2, адаптированный для работы с новым типом хранилищ
объектов OSD (Object-based Storage Device).
OSD представляет новый уровень
абстракции при размещении информации, вместо линейной
последовательности секторов в блочном устройстве (массив), представлена
идея хранения объекта как единого целого. Exofs поддерживает протокол T10 OSD
(расширение к SCSI), который позволяет передавать данные не блоками, а
объектами (целыми файлами), при раздельной передаче данных и
метаданных. Для экспериментов можно использовать тестовый OSD Initiator, хранящий данные в БД SQLite или симулятор OSD накопителя.
- 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://www.opennet.ru/opennews/art.shtml?num=22084
|