После двух месяцев разработки Линус Торвальдс Для просмотра ссылки Войди или Зарегистрируйся релиз ядра Для просмотра ссылки Войди или Зарегистрируйся
. Среди наиболее заметных изменений: поддержка плагинов GCC в системе сборки, возможность запуска в контейнерах кода для других архитектур, интеграция механизма защиты PAX_USERCOPY, поддержка алгоритма контроля перегрузки TCP "New Vegas", увеличение производительности беспроводного стека, новый генератор псевдослучайных чисел.
В новую версию принято более 13 тысяч исправлений от примерно 1500 разработчиков, размер патча - 41 Мб (изменения затронули 11303 файлов, добавлено 627751 строк кода, удалено 278958 строк). Около 39% всех представленных в 4.8 изменений связаны с драйверами устройств, примерно 21% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 12% связано с сетевым стеком, 5% - файловыми системами и 4% c внутренними подсистемами ядра.
Основные Для просмотра ссылки Войдиили Зарегистрируйся
:
. Среди наиболее заметных изменений: поддержка плагинов GCC в системе сборки, возможность запуска в контейнерах кода для других архитектур, интеграция механизма защиты PAX_USERCOPY, поддержка алгоритма контроля перегрузки TCP "New Vegas", увеличение производительности беспроводного стека, новый генератор псевдослучайных чисел.
В новую версию принято более 13 тысяч исправлений от примерно 1500 разработчиков, размер патча - 41 Мб (изменения затронули 11303 файлов, добавлено 627751 строк кода, удалено 278958 строк). Около 39% всех представленных в 4.8 изменений связаны с драйверами устройств, примерно 21% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 12% связано с сетевым стеком, 5% - файловыми системами и 4% c внутренними подсистемами ядра.
Основные Для просмотра ссылки Войди
:
- Дисковая подсистема, ввод/вывод и файловые системы
- В файловую систему XFS добавлена поддержка механизма обратного маппинга (rmap, reverse-mapping), позволяющего файловой системе определить владельца любого блока на устройстве хранения. В настоящее время практическая польза от reverse-mapping не видна, но в будущем данный механизм послужит основой для реализации таких возможностей, как reflink(), режим copy-on-write для данных, дедупликация, расширенные средства информирования о bad-блоках и дополнительные возможности для восстановления повреждений;
- В Ext4 Для просмотра ссылки Войди
или Зарегистрируйся
работа по переводу средств шифрования разделов на криптографические функции штатной подсистемы ядра crypt; - В Btrfs кроме чистки кода и устранения ошибок Для просмотра ссылки Войди
или Зарегистрируйся
переработанная реализация механизма отслеживания исчерпания свободного места на диске (Для просмотра ссылки Войдиили Зарегистрируйся
, Error NO SPace), в которой заметно повышена отзывчивость и производительность; - В F2FS Для просмотра ссылки Войди
или Зарегистрируйся
изменения, увеличивающие масштабируемость и снижающие нагрузку на CPU при выполнении операций обновления таблицы резервных inode при операциях записи. Добавлен ioctl для перемещения блоков данных между файлами; - В Для просмотра ссылки Войди
или Зарегистрируйся
появилась поддержка добавления дополнительных накопителей в RAID-массив (reshaping) и изменения уровня RAID; - Реализована возможность экспортирования по сети устройств хранения с интерфейсом NVM Express, используя протоколы, подобные RDMA;
- В подсистему device-mapper добавлена поддержка применения механизма DAX для прямого доступа к низкоуровневым устройствам постоянной памяти;
- В распределённую файловую систему Для просмотра ссылки Войди
или Зарегистрируйся
(продолжение развития PVFS) добавлена возможность задействования кэша на базе dcache и кэша атрибутов на стороне ядра, что заметно ускоряет выполнение операций с мелкими файлами. Например, сборка coreutils без кэшиования занимает 17 минут, а с кэшем - 6 минут 20 секунд; - В ФС Ceph добавлена полная поддержка пространств имён Для просмотра ссылки Войди
или Зарегистрируйся
(Reliable Autonomic Distributed Object Store). - Поддержка технологии "transparent huge pages" в tmpfs, позволяющая оперировать страницами памяти большого размера;
- В многослойной ФС Overlayfs Для просмотра ссылки Войди
или Зарегистрируйся
работа по обеспечению поддержки SELinux; - В ядро Для просмотра ссылки Войди
или Зарегистрируйся
реализация простейшего сервера pNFS (Parallel NFS). Для просмотра ссылки Войдиили Зарегистрируйся
оптимизации производительности в код NFS-клиента;
- Сетевая подсистема
- В TCP-стек добавлена поддержка алгоритма контроля перегрузки "Для просмотра ссылки Войди
или Зарегистрируйся
", который является модернизированным вариантом алгоритма Vegas и также оперирует задержками в доставке пакетов вместо информации о потере пакетов. Новый алгоритм оптимизирован для использования в крупных высокоскоростных сетях и ЦОД с каналами связи в 10 гигабит и выше; - В подсистеме mac80211 ("WiFi") вместо предоставляемых сетевым стеком дисциплин обработки очередей ожидающих отправки пакетов задействован алгоритм CoDel (Сontrolled Delay - управляемая задержка), который позволил существенно поднять производительность работы в беспроводных сетях;
- Протокол RDS (Reliable Datagram Sockets), позволяющий создавать сокеты для надёжной передачи датаграмм поверх TCP-линков, расширен возможностью передачи сразу через несколько соединений TCP, что Для просмотра ссылки Войди
или Зарегистрируйся
добиться существенного увеличения максимальной производительности; - Сетевым драйверам предоставлена возможность загрузки BPF-программ для предварительной обработки входящих пакетов, до их помещения во внутренние структуры данных. Указанную возможность можно применять, например, для отбрасывания, изменения или перенаправления пакетов на ранней стадии их обработки, что позволяет увеличить производительность данных операций за счёт обхода вызова обработчиков ядра;
- Добавлен драйвер с программной реализаций RDMA поверх Ethernet, позволяющий использовать протоколы InfiniBand Remote DMA с обычным сетевым стеком ядра;
- В TCP-стек добавлена поддержка алгоритма контроля перегрузки "Для просмотра ссылки Войди
- Память и системные сервисы
- Представлен новый механизм обновления таблиц ACPI из прошивок или через configfs;
- Для подсистемы GPIO представлен новый ABI пространства пользователя для управления линиями ввода/вывода общего назначения. ABI основан на применении символьного устройства и заменяет сбой давно устаревший интерфейс на базе sysfs;
- Для архитектуры ARM64 добавлена возможность использования механизма kexec, позволяющего загрузить новый экземпляр ядра из уже работающего ядра Linux;
- Представлен новый параметр командной строки printk.devkmsg, который может быть использован для управления отправкой данных в лог ядра из пространства пользователя через /dev/kmsg. Значение off отключает отправку из пространства пользователя, а числовое значение устанавливает лимит на интенсивность отправки данных;
- Новая внутренняя подсистема обработки таймаутов, появление которой направлено на решение проблем с отзывчивостью (latency);
- Добавлен фреймворк HDMI CEC (Consumer Electronics Control) позволяющий унифицировать управление устройствами, подключенными через HDMI, и управлять ими с одного пульта;
- В систему сборки добавлена Для просмотра ссылки Войди
или Зарегистрируйся
использования плагинов GCC, которые могут применяться для дополнительного анализа или изменения кода во время компиляции. Например, уже реализована поддержка плагинов для тестирования покрытия кода (coverage testing) и вычисления Для просмотра ссылки Войдиили Зарегистрируйся
; - Представлена новая система для форматирования документации к ядру, основанная на использовании в текстовых файлах разметки Для просмотра ссылки Войди
или Зарегистрируйся
(RST) и пакета Для просмотра ссылки Войдиили Зарегистрируйся
. Новая система позволяет генерировать корректно оформленную документацию к ядру в форматах HTML, LaTeX, ePub и PDF. Документация к мультимедийным подсистемам и DRM уже переведена с DocBook на RST;
- Виртуализация и безопасность
- Для просмотра ссылки Войди
или Зарегистрируйся
защиты операций копирования данных между ядром и пространством пользователя. В ядро включён вариант технологии PAX_USERCOPY, разработанной проектом grsecurity, добавляющий дополнительные проверки используемых при копировании диапазонов адресов для предотвращения обращения к областям памяти ядра вне границ буфера, выделенного для копирования; - Для просмотра ссылки Войди
или Зарегистрируйся
Для просмотра ссылки Войдиили Зарегистрируйся
с эмуляцией архитектуры, позволяющих запускать в изолированном контейнере код, собранный для аппаратных архитектур, отличных от архитектуры хост-системы. Например, на системах с архитектурой x86_64 теперь можно запустить контейнер с окружением для ARM64. - Генератор псевдослучайных чисел (/dev/random, /dev/urandom) заменён на новую, более высокопроизводительную, Для просмотра ссылки Войди
или Зарегистрируйся
, основанную на использовании потокового шифра ChaCha20 и включающую наработку по решению проблем с масштабируемостью в условиях когда программам в пространстве пользователями требуются большие объёмы случайных чисел; - Для архитектуры x86_64 включена поддержка рандомизации адресного пространства ядра (KASLR, Kernel Address Space Layout Randomization). Расширено число типов регионов памяти ядра для которых применяется рандомизация. В SLUB memory allocator Для просмотра ссылки Войди
или Зарегистрируйся
рандомизация списков свободных областей; - В подсистему crypto добавлен новый механизм согласования ключей (Key-agreement Protocol Primitives API - KPP), который может быть использован для реализации протоколов обмена ключами, таких как DH и ECDH;
- Для IPv6 добавлена поддержка стандарта CALIPSO (Common Architecture Label IPv6 Security Option), который может быть использован для прикрепления связанных с безопасностью меток к пакетам, которые затем могут быть связаны с политиками SELinux и Smack;
- В загружаемых модулях ядра Для просмотра ссылки Войди
или Зарегистрируйся
возможность использования портированного из grsecurity механизма защиты __ro_after_init (post-init read-only memory), позволяющего создавать доступные на чтение и запись области памяти, используемые только во время инициализации и переводимые в режим только для чтения после инициализации; - В состав включена инфраструктура Для просмотра ссылки Войди
или Зарегистрируйся
, позволяющая упростить обмен данными между хост-системой и работающими виртуальными машинами, благодаря применению обычных сокетов POSIX;
- Для просмотра ссылки Войди
- Оборудование* В драйвер AMDGPU Для просмотра ссылки Войди
или Зарегистрируйся
поддержка технологии Для просмотра ссылки Войдиили Зарегистрируйся
для повышения производительности через разгон частоты GPU и памяти (допускается разгон до 20%). Также улучшена энергоэффективность для чипов Polaris и внесены улучшения, связанные с поддержкой технологий PowerPlay для снижения энергопотребления;- В DRM-драйвер (Direct Rendering Manager) Nouveau добавлена начальная поддержка видеокарт NVIDIA на базе GPU Pascal. Аппаратное ускорение пока поддерживаются только для чипов GP100 (GeForce GTX Titan). Для более новых карт (GP104/GeForce GTX 1000 и новее) предоставляются только базовые средства управления видеорежимами, так как для включения ускорения требуется верификация прошивки по цифровой подписи. Улучшено управление питанием для чипов GK20A и GM20B;
- В DRM-драйвере Intel Для просмотра ссылки Войди
или Зарегистрируйся
поддержка виртуального Для просмотра ссылки Войдиили Зарегистрируйся
на системах с процессорами Broadwell и новее. По умолчанию включена поддержка компонентов Для просмотра ссылки Войдиили Зарегистрируйся
(Balanced Technology Extended). - В состав Для просмотра ссылки Войди
или Зарегистрируйся
новый драйвер для GPU ARM Mali, в котором пока поддерживаются только GPU DP500, DP550 и DP650 и отсутствуют средства для задействования аппаратного ускорения 3D-операций; - Обеспечена поддержка 64-разрядного SoC BCM2837, используемого в Raspberry Pi 3. Также добавлена поддержка SoC Freescale i.MX7Solo, Qualcomm MDM9615, Renesas r8a7792 и Renesas r8a7796;
- Добавлена поддержка свободного процессора "Для просмотра ссылки Войди
или Зарегистрируйся
", VHDL (VHSIC Hardware Description Language) спецификации которого доступны под лицензией BSD. - По сравнению с прошлым выпуском обеспечена поддержка около 500 новых аппаратных компонентов, из которых 175 имеют интерфейсы PCIe/PCI или USB. В том числе:
- В драйвере Ath10k появилась поддержка чипов Atheros QCA9888.
- Добавлен драйвер Для просмотра ссылки Войди
или Зарегистрируйся
(Intel Virtual Button), который, например, необходим для работы кнопки включения питания на ноутбуке Dell XPS 13. - Для просмотра ссылки Войди
или Зарегистрируйся
поддержка тачпадов Alps. - Добавлена поддержка DVB-тюнеров Для просмотра ссылки Войди
или Зарегистрируйся
и Для просмотра ссылки Войдиили Зарегистрируйся
. - Добавлен драйвер для задействования EDAC (Error Detection and Correction) в процессорах Intel Core i 6000 (Skylake).
Латиноамериканский Фонд свободного ПО оперативно Для просмотра ссылки Войдиили Зарегистрируйся
вариант полностью свободного ядра 4.8 - Для просмотра ссылки Войдиили Зарегистрируйся
, очищенного от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. В новом выпуске обеспечена возможность работы без блобов видеокарт Radeon Evergreen. Проведены операции по чистке блобов в драйверах mtk_vpu, ks7010_sdio, raydium_i2c_ts, silead, qcom_q6v5_pil, qcom_mdt_loader и rt5514. Обновлён код для вырезания блобов в драйверах mn88472, iwlwifi, skl, brcmfmac, radeon, i915_csr и usb.
Источник: Opennet.ru