- PVSM.RU - https://www.pvsm.ru -

Представлено ядро Linux 4.9

Представлено ядро Linux 4.9 - 1

Прошло два месяца активной работы над новой версией ядра, и сегодня Линус Торвальдс наконец-то представил ядро Linux 4.9 [1]. Наиболее заметными измерениями можно назвать инструменты для диагностики и блокирования переполнений стека ядра, а также включение поддержки SELinux в OverlayFS, плюс реализация шины Gerybus, чего хотелось многим.

Что касается статистики, то она, как всегда, обширна. В новой версии было принято 15 тысяч исправлений от 1400 разработчиков. Общий размер патча составляет 45 Мб. Изменения в патче затронули 11042 файлов, с добавлением 632157 строк кода и удалением 354728 строк. Не является сюрпризом и то, что большая часть (около 42%) представленных в этой версии изменений так либо иначе связаны с драйверами устройств. Еще 19% изменений связаны с обновлением кода для различных аппаратных архитектур, 12% — сетевой стек, 5% — файловые системы, 4% — подсистемы ядра.

Ну а теперь немного чуть подробнее о том, что же является значимыми изменениями [2] в новой версии ядра [3].

Сетевая подсистема

  • Наконец-то в ядро добавлена реализация алгоритма контроля перегрузки TCP, который предложила корпорация Google. Речь идет о так называемом BBR (Bottleneck Bandwidth and RTT), который успешно применяется для того, чтобы сократить задержки передачи данных для трафика с таких ресурсов, как google.com и YouTube;
  • В netfilter был добавлен модуль генерации случайных чисел. Этот модуль рекомендуется использовать для выбора случайного назначения пакета, например, это может быть рэндомное распределение по очередям;
  • Представлен новый механизм настройки сетевого mesh-протокола B.A.T.M.A.N. («Better Approach To Mobile Adhoc Networking), реализованный на основе интерфейса netlink;
  • Плюс ко всему в netfilter добавили механизм „quota“, где реализованы байтовые квоты. В качестве примера можно привести возможность установки квоты в 100 Мб, где после того, как исчерпан лимит трафика для этого правила, действие самого правила прекратится.

Безопасность и виртуализация

  • Здесь, главным образом, нужно выделить добавление нескольких изменений с реализацией механизма виртуального маппинга стека ядра (CONFIG_VMAP_STACK), который предоставляет целый ряд инструментов для определения и блокирования переполнений стека. Все сказанное актуально для архитектуры х86. Новая возможность, скорее всего, станет проблемой для злоумышленников, которые планируют эксплуатировать уязвимости в ядре. Эти изменения позволяют сократить число операций по распределению памяти, повысить безопасность и реализовать различные средства для того, чтобы осуществить диагностику выхода за границы стека. Все это реализовано благодаря разработчикам, минимизировавшим задержку за счет оптимизаций и кэширования;
  • Для SELinux добавили поддержку многослойных файловых систем — это, в первую очередь, OverlayFS. Они используются для построения окружений в системах так называемой контейнерной изоляции;
  • Также реализованы такие системные вызовы, как pkey_alloc(), pkey_free() и pkey_mprotect(), где добавлена поддержка специфического механизма PKU (Memory Protection Keys for Userspace), который работает в будущих моделях процессоров Intel.

Системные сервисы и память

  • Здесь основным изменением является добавление подсистемы Greybus. Она разработана специально для того, чтобы обеспечить взаимодействие компонентов модульного смартфона Ara [4] (да, про него не забыли!). Так вот, Greybus позволяет использовать внутреннюю шину для взаимодействия аппаратных компонентов, которые подключаются по мере необходимости. Здесь есть поддержка маршрутизации вызовов и приватного взаимодействия. А это позволяет двум компонентам взаимодействовать друг с другом в закрытом режиме. Возможно, энтузиасты проекта модульного смартфона теперь смогут продолжить работу;
  • Добавлен новый набор файлов в /sys/kernel/irq, где описывается состав таблицы обработчиков прерываний. Новый набор позиционируется, как замена /proc/interrupts;
  • Появилась опция CONFIG_DEBUG_TEST_DRIVER_REMOVE, которая позволяет протестировать работоспособность выгрузки драйвера устрйоства через выполнение цикла загрузки, выгрузки и повторной загрузкий драйвера на начальном этапе — инициализации устройства. Все это работает в автоматическом режиме;
  • Также разработчики продолжили развивать средства форматирования документации к ядру.

Файлы и диски

  • Модуль FUSE получил поддержку списков контроля доступа, которые соответствуют POCIX ACL;
  • В файловую систему XFS добавлена поддержка ряда общих экстентов, которые позволяют нескольким владельцам использовать совместно информацию о непрерывных областях данных. Эта возможность позволяет реализовать в XFS вызова copy_file_range() ;
  • Ну а в NFS-сервер разработчики добавили поддержку операции COPY, которая определена в спецификации NFS4.2 и позволяет выполнить копирование содержимого файла без перемещения информации от сервера к клиенту и обратно.

Аппаратное обеспечение

  • В драйвере AMDGPU появилась поддержка (пока экспериментальная) семейства GPU Southern Islands на базе микроархитектуры GCN 1.0. Добавлены инструменты для работы с виртуальными дисплеями [5];
  • Добавлена поддержка систем платформы Mellanox Technologies [6];
  • Также добавлена поддержка процессоров Loongson 1C;
  • Теперь поддерживаются контроллеры USB 3.0 Broadcom Northstar и контроллеров USB 2.0 Rockchip/Innosilicon.

Что же, спасибо Линусу и всему сообществу разработчиков — теперь ждем новых свершений, которые позволяют развивать Linux.

Автор: King Servers

Источник [7]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/219703

Ссылки в тексте:

[1] представил ядро Linux 4.9: https://lkml.org/lkml/2016/12/11/102

[2] значимыми изменениями: http://www.opennet.ru/opennews/art.shtml?num=45662

[3] версии ядра: https://lwn.net/Articles/703779/

[4] модульного смартфона Ara: http://project-ara.net/

[5] виртуальными дисплеями: https://lists.freedesktop.org/archives/amd-gfx/2016-August/001058.html

[6] Mellanox Technologies: https://en.wikipedia.org/wiki/Mellanox_Technologies

[7] Источник: https://habrahabr.ru/post/317364/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best