The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз ядра Linux 4.9"
Отправлено opennews, 12-Дек-16 00:37 
После двух месяцев разработки Линус Торвальдс представил (https://lkml.org/lkml/2016/12/11/102) релиз ядра Linux 4.9. Среди наиболее заметных изменений: средства для диагностики и блокирования переполнений стека ядра, поддержка SELinux в OverlayFS, поддержка алгоритма контроля перегрузки BBR, поддержка POSIX ACL в FUSE, механизм квот в netfilter, реализация шины Greybus.


В новую версию принято около 15 тысяч исправлений от 1400 разработчиков, размер патча - 45 Мб (изменения затронули 11042 файлов, добавлено 632157 строк кода, удалено 354728 строк). Около 42% всех представленных в 4.9
изменений связаны с драйверами устройств, примерно 19% изменений имеют
отношение к обновлению кода специфичного для аппаратных архитектур, 12%
связано с сетевым стеком, 5% - файловыми системами и 4% c внутренними
подсистемами ядра.


Основные (http://kernelnewbies.org/Linux_4.9) новшества (https://lwn.net/Articles/703779/):

-  
Дисковая подсистема, ввод/вывод и файловые системы

-  В модуле FUSE, предоставляющем средства для создания файловых систем, работающих в пространстве пользователя, появилась поддержка списков контроля доступа, соответствующих POSIX ACL;

-  В файловую систему XFS добавлена поддержка совместных экстентов (shared extents), позволяющих нескольким владельцам совместно использовать сведения о диапазонах данных в файле. Данная возможность открывает двери для реализации в XFS вызова copy_file_range() и таких возможностей как дедупликация данных;
-  В NFS-сервер добавлена поддержка операции  COPY, определённой в спецификации NFS4.2 и позволяющей выполнить копирование содержимого файла без перемещения данных по сети от сервера к клиенту и обратно;


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


-  В состав ядра включена реализация предложенного компанией Google алгоритма контроля перегрузки TCP (congestion control) - BBR (Bottleneck Bandwidth and RTT), успешно применяемого для  увеличения пропускной способности и сокращения задержек передачи данных для трафика с google.com и YouTube. BBR требует внесения изменений только на стороне отправителя, программное обеспечение сетевой инфраструктуры и принимающей стороны остаётся без изменений. Вместо
использования потери пакетов как индикатора перегрузки, в BBR применяются методы моделирования канала связи, прогнозирующие имеющуюся пропускную способность через последовательные проверки и оценку времени приема-передачи (RTT), но не доводя до потери пакетов или задержек в передаче. На начальной стадии соединения BBR оценивает потолок пропускной способности канала, затем снижает интенсивность отправки для разгрузки очереди и переходит в режим корректировки, то повышая, то снижая интенсивность отправки, балансируя между максимальной пропускной способностью и незаполненностью очереди пакетов;
-  В  netfilter добавлен новый механизм "quota" с реализацией байтовых квот для правил. Также добавлен модуль для генерации случайных чисел, который можно использовать для выбора случайного назначения пакета (например, для случайного распределения по очередям);

-  Реализован новый JIT-компилятор для BPF, который может загружать программы BPF для выполнения на сетевых интерфейсах с процессорами Netronome (https://www.netronome.com/products/intelligent-server-adapte.... В ядре 4.9 данная возможность пока используется только в модуле классификации cls_bpf;

-  Для сетевого mesh-протокола B.A.T.M.A.N. ("Better Approach To Mobile Adhoc Networking), позволяющего создавать децентрализованные сети, каждый узел в которых связан через соседние узлы, подготовлен новый механизм настройки на основе интерфейса netlink;

-  
Память и системные сервисы


-  Для архитектуры x86 добавлен (https://lwn.net/Articles/692953/) набор изменений с реализацией механизма виртуального маппинга стека ядра (CONFIG_VMAP_STACK), предоставляющего средства для определения и блокирования переполнения стека. Ожидается, что новая возможность станет серьёзным барьером для эксплуатации уязвимостей в ядре. Суть изменения в переносе стеков ядра в область vmalloc(), что позволяет сократить число операций распределения памяти, повысить безопасность и реализовать средства для диагностики выхода за границы стека. Обратной стороной использования vmalloc() для стека ядра являются дополнительные накладные расходы, вносящие задержку при создании процессов. Данную задрержку удалось минимизировать благодаря (https://lkml.org/lkml/2016/9/16/178) оптимизациям  и дополнительному кэшированию;
-  Реализованы новые системные вызовы pkey_alloc(), pkey_free() и pkey_mprotect() с реализацией (https://www.kernel.org/doc/Documentation/x86/protection-keys... поддержки предоставляемого в будущих моделях процессоров Intel механизма PKU (Memory Protection Keys for Userspace) для обеспечения защиты страниц памяти без изменения таблицы страниц памяти;


-  Представлен новый набор файлов в /sys/kernel/irq, описывающих состав таблицы обработчиков прерываний. Новый набор позиционируется как замена /proc/interrupts,  боле простая для разбора в приложениях;

-  Добавлена опция CONFIG_DEBUG_TEST_DRIVER_REMOVE, позволяющая автоматически протестировать работоспособность выгрузки драйвера  устройства через выполнение цикла загрузки, выгрузки и опять загрузки драйвера на этапе инициализации устройства;

-  Продолжено развитие средств для  форматирования (https://kernel.org/doc/html/latest/) документации к ядру с использованием разметки  reStructuredText (https://ru.wikipedia.org/wiki/ReStructuredText) (RST) и пакета Sphinx (http://www.sphinx-doc.org/). В новой версии ядра обеспечена корректная генерация документации в формате PDF. В новом формате представлена первая порция переработанных документов  об  API для программирования драйверов (https://www.kernel.org/doc/html/latest/driver-api/index.html), а также инструментах (https://www.kernel.org/doc/html/latest/dev-tools/tools.html) для разработки ядра, особенностях процесса разработки и организации работы в сообществе;

-  В состав включена подсистема Greybus (https://lwn.net/Articles/648400/), разработанная для обеспечения взаимодействия компонентов модульного смартфона Ara (https://www.opennet.ru/opennews/art.shtml?num=39553). Greybus предоставляет внутреннюю шину для взаимодействия между аппаратными компонентами, подключаемыми по мере необходимости. В отличие от шин USB и PCIe, в Greybus предоставлена поддержка маршрутизации вызовов и приватного взаимодействия, что позволяет двум компонентам взаимодействовать друг с другом, не позволяя другим компонентам отследить данное взаимодействие. Несмотря на то, что компания Google свернула проект Ara, Greg Kroah-Hartman сумел убедить разработчиков ядра в целесообразности включения данной подсистемы в основное ядро;

-  
Виртуализация и безопасность

-  В SELinux обеспечена поддержка многослойных файловых систем, таких как OverlayFS, используемых для построения окружений для систем контейнерной изоляции;
-  В систему сборки добавлена возможность использования плагина GCC "latent_entropy", предложенного проектом grsecurity и предоставляющего средства для сбора дополнительных случайных параметров на начальном этапе загрузки для последующей инициализации энтропии для генератора случайных чисел;

-  
Оборудование

-  Поддержка систем на базе платформы Mellanox Technologies (https://en.wikipedia.org/wiki/Mellanox_Technologies);- ...Поддержка процессоров Loongson 1C;
-  Поддержка контроллеров USB 3.0 Broadcom Northstar и контроллеров USB 2.0 Rockchip/Innosilicon;

URL: https://lkml.org/lkml/2016/12/11/102
Новость: http://www.opennet.ru/opennews/art.shtml?num=45662

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру