IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Измерительная техника, инструменты [310]
    Drones, boats, cars... [100]
    Накопители данных [193]
    Гаджеты для спорта и здоровья... [169]
    Автомобильные гаджеты... [165]
    Сети, сетевые технологии, оборудование... [235]
    Гаджеты, аксессуары... [607]
    News IT, Это интересно, ликбез... [1064]
    Linux и не только [4278]
    Windows 10... [285]
    Планшеты [741]
    Нетбуки, Ноутбуки, Ультрабуки [637]
    Смартфоны, фаблеты.. [5021]
    GPS-навигаторы, трекеры... [49]
    Видеорегистраторы [200]
    mini computers и не только... [372]
    Своими руками [325]
    CB, LPD, PMR- связь... [156]
    Smart TV, UltraHD, приставки, проекторы... [408]
    Умный дом [17]
    Мультиварки, блендеры и не только... [129]
    Smart Watch [228]
    Блоки питания, Power Banks, зарядки... [366]
    Фотокамеры, объективы, искусство фотографии.. [512]
    Sound: наушники, плееры, усилители... [580]
    Электронные книги [80]
    Радар-детекторы [23]
    Роботы-пылесосы [27]
    electric cars [29]
    DECT, IP-телефоны [18]
    Безопасность IT [479]
    Время

    Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1262
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2020 » Август » 4 » Релиз ядра Linux 5.8
    10:34
    Релиз ядра Linux 5.8

    Релиз ядра Linux 5.8

    После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 5.8. Среди наиболее заметных изменений: детектор состояний гонки KCSAN, универсальный механизм доставки уведомлений в пространство пользователя, поддержка оборудования для inline-шифрования, расширенные механизмы защиты для ARM64, поддержка российского процессора Baikal-T1, возможность раздельного монтирования экземпляров procfs, реализация для ARM64 механизмов защиты Shadow Call Stack и BTI.

    Ядро 5.8 стало самым крупным по числу изменений из всех ядер за всё время существования проекта. При этом изменения не связаны с какой-то одной подсистемой, а охватывают разные части ядра и в основном связаны с внутренними переработками и чисткой. Больше всего изменений наблюдается в драйверах. В новую версию принято 17606 исправлений от 2081 разработчиков, которые затронули примерно 20% всех файлов в репозитории с кодом ядра. Размер патча - 65 МБ (изменения затронули 16180 файлов, добавлено 1043240 строк кода, удалено 489854 строк). Для сравнения в ветке 5.7 было внесено 15033 исправлений, а размер патча составлял 39 МБ. Около 37% всех представленных в 5.8 изменений связаны с драйверами устройств, примерно 16% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 11% связано с сетевым стеком, 3% - с файловыми системами и 4% c внутренними подсистемами ядра.

    Основные новшества:

    • Виртуализация и безопасность
      • Обеспечена блокировка загрузки модулей ядра, имеющих секции с кодом, в которых одновременно выставлены биты, разрешающие исполнение и запись. Изменение реализовано в рамках более крупного проекта по избавлению ядра от применения страниц памяти, допускающих одновременно исполнение и запись.
      • Появилась возможность создания отдельных экземпляров procfs, позволяющих использовать несколько точек монтирования procfs, смонтированных с разными опциями, но отражающими одно пространство имён идентификаторов процессов (pid namespace). Ранее все точки монтирования procfs лишь отзеркаливали одно внутреннее представление и любое изменение параметров монтирования сказывалось на всех остальных точках монтирования, связанных с тем же пространством имён идентификаторов процессов. Из областей, в которых может быть востребовано монтирование с разными опциями отмечается реализация легковесной изоляции для встраиваемых систем с возможностью скрытия в procfs определённых типов процессов и информационных узлов.
      • Для платформы ARM64 реализована поддержка механизма Shadow-Call Stack, предоставляемого компилятором Clang для защиты от перезаписи адреса возврата из функции в случае переполнения буфера в стеке. Суть защиты в сохранении после передачи управления функции адреса возврата в отдельном "теневом" стеке и извлечении данного адреса перед выходом из функции.
      • Для платформы ARM64 добавлена поддержка инструкций ARMv8.5-BTI (Branch Target Indicator) для защиты выполнения наборов инструкций, на которые не должны выполняться переходы при ветвлении. Блокирование переходов на произвольные участки кода реализовано для противодействия созданию гаджетов в эксплоитах, использующих приёмы возвратно-ориентированного программирования (ROP - Return-Oriented Programming, атакующий не пытается разместить свой код в памяти, а оперирует уже имеющимися кусками машинных инструкций, завершающихся инструкцией возврата управления, из которых выстраиваются цепочка вызовов для получения нужной функциональности).
      • Добавлена поддержка оборудования для inline-шифрования блочных устройств (Inline Encryption). Устройства inline-шифрования обычно встроены в накопитель, но логически размещается между системной памятью и диском, осуществляя прозрачное шифрование и расшифровку ввода/вывода на основе заданных ядром ключей и алгоритма шифрования.
      • Добавлен параметр командной строки ядра "initrdmem", позволяющий указать физический адрес размещения initrd в памяти при размещении начального загрузочного образа в ОЗУ.
      • Добавлены новые capability: CAP_PERFMON для доступа к подсистеме perf и выполнения мониторинга производительности. CAP_BPF, разрешающий выполнение некоторых операций с BPF (например, загрузка BPF-программ), которые раньше требовали прав CAP_SYS_ADMIN (теперь полномочия CAP_SYS_ADMIN разделены на комбинацию CAP_BPF, CAP_PERFMON и CAP_NET_ADMIN).
      • Добавлено новое устройство virtio-mem, позволяющее реализовать горячее подключение и отключение памяти к гостевым системам.
      • Реализован отзыв операций маппинга в /dev/mem, если драйвер устройства использует перекрывающиеся области памяти.
      • Добавлена защита от уязвимости CROSSTalk/SRBDS, позволяющей восстановить результаты выполнения некоторых инструкций, выполняемых на другом ядре CPU.
    • Память и системные сервисы
      • В документ, определяющий правила оформления кода, приняты рекомендации по применению инклюзивной терминологии. Разработчикам не рекомендуется использовать связки 'master / slave' и 'blacklist / whitelist', а также отдельно слово 'slave'. Рекомендации касаются только нового использования данных терминов. Уже имеющиеся в ядре упоминания указанных слов останутся нетронутыми. В новом коде использование отмеченных терминов разрешено если того требует поддержание выдаваемого в пространство пользователя API и ABI, а также при обновлении кода для поддержки существующего оборудования или протоколов, спецификации на которые предписывают использование определённых терминов.
      • В состав включён отладочный инструмент KCSAN (Kernel Concurrency Sanitizer), предназначенный для динамического выявления состояний гонки внутри ядра. Использование KCSAN поддерживается при сборке в GCC и Clang, и требует добавления специальных модификаций на этапе компиляции для отслеживания доступа к памяти (применяются точки останова, срабатывающие при чтении или изменении памяти). Основное внимание при разработке KCSAN уделено предотвращению ложных срабатываний, масштабируемости и простоте использования.
      • Добавлен универсальный механизм доставки уведомлений из ядра в пространство пользователя. Механизм основан на штатном драйвере pipe и позволяет эффективно распределять уведомления от ядра по каналам, открытым в пространстве пользователя. Точки приёма уведомлений представляют собой pipe-ы, открытые в специальном режиме и позволяющие накапливать в кольцевом буфере поступающие от ядра сообщения. Чтение осуществляется обычной функцией read(). Владелец канала определяет, какие из источников в ядре необходимо отслеживать и может определить фильтр для игнорирования сообщений и событий определённого типа. Из событий пока поддерживаются только операции с ключами, такие как добавление/удаление ключей и изменение их атрибутов. Указанные события планируют использовать в GNOME.
      • Продолжено развитие функциональности 'pidfd', помогающей обрабатывать ситуации с повторным использованием PID (pidfd связывается с конкретным процессом и не меняется, в том время как PID может быть привязан к другому процессу после завершения текущего процесса, ассоциированного с этим PID). В новой версии добавлена поддержка использования pidfd для прикрепления процесса к пространствам имён (разрешено указание pidfd при выполнении системного вызова setns). Применение pidfd позволяет одним вызовом управлять прикреплением процесса к нескольким типам пространств имён, существенно сокращая число необходимых системных вызовов и реализуя прикрепление в атомарном режиме (если при прикреплении к одному из пространств имён возникнет сбой, то не подключатся и остальные).
      • Добавлен новый системный вызов faccessat2(), отличающийся от faccessat() дополнительным аргументом с флагами, соответствующими рекомендациям POSIX (ранее данные флаги эмулировались в Си-библиотеке, а новый faccessat2 позволяет реализовать их в ядре).
      • В Cgroup добавлена настройка memory.swap.high, которую можно использовать для замедления задач, занимающих слишком много места в разделе подкачки.
      • В интерфейс асинхронного ввода/вывода io_uring добавлена поддержка системного вызова tee().
      • Добавлен механизм "BPF iterator, предназначенный для вывода в пространство пользователя содержимого структур ядра.
      • Предоставлена возможность использования кольцевого буфера для обмена данными между BPF-программами.
      • В механизм padata, предназначенный для организации параллельного выполнения задач в ядре, добавлена поддержка многопоточных задач с балансировкой нагрузки.
      • В механизм pstore, позволяющий сохранить отладочную информацию о причине краха в области памяти, не теряемые между перезагрузками, добавлен бэкенд для сохранения информации на блочные устройства.
      • Из ветки ядра PREEMPT_RT перенесена реализация локальных блокировок.
      • Добавлен новый API выделения буферов (AF_XDP), нацеленный на упрощение написания сетевых драйверов с поддержкой XDP (eXpress Data Path).
      • Для архитектуры RISC-V реализована поддержка отладки компонентов ядра при помощи KGDB.
      • До выпуска 4.8 повышены требования к версии GCC, которая может использоваться для сборки ядра. В одном из следующих выпусков планируется поднять планку до GCC 4.9.
    • Дисковая подсистема, ввод/вывод и файловые системы
      • В Device Mapper добавлен новый обработчик dm-ebs (emulate block size), который может применяться для эмуляции меньшего размера логического блока (например, для эмуляции 512-байтных секторов на дисках с размером сектора 4K).
      • В файловой системе F2FS появилась поддержка сжатия с использованием алгоритма LZO-RLE.
      • В dm-crypt добавлена поддержка шифрованных ключей.
      • В Btrfs улучшена обработка операций чтения в режиме прямого ввода/вывода. При монтировании ускорена проверка удалённых подразделов и каталогов, оставшихся без родителя.
      • В CIFS добавлен параметр "nodelete", допускающий штатные проверки прав на сервере, но запрещающий клиенту удалять файлы или каталоги.
      • В Ext4 улучшена обработка ошибки ENOSPC при использовании многопоточности. В xattr добавлена поддержка пространства имён gnu.*, используемого в GNU Hurd.
      • Для Ext4 и XFS включена поддержка операций DAX (прямой доступ к ФС в обход страничного кэша без применения уровня блочных устройств) в привязке к отдельным файлам и каталогам.
      • В системный вызов statx() добавлен флаг STATX_ATTR_DAX, при указании которого информация извлекается с использованием механизма DAX.
      • В EXFAT добавлена поддержка верификации загрузочной области.
      • В FAT улучшена упреждающая загрузка элементов ФС. Тестирование медленного 2ТБ USB-накопителя показало сокращение времени прохождения теста с 383 до 51 сек.
    • Сетевая подсистема
      • В код управления работой сетевых мостов добавлена поддержка протокола MRP (Media Redundancy Protocol), позволяющего обеспечить отказоустойчивость, закольцевав несколько Ethernet-коммутаторов.
      • В систему управления трафиком (Tc) добавлено новое действие "gate", дающее возможность определить временные интервалы для обработки и отбрасывания определённых пакетов.
      • В ядро и утилиту ethtool добавлена поддержка функций тестирования присоединённого сетевого кабеля и самодиагностики сетевых устройств.
      • В IPv6-стек добавлена поддержка алгоритма MPLS (Multiprotocol Label Switching) для маршрутизации пакетов с использованием многопротокольной коммутации по меткам (для IPv4 MPLS поддерживался и ранее).
      • Добавлена поддержка передачи пакетов IKE (Internet Key Exchange) и IPSec поверх TCP (RFC 8229) для обхода возможных блокировок UDP.
      • Добавлено сетевое блочное устройство rnbd, позволяющее организовать удалённый доступа к блочному устройству при помощи транспорта RDMA (InfiniBand, RoCE, iWARP) и протокола RTRS.
      • В TCP-стеке добавлена поддержка сжатия диапазонов в ответах выборочного подтверждения (selective acknowledgment, SACK).
      • Для IPv6 реализована поддержка TCP-LD (RFC 6069, Long Connectivity Disruptions).
    • Оборудование
      • В DRM-драйвере i915 для видеокарт Intel включена по умолчанию поддержка чипов Intel Tiger Lake (GEN12), для которых также реализована возможность использования системы SAGV (System Agent Geyserville) для динамической подстройки частоты и напряжения в зависимости от требований к энергопотреблению или производительности.
      • В драйвер amdgpu добавлена поддержка пиксельного формата FP16 и реализована возможность работы с шифрованными буферами в видеопамяти (TMZ, Trusted Memory Zone).
      • Добавлена поддержка датчиков энергопотребления процессоров AMD Zen и Zen2, а также датчиков температуры AMD Ryzen 4000 Renoir. Для AMD Zen и Zen2 обеспечена поддержка извлечения информации об энергопотреблении через интерфейс RAPL (Running Average Power Limit).
      • В драйвер Nouveau добавлена поддержка формата модификаторов NVIDIA. Для gv100 реализована возможность использования чересстрочных режимов развёртки. Добавлено определение vGPU.
      • В драйвер MSM (Qualcomm) добавлена поддержка GPU Adreno A405, A640 и A650.
      • Добавлен внутренний фреймворк для управления ресурсами DRM (Direct Rendering Manager).
      • Добавлена поддержка смартфонов Xiaomi Redmi Note 7 и Samsung Galaxy S2, а также ноутбуков Elm/Hana Chromebook.
      • Добавлены драйверы для LCD-панелей: ASUS TM5P5 NT35596, Starry KR070PE2T, Leadtek LTK050H3146W, Visionox rm69299, Boe tv105wum-nw0.
      • Добавлена поддержка ARM-плат и платформ Renesas "RZ/G1H", Realtek RTD1195, Realtek RTD1395/RTD1619, Rockchips RK3326, AMLogic S905D, S905X3, S922XH, Olimex A20-OLinuXino-LIME-eMMC, Check Point L-50, , Beacon i.MX8m-Mini, Qualcomm SDM660/SDM630, Xnano X5 TV Box, Stinger96, Beaglebone-AI.
      • Добавлена поддержка MIPS-процессора Loongson-2K (сокращённый Loongson64). Для CPU Loongson 3 добавлена поддержка виртуализации с использованием гипервизора KVM.
      • Добавлена поддержка российского процессора Baikal-T1 и основанной на нём системы на кристалле BE-T1000. Процессор Baikal-Т1 содержит два суперскалярных ядра P5600 MIPS 32 r5, работающих на частоте 1.2 ГГц. Чип содержит кэш L2 (1 Мб), контроллер памяти DDR3-1600 ECC, 1 порт 10Gb Ethernet, 2 порта 1Gb Ethernet, контроллер PCIe Gen.3 х4, 2 порта SATA 3.0, USB 2.0, GPIO, UART, SPI, I2C. Процессор предоставляет аппаратную поддержку виртуализации, инструкции SIMD и интегрированный аппаратный ускоритель криптографических операций, поддерживающий ГОСТ 28147-89. Чип разработан с использованием лицензированного у компании Imagination Technologies блока процессорного ядра MIPS32 P5600 Warrior.

    Одновременно латиноамериканский Фонд свободного ПО сформировал вариант полностью свободного ядра 5.8 - Linux-libre 5.8-gnu, очищенного от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. В новом выпуске отключена загрузка блобов в драйверах для Atom ISP Video, MediaTek 7663 USB/7915 PCIe, Realtek 8723DE WiFi, Renesas PCI xHCI, HabanaLabs Gaudi, Enhanced Asynchronous Sample Rate Converter, Maxim Integrated MAX98390 Speaker Aimplifier, Microsemi ZL38060 Connected Home Audio Processor, и I2C EEPROM Slave. Обновлён код чистки блобов в драйверах и подсистемах Adreno GPU, HabanaLabs Goya, x86 touchscreen, vt6656 и btbcm.

     

    https://www.opennet.ru/opennews/art.shtml?num=53479

    Категория: Linux и не только | Просмотров: 88 | Добавил: laptop | Рейтинг: 5.0/1
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Погода
    Погода в Нью-Йорке Погода в Бреcте
    Поиск
    Календарь
    «  Август 2020  »
    ПнВтСрЧтПтСбВс
         12
    3456789
    10111213141516
    17181920212223
    24252627282930
    31
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2020