Линус Торвальдс представил ядро Linux 4.11

от автора

Сегодня, после двух месяцев работы, Линус Торвальдс представил ядро Linux 4.11. Среди прочих изменений стоит выделить такие пункты, как включение поддержки журналирования в программном RAID 4/5/6, системный вызов statx(), плюс поддержка протокола Opal, что позволяет работать с самошифруемыми накопителями информации.

О масштабах изменений можно судить по количеству принятых исправлений — около 12000 от полутора тысяч разработчиков. Размер патча составляет 39 МБ. Изменены 12479 файлов, добавлено чуть больше полумиллиона строк кода, удалено более 200 тысяч. Примерно половина представленных изменений имеет отношение к драйверам устройств, около 20% — поддержка различных аппаратных архитектур, остальное — сетевой стек, файловые системы и внутренние подсистемы ядра.

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

Железо

  • Здесь добавлено несколько ожидаемых многими элементов, включая интеграцию в DRM-драйвер начальной реализации системы регулирования энергопотребления. Речь идет о Power budget, как это называется на английском. Кроме того, усовершенствована поддержка режима, который обеспечивает загрузку завершенных цифровой подписью блобов с прошивками NVIDIA. Это требуется для того, чтобы позволить активировать средства 3D ускорения графики в GeForce-1000 и более новых видеоадаптерах. К сожалению, полная поддержка новых прошивок будет обеспечена лишь в ядре 4.12;
  • В драйвер AMDGPU добавили предварительную поддержку технологии виртуализации ввода-вывода SR-IOV (Single Root Input/Output Virtualization), которая поддерживается в профессиональных картах FirePro. Появились PCI-идентификаторы для чипов POLARIS12;
  • Кроме того, в драйвере для GPU от Intel добавлены PCI-идентификаторы видеоподсистемы SoC Gemini Lake. Примечательно, что она еще не поступила в продажу, предназначена она для смены Apoolo Lake;
  • Разработчики добавили поддержку таких ARM-плат, как Banana Pi M64, HiSilicon Kirin960/Hi3660/HiKey960, SolidRun MACCHIATOBin, Broadcom BCM958712DxXMC NorthStar2, NXP LS1012a, а также систем на баз Allwinner H2+ и V3;
  • Есть новый звуковой драйвер и драйвер камеры, которая используется в Raspberry Pi.

Дисковая и файловые системы

  • Разработчики ядра добавили поддержку журналирования в RAID 4/5/6. Этот ход позволил защитить систему от потери данных в случае отключения питания или падения. Разрабатывала этот компонент компания Facebook. Журнал ведется на отельном носителе, причем данные изначально отражаются в журнале, а после — разносятся по различным дискам, которые входят в RAID-массив. В том случае, если отключается питание, даже, если информация была записана только на часть дисков, повреждений можно избежать;
  • Что касается файловой системы ext4, здесь реализована команда нового типа EXT4_IOC_SHUTDOWN. Она позволяет убедиться в том, что раздел уже остановлен и необходимости в сбросе данных, которые находятся в оперативной памяти, нет;
  • Как и говорилось выше, разработчики реализовали работу с накопителями, которые соответствуют спецификации Opal. Эта спецификация определяет принцип шифрования хранимых данных, что позволяет не допустить утечку информации в случае, если носитель с ценными данными украден или потерян. Пользователям предоставлена возможность изменять ряд настроек;
  • Для F2FS, системы, которая разрабатывается корпорацией Samsung, включена опция inline_xattr, обеспечивающеая inline-хранение в inode атрибутов xattr;
  • Поддержка NFSv4 по UDP отключена, поскольку она была неработоспособной. Плюс ко всему, отключены по умолчанию метки безопасности для NFS.

Виртуализация

  • В ядро теперь встроена реализация алгоритма SipHash, которая представляет собой безопасный и быстрый метод хэширования;
  • Добавлен интерфейс /sys/kernel/security/lsm — через него теперь можно узнать список активных LSM-модулей;
  • Добавлена реализация алгоритма шифрования AES, которая обеспечивает фиксированное время выполнения для защиты от атак определенного типа, когда злоумышленник пытается определить тип данных на основе изменения времени обработки операции;
  • Генератор псевдослучайных чисел переведен с хэширования MD5 на использование безопасного и быстрого алгоритма поточного шифра ChaCha20.

Сеть

  • Здесь реализован новый тип сокетов, "SMC-R" (Shared Memory Communications over RDMA, RFC-7609), который предназначен для организации каналов связи поверх RDMA (Remote Direct Memory Access). Этот протокол разработан корпорацией IBM и обеспечивает возможность адаптировать написанные для TCP приложения для работы в
  • сетях RoCE (RDMA over Converged Ethernet);
  • Появился новый модуль «psample» для выборки сетевых пакетов, которые проходят через сетевой интерфейс для дальнейшего отсеивания фильтром-классификатором;
  • В TCP-стеке включен по умолчанию механизм RACK, позволяющий определять потери пакетов. В этом случае используется время передачи, а не последовательность прихода пакетов;
  • Для TCP-сокетов добавлена новая опция TCP_FASTOPEN_CONNECT;
  • Есть новый драйвер для создания сетевых интерфейсов Ipvlan, драйвер — ipvtap.


ссылка на оригинал статьи https://habrahabr.ru/post/327678/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *