Email или имя пользователя:

Пароль:

Забыли пароль?
Всего 406 записей
opennet

Проект Wine опубликовал Vkd3d 1.14 с реализацией Direct3D 12

Проект Wine опубликовал выпуск пакета vkd3d 1.14 с реализацией Direct3D 12, работающей через трансляцию вызовов в графический API Vulkan. В состав пакета входят библиотеки libvkd3d с реализаций Direct3D 12, libvkd3d-shader c транслятором 4 и 5 модели шейдеров и libvkd3d-utils с функциями для упрощения портирования приложений Direct3D 12, а также набор демонстрационных примеров, включая порт glxgears на Direct3D 12. Код проекта распространяется под лицензией LGPLv2.1.

Библиотека libvkd3d поддерживает большую часть возможностей Direct3D 12, включая средства для графики и вычислений, очереди и списки команд, дескрипторы и дескрипторы кучи, корневые сигнатуры, неупорядоченный доступ, Sampler-ы, сигнатуры команд, корневые константы, непрямую (indirect) отрисовку, методы Clear*() и Copy*(). В libvkd3d-shader реализована трансляция байткода моделей шейдеров в промежуточное представление SPIR-V. Поддерживаются вершинные, пиксельные, тесселяционные, вычислительные и простые геометрические шейдеры, сериализация и десериализация корневой сигнатуры. Из шейдерных инструкций реализованы арифметические, атомарные и битовые операции, операторы сравнения и управления потоком передачи данных, инструкции sample, gather и load, операции неупорядоченного доступа (UAV, Unordered Access View).

В новой версии:

- Добавлена начальная поддержка языка шейдеров MSL (Metal Shading Language), применяемого компанией Apple в графическом API Metal.
- Реализована поддержка дизассемблера для бинарных эффектов.
- В библиотеке libvkd3 в интерфейсе ID3D12GraphicsCommandList1 реализован метод OMSetDepthBounds() для динамического изменения допустимого диапазона значений глубины в Z-буфере.
- Добавлена переменная окружения VKD3D_CAPS_OVERRIDE для переопределения отдаваемой приложениям информации о доступных возможностях, таких как максимально поддерживаемые уровни функциональности и связывания ресурсов.
- В реализацию языка шейдеров HLSL добавлена начальная поддержка тесселяционных шейдеров. Реализованы встроенные функции dst(), f32tof16(), mad(), modf() и sincos(). Для профилей 1, 2 и 3 моделей шейдеров добавлена поддержка операции "discard". Добавлена поддержка семантики входных данных SV_SampleIndex для фрагментных шейдеров и SV_GroupIndex для вычислительных шейдеров.
- Реализована большая порция новых инструкций для языка шейдеров GLSL.



Источник: https://www.opennet.ru/opennews/art.shtml?num=62272

Проект Wine опубликовал Vkd3d 1.14 с реализацией Direct3D 12

Проект Wine опубликовал выпуск пакета vkd3d 1.14 с реализацией Direct3D 12, работающей через трансляцию вызовов в графический API Vulkan. В состав пакета входят библиотеки libvkd3d с реализаций Direct3D 12, libvkd3d-shader c транслятором 4 и 5 модели шейдеров и libvkd3d-utils с функциями для упрощения портирования приложений Direct3D 12, а также набор демонстрационных примеров, включая порт glxgears на Direct3D 12. Код проекта
opennet

Релиз языка программирования PHP 8.4

После года разработки представлен релиз языка программирования PHP 8.4. Новая ветка включает серию новых возможностей, а также несколько изменений, нарушающих совместимость.

Ключевые изменения в PHP 8.4:

- Предложена новая реализация JIT-компилятора, построенная на базе IR Framework. Ключевое отличие в том, что старый JIT напрямую генерировал машинные инструкции на основе байткода и с использованием разных бэкендов для архитектур x86_64 и AArch64, а новый JIT использует единый для всех архитектур бэкенд и генерирует промежуточное представление (IR), которое затем дополнительно оптимизируется и преобразуется в машинные инструкции для нужной целевой платформы.
- Добавлена поддержка прикрепления обработчиков свойств (property hook), позволяющих добавить дополнительную логику, выполняемую при изменении или доступе к свойствам объекта, реализуемую без перехвата операций чтения и записи при помощи общих функций __get и __set, и без создания дополнительных методов-обвязок. Применение обработчиков свойств даёт возможность существенно сократить объём кода и упростить переопределение поведения работы со свойствами, благодаря привязке собственного обработчика к каждому свойству.

   class User 
   {
       public string $name {
           set {
               if (strlen($value) === 0) {
                throw new ValueError("Name must be non-empty");
               }
               $this->name = $value;
           }   
       }
 
       public function __construct(string $name) {
           $this->name = $name;
       }
}

- Разрешено указание ссылок на методы в конструкции "new" без отделяющих скобок, т.е. вместо "$name = (new MyClass())->method()" теперь можно указывать "$name = new MyClass()->method()".
- Добавлена возможность асимметричного управления видимостью свойств объектов (public, private, protected), отдельно для операций записи (set) и чтения (get). Например:
   class PhpVersion
   {
       public private(set) string $version = '8.4';
   }

   $phpVersion = new PhpVersion();
   var_dump($phpVersion->version); // string(3) "8.4"
   $phpVersion->version = 'PHP 8.3'; // error

- Предоставлена штатная поддержка "ленивых" объектов (lazy), инициализация которых производится в момент первого использования.
- Вместо общего параметра "opcache.jit_buffer_size" для управления JIT-компилятором и настройки размера буфера JIT предложены параметры "opcache.jit" и "opcache.jit_buffer_size". Для отключения JIT теперь можно указывать "opcache.jit=disable" вместо "opcache.jit_buffer_size=0". Внесены изменения, снижающие потребление памяти и повышающие производительность JIT в некоторых ситуациях.
- Добавлен атрибут "#[\Deprecated]", предназначенный для пометки устаревших функций, классов и методов.
   #[\Deprecated("use newFunction() instead", since: "1.1")]
   function oldFunction() {
       // …
   }

- Реализован класс \Dom\HTMLDocument, поддерживающий корректный разбор разметки HTML5.
- Добавлена функция request_parse_body() для разбора HTTP-запросов с типом контента multipart/form-data (RFC1867).
- Добавлены функции array_find(), array_find_key(), array_any() и array_all(). Функции array_find() и array_find_key() возвращают первый элемент или ключ в массиве, для которых сработала проверка, заданная через указанную пользователем callback-функцию. В свою очередь функции array_any() и array_all() возвращают любой совпавший элемент и все совпавшие элементы. Например, для вывода первого элемента, размер поля title в котором больше 5 символов, можно указать:
   $firstMatch = array_find(
       $posts, 
       function (Post $post) {
           return strlen($post-›title) › 5; 
       }
   );

- Добавлены методы DateTime::getMicrosecond() и DateTimeImmutable::setMicrosecond($microsecond) для получения и установки времени с микросекундной точностью, а также метод DateTime::createFromTimestamp().
- В PDO (PHP Data Objects), абстрактный интерфейс для работы с базами данных, добавлена возможность создания парсеров SQL и субклассов, специфичных для определённых драйверов СУБД. Добавлены новые субклассы Pdo\Dblib, Pdo\Firebird, Pdo\MySql, Pdo\Odbc и Pdo\Sqlite.
- Добавлены новые функции mb_trim(), mb_ltrim(), mb_rtrim(), mb_ucfirst(), mb_lcfirst(), bcceil(), bcdivmod(), bcfloor() и bcround(), pcntl_getcpu(), pcntl_getcpuaffinity(), pcntl_getqos_class(), pcntl_setns(), pcntl_waitid(), http_get_last_response_headers(), http_clear_last_response_headers(), fpow()
- Операции exit и die теперь можно вызывать в форме полноценных функций, которые допускается передавать в качестве аргумента в другие функции. Ранее возможности функций exit() и die() были сильно ограничены, так как они представляли собой обвязки над ключевыми словами exit и die.
- Добавлены изменения, усложняющие эксплуатацию уязвимостей, вызванных выходом за границы буфера, а также усиливающие рандомизацию имён файлов, создаваемых через функцию tempnam().
- Объявлено устаревшим поведение, при котором для параметров функций с присвоенным по умолчанию значением null автоматически разрешалось присвоение значений null. Для того, чтобы подобные параметры могли принимать значения null теперь требуется явное указание префикса "?". Например, вместо "function save(Book $book = null) {}" следует указывать "function save(?Book $book = null) {}".
- Объявлены устаревшими константы E_STRICT, MYSQLI_REFRESH_*, функции mysqli_ping(), mysqli_kill(), mysqli_refresh(), методы mysqli::ping(), mysqli::kill(), mysqli::refresh(), возможность использования "_" в качестве имени класса, некоторые свойства DOMDocument и DOMEntity. Запрещено переопределение констант класса GMP, для которого теперь выставлено ключевое слово "final".

Дополнительно, можно отметить выпуск статического анализатора PHPStan 2.0, позволяющего находить ошибки в коде на языке PHP без его выполнения и использования unit-тестов. Анализатор предоставляет 10 уровней, охватывающих такие области, как выявление неопределённых переменных, неизвестных классов, функций и методов; проверка типов аргументов и возвращаемых значений; корректность использования некоторых типов; определение никогда не вызываемого кода. Код проекта написан на языке PHP и распространяется под лицензией MIT.

Источник: https://www.opennet.ru/opennews/art.shtml?num=62269

Релиз языка программирования PHP 8.4

После года разработки представлен релиз языка программирования PHP 8.4. Новая ветка включает серию новых возможностей, а также несколько изменений, нарушающих совместимость.

Ключевые изменения в PHP 8.4:

- Предложена новая реализация JIT-компилятора, построенная на базе IR Framework. Ключевое отличие в том, что старый JIT напрямую генерировал машинные инструкции на основе байткода и с использованием разных бэкендов для архитектур x86_64 и AArch64, а новый JIT...

opennet

Инициатива GitHub по финансированию повышения безопасности открытых проектов

GitHub анонсировал инициативу "GitHub Secure Open Source Fund", нацеленную на финансирование работы по усилению безопасного открытых проектов. На первом этапе планируется выбрать 125 проектов и в сумме инвестировать в них 1.25 млн долларов. Заявки от сопровождающих на получения финансирования будут приниматься до 7 января.

К участию допускаются сопровождающие проектов с открытыми лицензиями, проживающие в регионах, в которых действует программа GitHub Sponsors. Помимо финансирования в размере 10 тысяч долларов, утверждённые участники пройдут трёхнедельное обучение по компьютерной безопасности, получат рекомендации и консультации от команды GitHub Security Lab, а также бесплатный доступ к связанным с безопасностью сервисвам GitHub (Copilot, Copilot Autofix, Secret scanning).

Источник: https://www.opennet.ru/opennews/art.shtml?num=62270

Инициатива GitHub по финансированию повышения безопасности открытых проектов

GitHub анонсировал инициативу "GitHub Secure Open Source Fund", нацеленную на финансирование работы по усилению безопасного открытых проектов. На первом этапе планируется выбрать 125 проектов и в сумме инвестировать в них 1.25 млн долларов. Заявки от сопровождающих на получения финансирования будут приниматься до 7 января.
opennet

Выпуск свободной САПР FreeCAD 1.0

После более года разработки опубликован релиз открытой системы параметрического 3D-моделирования FreeCAD 1.0, которая отличается гибкими возможностями кастомизации и наращивания функциональности через подключение дополнений. Интерфейс построен с использованием библиотеки Qt. Дополнения могут создаваться на языке Python. Поддерживается сохранение и загрузка моделей в различных форматах, в том числе в STEP, IGES и STL. Код FreeCAD распространяется под лицензией LGPLv2, в качестве моделирующего ядра используется Open CASCADE. Готовые сборки подготовлены для Linux (AppImage), macOS и Windows.

FreeCAD позволяет, меняя параметры модели, обыгрывать различные варианты проектирования и оценивать работу в различные моменты разработки модели. Проект может выступать свободной заменой коммерческим САПР, таким как CATIA, Solid Edge и SolidWorks. Несмотря на то, что основным назначением FreeCAD является машиностроение и разработка дизайна новых продуктов, система может использоваться и в других областях, таких как архитектурное проектирование.

Значительное изменение номера версии объясняется достижением определённого рубежа в развитии. Проект существует уже более 20 лет и много лет назад сообщество разработчиков сформировало критерии, которые определяли функциональность, соответствующую выпуску 1.0. В представленной версии реализованы две последние задачи из этого списка - решение проблемы топологического именования и реализация встроенного модуля для проектирования работы сборных конструкций (Assembly).

Суть проблемы топологического именования в том, что при выполнении операций с моделью, таких как выдавливание (pad), вырезание (cut), объединение (union), фаска (chamfer) или скругление (fillet), могла измениться структура модели и соответственно поменяться внутренние имена объектов (форм), используемые для отслеживания зависимостей и связей. В новой версии реализован алгоритм Realthun­der-а, обеспечивающий сохранение неизменности связей объектов в модели после изменения топологии в параметрической цепочке.

Вторым важным изменением стал новый встроенный верстак для проектирования работы сборных многокомпонентных конструкций, собранных из отдельных деталей (Assembly Workbench), построенное с использованием наработок проекта Ondsel Solver.

https://honk.any-key.press/d/G7T6fqsMyGj3314ykKHlt.png

Другие заметные изменения в новой версии:

- Утверждён новый логотип проекта. https://honk.any-key.press/d/G7T91T7n384kxd5k22Rgv.png
- Значительно улучшен интерфейс пользователя. Реализованы фильтры, упрощающие выбор вершин, ребер и граней. Добавлен индикатор центра вращения, показываемый при вращении объектов мышью. https://honk.any-key.press/d/G7Tp7b5R57Fs3vH19wKK1.png

Панель задач преобразована в отдельный виджет, который может быть закреплён поверх Комбо-панели для воссоздания старого поведения. В инструменте "Преобразование" (Transform) модернизирован внешний вид интерфейса для изменения ориентации объекта по трём плоскостям.

https://honk.any-key.press/d/G7TqG1C6pW5HmgZFmsFpy.pnghttps://honk.any-key.press/d/G7TS4YD4QNzXmTgmdxC6g.png

Добавлена возможность наложения виджетов. В настройках (Preferences → Display) появилась поддержка выставления позиции источника света.

https://honk.any-key.press/d/G7T7wQtf7lc6fND9pVM54.pnghttps://honk.any-key.press/d/G7Tc558Y6w3m951h5x261.png

Изменено оформление окна с настройками, в котором вместо вкладок предложено древовидное представление.

https://honk.any-key.press/d/G7TqH17SbkzdKCXLp5bDc.png

Реализована новая панель с вкладками для переключения между доступными верстаками (workbench).

https://honk.any-key.press/d/G7TYy2vhDqFGbd2Czz88x.png

Добавлен универсальный инструмент для измерения, а также инструмент для выравнивания по выбранным граням или направлениям рёбер.

https://honk.any-key.press/d/G7TTtc9F6PQ34rJ4XJ85X.png
- Верстак Start (Start Workbench) заменён на стартовую страницу, реализованную в форме приложения на Qt, и простой виджет первого запуска. https://honk.any-key.press/d/G7TLTvM12nY2l3v7x7y92.png https://honk.any-key.press/d/G7T8TRw9q83p5vpmQrC41.png
- Осуществлено слияние верстаков для архитектурного проектирования (Arch) и информационного моделирования строительных объектов (BIM, Building Information Modelling). https://honk.any-key.press/d/G7T9878c847WmSXDYsQSg.png
- Полностью переработан интерфейс для работы с материалами (Material Workbench) и редактор материалов. https://honk.any-key.press/d/G7T6Tl1N58C12nj3z8G6x.pnghttps://honk.any-key.press/d/G7TkHF3c6b178QSp3qw7y.png
- Верстак для генерации инструкций G-Code для станков ЧПУ и 3D-принтеров значительно улучшен и переименован из Path в CAM.
- Расширены возможности верстаков для двумерного рисования (Draft), анализа воздействий (FEM, Finite Element Module), создания заготовок (PartDesign), ведения электронных таблиц с параметрами моделей (Spreadsheet), эскизов 2D-фигур (Sketcher), 2D-моделирования и создания 2D-проекций 3D-моделей (TechDraw).



Источник: https://www.opennet.ru/opennews/art.shtml?num=62268

Выпуск свободной САПР FreeCAD 1.0

После более года разработки опубликован релиз открытой системы параметрического 3D-моделирования FreeCAD 1.0, которая отличается гибкими возможностями кастомизации и наращивания функциональности через подключение дополнений. Интерфейс построен с использованием библиотеки Qt. Дополнения могут создаваться на языке Python. Поддерживается сохранение и загрузка моделей в различных форматах, в том числе в STEP, IGES и STL. Код FreeCAD
opennet

Выпуск генератора лексических анализаторов re2c 4.0

Опубликован релиз re2c 4.0 - генератора лексических анализаторов (он же компилятор регулярных выражений в код на целевом языке программирования). Re2c специализируется на генерации быстрых и легко встраиваемых лексеров и отличается от более известного аналога Flex гибким интерфейсом, генерацией оптимизированных нетабличных лексеров и поддержкой захватов (submatch extraction) на основе детерминированных конечных автоматов с тэгами (TDFA). re2c используется в проектах, где важна скорость работы лексера, например в Ninja и в PHP.

В релизе 4.0 коренным образом переработана подсистема генерации кода, что позволило добавить поддержку восьми новых языков (D, Haskell, Java, JavaScript, OCaml, Python, V, Zig) в дополнение к уже поддерживаемым (C/C++, Go, Rust), а также реализовать общий механизм добавления новых языков через конфигурационные файлы.

Кодогенератор отвечает за трансляцию уже построенного и оптимизированного конечного автомата в код, то есть его задача - выбрать подходящие для целевого языка управляющие конструкции, типы данных, общую модель программы и т.д. Ранее вся эта логика была частью исходного кода re2c, и чтобы изменить её или добавить новый язык, приходилось патчить исходный код и пересобирать re2c. Подобные патчи не принимались в основной репозиторий без реализации стандартного набора примеров и тестов, что дополнительно усложняло весь процесс.

Теперь вся эта логика перенесена в синтаксические файлы - текстовые конфигурационные файлы, которые могут быть предоставлены пользователем (по умолчанию re2c использует стандартные). Исходный код re2c полностью свободен от деталей конкретного языка и полагается только на синтаксический файл. Пользователь может частично переопределить существующий синтаксический файл или написать новый с нуля. Для всех официально поддерживаемых языков есть полная документация с примерами.

В релиз также вошло много других изменений для упрощения пользовательского интерфейса и улучшения работы с захватывающими группами (capturing groups). Добавлена онлайн-среда для редактирования и компиляции примеров.

Источник: https://www.opennet.ru/opennews/art.shtml?num=62267

Выпуск генератора лексических анализаторов re2c 4.0

Опубликован релиз re2c 4.0 - генератора лексических анализаторов (он же компилятор регулярных выражений в код на целевом языке программирования). Re2c специализируется на генерации быстрых и легко встраиваемых лексеров и отличается от более известного аналога Flex гибким интерфейсом, генерацией оптимизированных нетабличных лексеров и поддержкой захватов (submatch extraction) на основе детерминированных конечных автоматов с тэгами (
opennet

Компания Canonical представила первый LTS-выпуск инструментария MicroCloud

Компания Canonical опубликовала инструментарий управления облачной инфраструктурой MicroCloud 2.1, позволяющий быстро развёртывать на своём оборудовании облачные системы и вычислительные кластеры с общим распределённым хранилищем данных и защищённой виртуальной сетью. MicroCloud 2.1 заявлен как первый LTS-выпуск для которого будет обеспечен длительный цикл поддержки. MicroCloud оформлен в виде snap-пакета, включающего компоненты, необходимые для управление работой узлов кластера. Инструментарий написан на языке Go и распространяется под лицензией AGPL 3.0.

MicroClouds позволяет создавать кластеры, насчитывающие от 3 до 50 хостов при включении обеспечения отказоустойчивости и от 1 хоста, если отказоустойчивость не требуется. Программный стек для управления кластером основан на инструментарии LXD, платформе для построения виртуальных сетей OVN (Open Virtual Network) и распределённом отказоустойчивом хранилище Ceph. Настройка LXD, Ceph и OVN на всех узлах кластера осуществляется автоматически. В качестве основной платформы рассматривается дистрибутив Ubuntu Server, но инструментарий не привязан к Ubuntu и может быть использован в любых дистрибутивах, для которых доступна возможность установки инструментария snap (Arch Linux, CentOS, Fedora, Debian, openSUSE, RHEL и т.п.).

Для определения новых серверов в сети, которые могут быть подключены к кластеру, используется mDNS, что позволяет настроить весь кластер запустив всего одну команду "microcloud init" на одном из узлов и команду "sudo microcloud join" на остальных узлах, предварительно установив snap-пакеты lxd, microceph, microcloud и microovn. После запуска команды "microcloud init" инструментарий определит наличие других серверов в локальной сети, выдаст запрос на добавление дисков в общее хранилище Ceph и предложит настроить параметры виртуальной сети. Для добавления дополнительных узлов после завершения инициализации можно использовать команду "microcloud add". Конфигурация кластера может быть сохранена в формате YAML для последующего развёртывания аналогичных систем.

Общее файловое хранилище создаётся с включением репликации и отказоустойчивости, позволяющих в случае выхода из строя отдельных узлов не потерять данные, благодаря хранению нескольких экземпляров данных на разных узлах. Для развёртывания хранилища на базе Ceph в кластере, помимо локальных дисков, на трёх разных компьютерах должны присутствовать как минимум три отдельных диска, отведённых для распределённого хранения данных.

После готовности кластера пользователям предоставляется возможность запуска своих приложений, используя контейнеры или виртуальные машины, а также возможность доступа к общему хранилищу Ceph и инструментарию централизованного управления на базе LXD. Возможно гибкое управление предоставляемыми ресурсами CPU, памяти и ввода/вывода, проброс в окружения USB-устройств, GPU и накопителей. Изолированные и виртуальные окружения могут переноситься между узлами в режиме live-миграции и сохраняться с использованием снапшотов. Метрики о работе кластера и лог событий могут экспортироваться для мониторинга при помощи Prometheus и Grafana.

В новой версии:

- Предоставлена возможность развёртывания MicroCloud на одном узле без поддержания отказоустойчивости, что может быть полезным для экспериментов и тестирования на локальной системе перед развёртыванием в рабочем окружении.
- Добавлены новые возможности инициализации кластера, позволяющие узлам заранее инициировать процесс установки доверия, не дожидаясь начала процедуры присоединения к кластеру.
- Предоставлена возможность указания дополнительных настроек на этапе инициализации, например, теперь можно выбрать отдельные сетевые интерфейсы для трафика Ceph (для направления через разные интерфейсы данных, требующих низких задержек и высокой пропускной способности), включить шифрование дисков и определить параметры распределённой ФС Ceph.
- Обновлены версии используемых компонентов: LXD 5.21, MicroCeph Squid (Ceph 19.2.0) и MicroOVN 24.04 (Open vSwitch 3.3). Включён по умолчанию пользовательский интерфейс к LXD. https://honk.any-key.press/d/G7ThWX4y8W8hLf2443469.png




<iframe src="https://www.youtube.com/embed/M0y0hQ16YuE?si=iZ4ufkWt8BvKgWnh">

Источник: https://www.opennet.ru/opennews/art.shtml?num=62265

Компания Canonical представила первый LTS-выпуск инструментария MicroCloud

Компания Canonical опубликовала инструментарий управления облачной инфраструктурой MicroCloud 2.1, позволяющий быстро развёртывать на своём оборудовании облачные системы и вычислительные кластеры с общим распределённым хранилищем данных и защищённой виртуальной сетью. MicroCloud 2.1 заявлен как первый LTS-выпуск для которого будет обеспечен длительный цикл поддержки. MicroCloud оформлен в виде
opennet

Microsoft представил обновление WSL, прослойки для запуска Linux в Windows

Компания Microsoft объявила о расширении возможностей прослойки WSL (Windows Subsystem for Linux) и реализации официальной поддержки запуска в WSL окружений с дистрибутивом Red Hat Enterprise Linux. Заявлено, что в скором времени компания Red Hat начнёт формировать специальные сборки RHEL для WSL, которые можно будет найти и установить при помощи команд "wsl --list --online" и "wsl --install".

WSL предоставляет виртуальную машину с полноценным ядром Linux (на базе веток 6.6 или 5.15), в которой могут запускаться специально адаптированные для WSL дистрибутивы Linux. Ядро включает специфичные для WSL изменения, такие как оптимизации для сокращения времени запуска и уменьшения потребления памяти, возможность возвращения Windows освобождённой Linux-процессами памяти и настройки для исключения лишних драйверов и подсистем. Система устанавливается в отдельный дисковый образ (VHD) c файловой системой ext4 и виртуальным сетевым адаптером. Помимо RHEL для установки в WSL доступны сборки Ubuntu, Debian GNU/Linux, Kali Linux, Fedora, Alpine, Arch Linux, Almalinux и SUSE и openSUSE.

Основные улучшения в новой версии WSL:

- Добавлен новый способ упаковки дистрибутивов Linux для установки в WSL. Кроме поставки дистрибутива через каталог Microsoft Store в формате appx и ручного импорта компонентов из tar-архива командой "wsl --import", в новой версии предоставлена возможность установки Linux-дистрибутива из файла или сетевого хранилища, без необходимости написания кода, специфичного для Windows. Новый метод сводится к добавлению в tar-архив с системным окружением дистрибутива файла /etc/wsl-distribution.conffile с метаданными, такими как название, пиктограмма, идентификатор пользователя по умолчанию и скрипты для настройки окружения, выполняемые при первом запуске. Подобный tar-архив можно просто переименовать в файл с расширением ".wsl" и установить командой "wsl --install".
- Добавлен новый интерфейс первого запуска, предлагающий настройки и информацию с обзором возможностей WSL и инструкцией для пользователей, первый раз использующих Linux. Интерфейс показывается при первом запуске виртуальной машины с Linux, а также может быть вызван через кнопку Welcome to WSL в конфигураторе. https://honk.any-key.press/d/G7TR45QR2N484219Gr51p.png https://honk.any-key.press/d/G7Tb9yQ4p63nZ22JLY1P4.png
- Реализована интеграция с платформой Intune для определения политик поддержки дистрибутивов и отслеживания используемых в WSL версий.
- Интегрирована поддержка инструментария Microsoft Entra ID для управления идентификацией и организации доступа к защищённым корпоративным ресурсам из WSL-окружений.



Источник: https://www.opennet.ru/opennews/art.shtml?num=62259

Microsoft представил обновление WSL, прослойки для запуска Linux в Windows

Компания Microsoft объявила о расширении возможностей прослойки WSL (Windows Subsystem for Linux) и реализации официальной поддержки запуска в WSL окружений с дистрибутивом Red Hat Enterprise Linux. Заявлено, что в скором времени компания Red Hat начнёт формировать специальные сборки RHEL для WSL, которые можно будет найти и установить при помощи команд "wsl --list --online" и "wsl --install".
opennet

Предварительный выпуск Android 16

Компания Google представила первую тестовую версию открытой мобильной платформы Android 16. Для оценки новых возможностей платформы предложена программа предварительного тестирования. Сборки прошивки подготовлены для устройств Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8a/8 Pro, Pixel 9/9 Pro/9 Pro XL/9 Pro Fold, Pixel Fold и Pixel Tablet.

Предварительный выпуск сформирован на три месяца раньше, чем при подготовке прошлых версий в связи с переходом на новый график разработки, в соответствии с которым каждый год будет формироваться не один значительный релиз Android, а два выпуска - первый во втором квартале (а не в третьем как раньше), а второй - в четвёртом квартале. Летний релиз будет включать значительные новшества, изменения поведения в SDK и новые API. Зимний релиз будет содержать улучшения, новые API и изменения, не влияющие на работу приложений.

https://honk.any-key.press/d/G7TDyg448c436hcZ1W74W.png

Среди изменений в Android 16 Developer Preview 1:

- Предложен встраиваемый интерфейс для предоставления приложениям доступа к выбранным пользователем фотографиям и видео, хранящимся как на текущем устройстве, так и в облачном хранилище. Ключевое отличие нового интерфейса в том, что приложение получает доступ не ко всей мультимедийной библиотеке, а только к отдельным файлам, которые выбрал пользователь.
- В Health Connect, отдельное хранилище для данных с фитнес-браслетов и прочих устройств, имеющих отношение к здоровью пользователя, добавлен API, позволяющий приложениям читать и сохранять медицинские записи в формате FHIR с подтверждением согласия выполнения действия у пользователя.
- Добавлена поддержка технологий, развиваемых в рамках инициативы Privacy Sandbox, для организации показа рекламы в мобильных приложениях, защищая при этом конфиденциальность пользователей.



Источник: https://www.opennet.ru/opennews/art.shtml?num=62263

Предварительный выпуск Android 16

Компания Google представила первую тестовую версию открытой мобильной платформы Android 16. Для оценки новых возможностей платформы предложена программа предварительного тестирования. Сборки прошивки подготовлены для устройств Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8a/8 Pro, Pixel 9/9 Pro/9 Pro XL/9 Pro Fold, Pixel Fold и Pixel Tablet.
opennet

Разработчики Ubuntu проанализировали эффективность включения PGO-оптимизации

Компания Canonical опубликовала результат оценки изменения производительности при пересборке пакетов с включением оптимизации на основе результатов профилирования кода (PGO - Profile-guided optimization), позволяющей генерировать более оптимальный код на основе анализа особенностей выполнения программы. В ходе проделанной работы был сделан вывод, что включение PGO-оптимизации позволило на 5-7% снизить нагрузку на CPU и ускорить время сборки.

В ходе проведённого эксперимента была измерена производительность сборки пакетов OpenSSL, GDB, Emacs и Python3.12 в виртуальном окружении QEMU, эмулирующем систему RISC-V на компьютере с архитектурой x86_64. Разница производительности оценивалась для QEMU, собранного с опциями по умолчанию и с включением PGO-оптимизации. Тестируемые пакеты для сборки были выбраны с расчётом, что в них используются разные языки программирования, а объём кода соответствует 1-6 часам сборки в эмуляторе.

С практической стороны, эксперимент позволил добиться повышения производительности сборочных окружений для платформы RISC-V, запускаемых при помощи эмулятора. Сборочные работы, ранее выполняемые за сутки, при задействовании PGO-оптимизации стали выполняться на два часа быстрее, что дало возможность ежедневно производить на том же сервере две дополнительные полные сборки.

https://honk.any-key.press/d/G7TRDQ36vVzKZQR78l91B.png

https://honk.any-key.press/d/G7TJ1Lw7v7HHq9nhChC2d.png

https://honk.any-key.press/d/G7T6dzy1BXHz4L1Gwl3f7.png

https://honk.any-key.press/d/G7TKS1Qv33bFZlCsm741P.png

Источник: https://www.opennet.ru/opennews/art.shtml?num=62262

Разработчики Ubuntu проанализировали эффективность включения PGO-оптимизации

Компания Canonical опубликовала результат оценки изменения производительности при пересборке пакетов с включением оптимизации на основе результатов профилирования кода (PGO - Profile-guided optimization), позволяющей генерировать более оптимальный код на основе анализа особенностей выполнения программы. В ходе проделанной работы был сделан вывод, что включение PGO-оптимизации позволило на 5-7% снизить нагрузку на CPU и ускорить...
opennet

Уязвимости в утилите needrestart, позволяющие получить root-доступ в Ubuntu Server

Компания Qualys выявила три уязвимости в утилите needrestart, предназначенной для перезапуска фоновых процессов после обновления используемых данными процессами библиотек. Начиная с Ubuntu 21.04 утилита needrestart включена в состав базового окружения Ubuntu Server, в котором запускается с правами root в конце каждой транзакции пакетного менеджера APT, сканирует запущенные процессы и перезапускает те их них, что связанны с файлами, изменившимися после обновления пакетов. Выявленные уязвимости позволяют локальному непривилегированному пользователю получить права root в Ubuntu Server в конфигурации по умолчанию.

Уязвимости присутствуют в needrestart начиная с версии 0.8 (2014 год) и устранены в выпуске needrestart 3.8. Проблемы также уже исправлены в дистрибутивах Debian и Ubuntu. В качестве обходного пути блокирования эксплуатации уязвимости можно отключить сканирование интерпретаторов, указав в файле конфигурации /etc/needrestart/needrestart.conf параметр "$nrconf{interpscan} = 0".

Уязвимости присутствуют в коде с реализацией режима определения обновления скриптов, запущенных с использованием интерпретаторов. Выявленные проблемы:

- CVE-2024-48990 - локальный пользователь может добиться выполнения кода с правами root через создание условий для запуска Python-интерпретатора с выставленной атакующим переменной окружения PYTHONPATH. Кроме использования Python атака также может быть проведена (CVE-2024-48992) через запуск интерпретатора Ruby с переменной окружения RUBYLIB.

Уязвимости вызваны тем, что в процессе перезапуска изменившегося скрипта утилита needrestart выставляет переменную окружения PYTHONPATH на основе содержимого файла /proc/pid/environ, которую затем использует и для запуска собственного Python-кода. Соответственно, атакующий может дождаться активности, связанной с работой пакетного менеджера APT, симулировать изменение своего скрипта и установить для него переменную окружения PYTHONPATH, которая также будет применена при запуске встроенного в needrestart Python-кода ("import sys\n print(sys.path)"), выполняемого с правами root.

Например, для эксплуатации уязвимости можно запустить постоянно висящий в памяти Python-процесс, выставив для него переменную окружения "PYTHONPATH=/home/test", и разместить разделяемую библиотеку "/home/test/importlib/__init__.so", которая будет выполнена при выполнении привилегированного Python-кода в needrestart.


- CVE-2024-48991 - локальный пользователь может добиться выполнения кода с правами root через инициирование состояния гонки (race condition), в результате которого needrestart запустит фиктивный интерпретатор Python, подставленный атакующим, вместо системного интерпретатора Python. Суть уязвимость похожа на вышеотмеченную проблему, разница только в том, что needrestart определяет имя процесса Python (например, /usr/bin/python3) через чтение "/proc/pid/exe".

Для эксплуатации уязвимости можно создать процесс /home/test/race, который при помощи механизма inotify дождётся момента, когда needrestart начнёт читать содержимое /proc/pid/exe, и сразу запустит через функцию execve системный интерпретатор Python. Так как needrestart не выполняет проверку настоящий ли это Python, то он посчитает, что /home/test/race и есть интерпретатор Python и запустит его для своего кода.


- CVE-2024-11003 - локальный пользователь может добиться выполнения произвольных shell-команд с правами root через создание условий для обработки в needrestart имён файлов в формате "команда|", передача которых в Perl-функцию open() приведёт к запуску команды. Фактически уязвимость проявляется в Perl-модуле ScanDeps (CVE-2024-10224), но вызвана передачей в этот модуль внешних параметров без должной проверки.

Атака может быть осуществлена через запуск Perl-скрипта с символом "|" в имени, например, "/home/test/perl|". В процессе выполнения функции scan_deps() в needrestart данный файл будет открыт через функцию open(), которая обработает символ "|" как флаг для запуска программы "/home/test/perl" и использования полученного от данной программы выходного потока.



Источник: https://www.opennet.ru/opennews/art.shtml?num=62261

Уязвимости в утилите needrestart, позволяющие получить root-доступ в Ubuntu Server

Компания Qualys выявила три уязвимости в утилите needrestart, предназначенной для перезапуска фоновых процессов после обновления используемых данными процессами библиотек. Начиная с Ubuntu 21.04 утилита needrestart включена в состав базового окружения Ubuntu Server, в котором запускается с правами root в конце каждой транзакции пакетного менеджера APT, сканирует запущенные процессы и перезапускает те их них, что связанны...
opennet

Arch Linux переводит сценарии сборки пакетов на лицензию 0BSD

Разработчики дистрибутива Arch Linux объявили о решении перевести весь исходный код компонентов, используемых для формирования пакетов, таких как файлы PKGBUILD, ".install" и ".desktop", на лицензию 0BSD, которую можно рассматривать как аналог перевода в общественное достояние. Ранее исходный код сценариев сборки пакетов в Arch Linux распространялся без указания лицензии, что приводило к неопределённости, позволяло по разному трактовать возможность их использования и создавало проблемы при желании задействовать их в других проектах, имеющих строгую лицензионную политику.

Начиная с сегодняшнего дня участникам разработки Arch Linux на email начнут отправляться уведомления с перечислением их вклада. Если разработчик согласен с распространением его работы под лицензией 0BSD, то можно просто проигнорировать пришедшее письмо, а если имеются возражения - следует указать их в ответном письме и обсудить возможные варианты.

Источник: https://www.opennet.ru/opennews/art.shtml?num=62255

Arch Linux переводит сценарии сборки пакетов на лицензию 0BSD

Разработчики дистрибутива Arch Linux объявили о решении перевести весь исходный код компонентов, используемых для формирования пакетов, таких как файлы PKGBUILD, ".install" и ".desktop", на лицензию 0BSD, которую можно рассматривать как аналог перевода в
opennet

Опубликованы дистрибутивы Rocky Linux 9.5 и Oracle Linux 9.5

Представлен релиз дистрибутива Rocky Linux 9.5, нацеленного на создание свободной сборки RHEL, способной занять место классического CentOS. Дистрибутив бинарно совместим с Red Hat Enterprise Linux и может использоваться в качестве замены RHEL 9.5 и CentOS 9 Stream. Поддержка ветки Rocky Linux 9 будет осуществляться до 31 мая 2032 года. Установочные iso-образы Rocky Linux подготовлены для архитектур x86_64, aarch64, ppc64le и s390x (IBM Z). Дополнительно предложены live-сборки с рабочими столами GNOME, KDE, Cinnamon и Xfce, опубликованные для архитектуры x86_64.

Как и в классическом CentOS внесённые в пакеты Rocky Linux изменения сводятся к избавлению от привязки к бренду Red Hat и удалению специфичных для RHEL пакетов, таких как redhat-*, insights-client и subscription-manager-migration*. С обзором списка изменений в Rocky Linux 9.5 можно познакомиться в анонсе RHEL 9.5. Среди специфичных для Rocky Linux изменений можно отметить поставку в отдельном репозитории plus пакетов openldap-servers-2.6.6, а в репозитории NFV пакетов для виртуализации компонентов сетей, развиваемый SIG-группой NFV (Network Functions Virtualization). В Rocky Linux также поддерживаются репозитрии CRB (Code Ready Builder с дополнительными пакетами для разработчиков, пришёл на смену PowerTools), RT (пакеты для работы в режиме реального времени), HighAvailability, ResilientStorage, SAP и SAPHANA (пакеты для SAP HANA). Добавлен экспериментальный пакет с ядром Linux - kernel-uki, предоставляющий унифицированный образ UKI (Unified Kernel Image), заверенный отдельным ключом для SecureBoot.

В качестве источника исходных пакетов при формировании Rocky Linux 9.5 задействован репозиторий OpenELA, поддерживаемый совместно с Oracle и SUSE. Изменение процессов разработки обусловлено прекращением размещения компанией Red Hat исходных текстов rpm-пакетов RHEL в публичном репозитории git.centos.org. Исходные пакеты предоставляются клиентам компании только через закрытый раздел сайта, на котором действует пользовательское соглашение (EULA), запрещающее редистрибуцию данных, что не позволяет использовать эти пакеты для создания производных дистрибутивов. Исходные тексты остаются доступны в репозитории CentOS Stream, но он полностью не синхронизирован с RHEL и в нём не всегда самые свежие версии пакетов совпадают с пакетами из RHEL.

Дистрибутив Rocky Linux развивается под покровительством организации Rocky Enterprise Software Foundation (RESF), которая зарегистрирована как общественно-полезная корпорация (Public Benefits Corporation), не нацеленная на получение прибыли. Владельцем организации является Грегори Курцер (Gregory Kurtzer), основатель CentOS, но функции управления в соответствии с принятым уставом делегированы совету директоров, в который сообществом избираются участники, вовлечённые в работу над проектом. Параллельно для развития расширенных продуктов на базе Rocky Linux и поддержки сообщества разработчиков данного дистрибутива создана коммерческая компания Ctrl IQ, которая получила 26 млн долларов инвестиций. К разработке и финансированию проекта присоединились такие компании, как Google, Amazon Web Services, GitLab, MontaVista, 45Drives, OpenDrives и NAVER Cloud.


Дополнительно можно отметить формирование компанией Oracle дистрибутива Oracle Linux 9.5, созданного на основе пакетной базы Red Hat Enterprise Linux 9.5 и полностью бинарно совместимого с ней. Для загрузки без ограничений предложены установочные iso-образы, размером 12 ГБ и 1.1 ГБ, подготовленные для архитектур x86_64 и ARM64 (aarch64). Для Oracle Linux 9 открыт неограниченный и бесплатный доступ к yum-репозиторию с бинарными обновлениями пакетов с устранением ошибок (errata) и проблем безопасности. Для загрузки также подготовлены отдельно поддерживаемые репозитории с наборами пакетов Application Stream и CodeReady Builder.

Помимо пакета с ядром из состава RHEL (на базе ядра 5.14) в Oracle Linux предложено собственное ядро Unbreakable Enterprise Kernel 7 Update 3, основанное на ядре Linux 5.15 и оптимизированное для работы с промышленным программным обеспечением и оборудованием Oracle. Исходные тексты ядра, включая разбивку на отдельные патчи, доступны в публичном Git-репозитории Oracle. Ядро Unbreakable Enterprise Kernel устанавливается по умолчанию, позиционируется в качестве альтернативы штатному пакету с ядром RHEL и предоставляет ряд расширенных возможностей, таких как интеграция DTrace и улучшенная поддержка Btrfs. Кроме дополнительного ядра по функциональности выпуски Oracle Linux 9.5 и RHEL 9.5 полностью идентичны (список изменений можно посмотреть в анонсе RHEL 9.5).

Источник: https://www.opennet.ru/opennews/art.shtml?num=62258

Опубликованы дистрибутивы Rocky Linux 9.5 и Oracle Linux 9.5

Представлен релиз дистрибутива Rocky Linux 9.5, нацеленного на создание свободной сборки RHEL, способной занять место классического CentOS. Дистрибутив бинарно совместим с Red Hat Enterprise Linux и может использоваться в качестве замены RHEL 9.5 и CentOS 9 Stream. Поддержка ветки Rocky Linux 9 будет осуществляться до 31 мая 2032 года. Установочные iso-образы Rocky Linux
opennet

Опубликована 64 редакция рейтинга самых высокопроизводительных суперкомпьютеров

Опубликован 64-й выпуск рейтинга 500 самых высокопроизводительных компьютеров мира. Первое место в 64 редакции рейтинга занял новый кластер El Capitan, запущенный в Ливерморской национальной лаборатории Министерства энергетики США. Кластер насчитывает 11 миллионов процессорных ядер (CPU AMD EPYC 24C 1.8GH с ускорителем AMD Instinct MI300X) и обеспечивает производительность 1.742 экзафлопса. В качестве операционной системы применяется HPE Cray OS (редакция SUSE Linux Enterprise Server 15).

Смещённый на второе место прошлый лидер рейтинга, кластер Frontier, размещённый в Ок-Риджской национальной лаборатории Министерства энергетики США, модернизирован - число процессорный ядер (CPU AMD EPYC 64C 2GHz, ускоритель AMD Instinct MI250X) увеличено с 8.7 до 9 млн, что позволило повысить производительность с 1.206 до 1.353 экзафлопсов.

Со второго на третье место переместился кластер Aurora, развёрнутый в Аргоннской национальной лаборатории Министерства энергетики США. Кластер содержит 9.2 млн процессорных ядер (CPU Xeon CPU Max 9470 52C 2.4GHz, ускоритель Intel Data Center GPU Max) и обеспечивает производительность 1.012 экзафлопса. В качестве операционной системы в Aurora используется SUSE Linux Enterprise Server 15 SP4.

С третьего на четвёртное место сместился кластер Eagle запущенный в начале года компанией Microsoft для облака Azure. Кластер содержит 2 млн процессорных ядер (CPU Xeon Platinum 8480C 48C 2GHz) и демонстрирует пиковую производительность в 561 петафлопс. Программное обеспечение кластера базируется на Ubuntu 22.04.

Пятое место занял новый кластер HPC6, развёрнутый в итальянской нефтегазовой компании "Эни". Кластер содержит 3 млн процессорных ядер (AMD EPYC 64C 2GHz) и демонстрирует пиковую производительность в 477 петафлопс. Программное обеспечение кластера базируется на RHEL 8.9.

Что касается отечественных суперкомпьютеров, то созданные компанией Яндекс кластеры Червоненкис, Галушкин и Ляпунов опустились с 42, 69 и 79 мест на 60, 86 и 99 места. Данные кластеры созданы для решения задач машинного обучения и обеспечивают производительность 21.5, 16 и 12.8 петафлопса соответственно. Кластеры работают под управлением Ubuntu 16.04 и оснащены процессорами AMD EPYC 7xxx и GPU NVIDIA A100: кластер Chervonenkis насчитывает 199 узлов (193 тысячи ядер AMD EPYC 7702 64C 2GH и 1592 GPU NVIDIA A100 80G), Galushkin - 136 узлов (134 тысячи ядер AMD EPYC 7702 64C 2GH и 1088 GPU NVIDIA A100 80G), Lyapunov - 137 узлов (130 тысяч ядер AMD EPYC 7662 64C 2GHz и 1096 GPU NVIDIA A100 40G).

Развёрнутый Сбербанком кластер Christofari Neo опустился с 83 на 104 место. Christofari Neo работает под управлением NVIDIA DGX OS 5 (редакция Ubuntu) и демонстрирует производительность 11.95 петафлопса. Кластер насчитывает более 98 тысяч вычислительных ядер на базе CPU AMD EPYC 7742 64C 2.25GHz и поставляется с GPU NVIDIA A100 80GB. Второй кластер Сбербанка (Christofari) за полгода сместился с 142 на 172 место в рейтинге.

В рейтинге также остаётся ещё один отечественный кластер: Lomonosov 2, который сместился с 406 на 453 место (в 2015 году кластер Lomonosov 2 занимал 31 место, а его предшественник Lomonosov в 2011 году - 13 место). Кластер MTS GROM, который в прошлом рейтинге занимал 472 место, выбыл из списка 500 самых производительных систем. Таким образом, число отечественных кластеров в рейтинге уменьшилось с 7 до 6 систем (для сравнения в 2020 году в рейтинге было 2 отечественные системы, в 2017 году - 5, а в 2012 году - 12).

Наиболее интересные тенденции:

- Распределение по количеству суперкомпьютеров в разных странах:

1. США: 172 (171 - полгода назад). Суммарная производительность оценивается в 55.2% всей производительности рейтинга (полгода назад - 34.2%);
2. Китай: 63 (80). В сумме китайские кластеры генерируют 2.7% от всей производительности (полгода назад - 16%);
3. Германия: 41 (40). Суммарная производительность - 3.5% (8%);
4. Япония: 34 (29). Суммарная производительность - 8% (5.8%);
5. Франция: 24 (24). Суммарная производительность - 2.5% (4.8%);
6. Великобритания: 14 (16);
7. Южная Корея 13 (13);
8. Италия: 13 (11). Суммарная производительность - 7.1% (4%);
9. Нидерланды: 10 (9);
10. Канада 10 (10);
11. Бразилия 9 (8);
12. Польша: 8 (8);
13. Швеция 8 (7);
14. Саудовская Аравия 7 (8);
15. Тайвань: 7 (6);
16. Индия: 7 (4);
17. Норвегия: 6 (5);
18. Россия 6 (7);
19. Швейцария 5 (5);
20. Австралия 4 (5);
21. Ирландия 4 (4);
22. Сингапур: 4 (3);
23. Чехия: 3 (3);
24. Испания: 3 (3).
25. Финляндия: 3 (3);
26. Австрия: 3;
27. Объединённые Арабские Эмираты: 3.


- В рейтинге операционных систем, используемых в суперкомпьютерах, c ноября 2017 года остаётся только Linux;
- Распределение по дистрибутивам Linux (в скобках - 6 месяцев назад):

- 38.2% (42.4%) используют системы на базе Linux, но не детализируют дистрибутив;
- 17.4% (16.8%) - RHEL;
- 10.2% (8.4%) - Ubuntu;
- 8.4% (9.4%) CentOS;
- 8.4% (9.2%) - Cray Linux;
- 4.2% (4.4%) - SUSE;
- 4% (3%) - Rocky Linux;
- 1% (1.2%) - Alma Linux;
- 0.2% (0.2%) - Amazon Linux


- Минимальный порог производительности для вхождения в Top500 за 6 месяцев составил 2.31 петафлопса (полгода назад - 2.13 петафлопса). Десять лет назад лишь 51 кластер показывал производительность более петафлопса. Для Top100 порог вхождения вырос с 9.46 до 12.8 петафлопсов, а для Top10 - со 121.4 до 208 петафлопсов.
- Суммарная производительность всех систем в рейтинге за 6 месяцев возросла с 8.2 до 11.7 экзафлопсов (пять лет назад было 1.65 экзафлопса, десять лет назад - 0.31 экзафлопса). Система, замыкающая нынешний рейтинг, в прошлом выпуске находилась на 454 месте.
- Общее распределение по количеству суперкомпьютеров в разных частях света выглядит следующим образом: 181 суперкомпьютер находится в Северной Америке 181 (181 - полгода назад), 161 в Европе (157), 143 в Азии (147), 10 в Южной Америке (9), 4 в Океании (5) и 1 в Африке (1).
- В качестве процессорной основы лидируют CPU Intel - 61.8% (полгода назад было 62.8%), на втором месте AMD 32.4% (31.4%), на третьем Fujitsu A64FX - 1.8% и NVIDIA Grace - 1.8%, на четвёртом IBM Power - 0.8% (было 1.2%).
- 21.4% (полгода назад 20%) всех используемых процессоров имеют 64 ядра, 17.2% (17.8%) - 24 ядра, 10.2% (9.4%) - 32 ядра, 8.4% (5.8%) - 48 ядер, 7.6% (9%) - 20 ядер, 7.4% (4.4%) - 56 ядер, 4.6% (5.4%) - 16 ядер, 4.6% (5.6%) - 18 ядер, 4.4% (5.2%) - 28 ядер, 2% - 96 ядер. Суммарное число процессорных ядер во всех кластерах рейтинга за полгода увеличилось с 114.6 млн до 128.7 млн.
- 209 из 500 систем (полгода назад - 196) дополнительно используют ускорители или сопроцессоры, при этом в 183 (142) системах задействованы чипы NVIDIA, в 19 (14) - AMD, в 1 (1) - Intel Xeon Phi, в 4 (4) - Intel DataCenter GPU, в 1 (1) - Matrix-2000.
- Среди производителей кластеров на первом месте закрепилась компания Lenovo - 32.4% (полгода назад 32.6%), на втором месте компания Hewlett-Packard Enterprise - 23% (22.4%), на третьем месте компания EVIDEN - 10.4% (9.8%), далее следуют Dell EMC 7.4% (6.8%), NVIDIA 5.2% (4.4%), Fujitsu 3% (2.8%), NEC 2.8% (2.8%), Inspur - 2.2% (4.4%), Microsoft Azure - 1.6% (1.4%), Penguin Computing - 1.4% (1.4%), MEGWARE 1.4% (1.4%), IBM 0.6% (1%), Sugon 0.6% (1%), Supermicro 0.6%.
- InfiniBand применяется для связи узлов в 50.6% (полгода назад 47.8%) кластеров, Ethernet используется в 37.4% (39%) кластеров, Omnipath - 6.2% (6.4%). Если рассматривать суммарную производительность, то системы на базе InfiniBand охватывают 33.6% (39.2%) всей производительности Top500, а Ethernet - 58.1% (48.5%).

Одновременно опубликован новый выпуск альтернативного рейтинга кластерных систем Graph 500, ориентированного на оценку производительности суперкомпьютерных платформ, связанных с симулированием физических процессов и задач по обработке больших массивов данных, свойственных для таких систем. Рейтинги Green500, HPCG (High-Performance Conjugate Gradient) и HPL-AI объединены с Top500 и отражаются в основном рейтинге Top500.

Дополнительно можно отметить релиз кластерной файловой системы Lustre 2.16, используемой в большей части крупнейших Linux-кластеров, содержащих десятки тысяч узлов. Ключевыми компонентами Lustre являются серверы обработки и хранения метаданных (MDS), управляющие серверы (MGS), серверы хранения объектов (OSS), хранилище объектов (OST, поддерживается работа поверх ext4 и ZFS) и клиенты. Код проекта распространяется под лицензией GPLv2. В новой версии реализована полноценная поддержка работы Lustre в сетях IPv6, используя компоненты LNet (Lustre Network) и LND (Lustre Network Daemon). Также проведена оптимизация обработки содержимого больших каталогов и добавлена поддержка RHEL 9.4 и Rocky Linux 9.4.

Источник: https://www.opennet.ru/opennews/art.shtml?num=62256

Опубликована 64 редакция рейтинга самых высокопроизводительных суперкомпьютеров

Опубликован 64-й выпуск рейтинга 500 самых высокопроизводительных компьютеров мира. Первое место в 64 редакции рейтинга занял новый кластер El Capitan, запущенный в Ливерморской национальной лаборатории Министерства энергетики США. Кластер насчитывает 11 миллионов процессорных ядер (CPU AMD EPYC 24C 1.8GH с ускорителем AMD Instinct MI300X) и обеспечивает производительность 1.742 экзафлопса. В качестве операционной системы применяется
opennet

Google намерен перевести Chrome OS на платформу Android

Издание Android Authority получило сведения о намерении компании Google заменить платформу Chrome OS на новую реализацию, построенную на базе платформы Android. О планах задействования отдельных компонентов Android в Chrome OS, таких как ядро и системные библиотеки, сообщалось в июне, но судя по новым сведениям планы более глобальные, чем просто задействование частей Androd в Chrome OS, и сводятся к полной унификации и оставлению только Android с воссозданием интерфейса в стиле Chrome OS поверх данной платформы.

В качестве причин упоминается желание усилить конкуренцию с iPad и более эффективно использовать инженерные ресурсы чтобы не распылять усилия на две операционные системы. Подробности о планах по интеграции проектов не сообщается, но предполагается, что Google постепенно начнёт вытеснение классического Chrome OS путём поставки на новых моделях Chromebook похожего по функциональности интерфейса, работающего на базе Android. По неофициальной информации первым подобным устройством станет ноутбук Pixel Laptop c прошивкой на базе платформы Android, в которой по умолчанию включён появившийся в Android 15 режим рабочего стола.

https://honk.any-key.press/d/smv47s9Bdn3Wr6gSs2.png

Напомним, что операционная система ChromeOS напоминает по своей архитектуре атомарно обновляемые дистрибутивы Linux, использует ядро Linux со специфичными патчами, системный менеджер upstart и сборочный инструментарий ebuild/portage из Gentoo Linux. Несмотря на то, что пользовательское окружение ChromeOS сосредоточено на использовании web-браузера, а вместо стандартных программ задействованы web-приложения, платформа включает в себя полноценный многооконный интерфейс, рабочий стол и панель задач. Для запуска приложений, созданных для Linux и Android, используются виртуальные машины, запускаемые при помощи гипервизора CrosVM, основанного на KVM.

По умолчанию в Chrome OS применяется шифрование дисковых разделов c пользовательскими данными (при помощи fscrypt), а системные разделы монтируются в режиме только для чтения, верифицируются по цифровой подписи и обновляются атомарно (два корневых раздела, рабочий и для установки обновления, которые меняются местами). Вывод на экран осуществляется при помощи графического стека Freon (ведётся работа по переходу на использование Wayland) и оконного менеджера Aura. Исходный код распространяются под свободной лицензией Apache 2.0.

https://honk.any-key.press/d/pTD9q7h5Dl3834m1q4.png

Дополнительно можно отметить публикацию изданием Bloomberg неподтверждённой информации о том, что в рамках антимонопольного разбирательства, в котором Google был признан монополистом на рынке поисковых систем, Министерство юстиции США намерено рекомендовать суду вынести предписание, обязывающее Google продать часть бизнеса, связанную с разработкой браузера Chrome. Судебное слушание по вопросу изменений, которые компания Google должна будет реализовать для устранения нарушения антимонопольного законодательства, намечено на апрель 2025 года, а окончательное решение суд намерен вынести в августе 2025 года. Изначально предполагалось, что требованием к Google станет продажа бизнеса, связанного с мобильной платформой Android.

Источник: https://www.opennet.ru/opennews/art.shtml?num=62254

Google намерен перевести Chrome OS на платформу Android

Издание Android Authority получило сведения о намерении компании Google заменить платформу Chrome OS на новую реализацию, построенную на базе платформы Android. О планах задействования отдельных компонентов Android в Chrome OS, таких как ядро и системные библиотеки, сообщалось в
opennet

Доступно ядро Linux-libre 6.12. Решение лицензионных проблем с драйверами Tuxedo

Латиноамериканский Фонд свободного ПО опубликовал полностью свободный вариант ядра Linux 6.12 - Linux-libre 6.12-gnu, очищенный от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. Кроме того, Linux-libre отключает функции ядра по загрузке внешних несвободных компонентов, не входящих в поставку ядра, и удаляет упоминание об использовании несвободных компонентов из документации.

Для очистки ядра от несвободных частей проектом Linux-libre создан универсальный shell-скрипт, который содержит тысячи шаблонов для определения наличия бинарных вставок и исключения ложных срабатываний. Также доступны для загрузки готовые патчи, созданные на основе использования вышеупомянутого скрипта. Ядро Linux-libre рекомендовано для использования в дистрибутивах, соответствующих критериям Фонда СПО по построению полностью свободных дистрибутивов GNU/Linux. Например, Linux-libre используется в таких дистрибутивах, как Dragora Linux, Trisquel, Dyne:Bolic, gNewSense, Parabola, Musix и Kongoni.

В выпуске Linux-libre 6.12-gnu добавлен код для чистки блобов в драйверах для SoC CPM/QE QMC, беспроводных чипов Realtek 8852BE-VT, bluetooth-адаптеров Amlogic, сетевых адаптеров amcc qt2025, датчиков aw96103/aw96105 и кодеков TI TLV320AIC31XX. Проведена дополнительная чистка блобов в драйверах для xHCI-контроллеров Renesas и Intel ISH (Integrated Sensor Hub) HID. Обновлён код удаления блобов в драйверах и подсистемах MHI PCI host, Adreno 620/621, r8169, Qualcomm q6v5 remoteproc, rtw8852c, rtw8922a, а также в dts-файлах для ARM54-чипов TI PRU и Qualcomm. Прекращена чистка драйверов для беспроводных карт ks7010 и звуковой подсистемы Intel SkyLake, так как данные драйверы были удалены из состава ядра.

Отдельно отмечается выявление в исходных текстах одного из драйверов исполняемого объектного кода, сгенерированного из неопубликованных исходных текстов и встроенного в форме последовательности шестнадцатеричных чисел. Проблемный драйвер явно не называется, но, судя по изменениям, речь про наличие микрокода шейдера в файле gfx_v9_4_3_cleaner_shader.h, входящего в состав драйвера AMDGPU. Первая подобная вставка была выявлена в ядре 6.11 и затем предложена одним из разработчиков к удалению, так как исходные тексты не были предоставлены (возникла ситуация поставки под лицензией GPL программы, доступной только в бинарном виде). Тем не менее, в ядре 6.12 указанный бинарный код был сохранён, а в тот же драйвер была добавлена ещё одна подобная вставка.

Кроме того, в анонсе Linux-libre 6.12 упомянуты ещё два события:

- Для включения в состав ядра предложено исправление, блокирующее драйверам для ноутбков Tuxedo доступ к подсистемам ядра, доступным только для кода под лицензией GPLv2 (EXPORT_SYMBOL_GPL). Возможность блокировки изначально была введена для ограничения связывания проприетарных драйверов с компонентами ядра Linux, экспортируемыми только для модулей под лицензией GPLv2, но успешно обходится через создание модулей-прослоек, транслирующих доступ проприетарного драйвера к необходимым API ядра. В случае с драйверами Tuxedo, ситуация обратная - несмотря не то, что драйверы Tuxedo развиваются отдельной от ядра, они поставляются под лицензией GPLv3, которая с одной стороны не совместима с GPLv2, но с другой стороны отстаивает больше свобод, например, защищает от тивоизации.

Отмечается, что компании Tuxedo давно предлагали сменить лицензию на свои драйверы, но она продолжала поставлять код под лицензией GPLv3 и при этом указывала в коде драйвера макрос 'MODULE_LICENSE("GPL")' вместо 'MODULE_LICENSE("GPL v3")' для получения доступа ко всем подсистемам ядра. Компания Tuxedo согласилась с критикой и изменила лицензию на GPLv2+ для части своих драйверов. Изменение применено к драйверам gxtp7380, ite_8291, ite_8291_lb, ite_8297, ite_8297, stk8321, tuxedo_compatibility_check, tuxedo_nb02_nvidia_power_ctrl и tuxedo_tuxi. Более десятка драйверов пока не перелицензированы, так как для смены лицензии на них требуется получение согласия от сторонних разработчиков.

Использование в коде 'MODULE_LICENSE("GPL")' вместо 'MODULE_LICENSE("GPL v3")' представитель Tuxedo объяснил отсутствием внятного пояснения в документации на ядро, что маркер "GPL" нельзя использовать для лицензии GPLv3. Также он рассказал, что компания намерена передать свои драйверы в основной состав ядра Linux и для этого ведёт работу по их полному переписыванию под лицензией GPLv2 c учётом требований к компонентам ядра.


- Разработчики ядра обсуждают инициативу по добавлению флага X86_BUG_OLD_MICROCODE, сигнализирующего о том, что в системе используется не самая свежая версия микрокода CPU. При выставлении данного флага систему предлагается рассматривать как имеющую потенциальные неисправленные уязвимости. Попытки уравнять состояние системы с необновлённым микрокодом с ситуацией наличия реальных неисправленных уязвимостей в коде привело к критике со стороны одного из сопровождающих проект Linux-libre.

По мнению сопровождающего Linux-libre, ядро не должно ущемлять право пользователей не устанавливать непроверенные проприетарные прошивки и микрокод на своём собственном устройстве. Речь о наличии уязвимостей предлагается вести в привязке к конкретным исправлениям в определённых версиях прошивок, а не называть уязвимыми любые системы, на которых не установлен самый свежий микрокод, без разбора проявляются ли в данной системе уязвимости и содержит ли свежая прошивка исправления уязвимостей.



Источник: https://www.opennet.ru/opennews/art.shtml?num=62251

Доступно ядро Linux-libre 6.12. Решение лицензионных проблем с драйверами Tuxedo

Латиноамериканский Фонд свободного ПО опубликовал полностью свободный вариант ядра Linux 6.12 - Linux-libre 6.12-gnu, очищенный от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. Кроме того, Linux-libre отключает функции ядра по загрузке внешних несвободных компонентов, не входящих в поставку ядра, и удаляет упоминание об использовании...
opennet

Опубликован дистрибутив AlmaLinux 9.5

Доступен выпуск дистрибутива AlmaLinux 9.5, синхронизированный c новым выпуском Red Hat Enterprise Linux 9.5 и содержащий все предложенные в данном выпуске изменения. Установочные образы подготовлены для архитектур x86_64, ARM64, ppc64le и s390x в форме загрузочного (1 ГБ), минимального (2 ГБ) и полного образа (10 ГБ). Позднее будут сформированы Live-сборки с GNOME, KDE, MATE и Xfce, а также образы для плат Raspberry Pi, контейнеров, WSL (Windows Subsystem for Linux) и облачных платформ.

Дистрибутив по возможности бинарно совместим с Red Hat Enterprise Linux и может использоваться в качестве замены RHEL 9.5 и CentOS 9 Stream. Изменения сводятся к ребрендингу, удалению специфичных для RHEL пакетов, таких как redhat-*, insights-client, subscription-manager-migration*, kpatch*, kmod-redhat-*, rhc, spice* и virtio-win. Дополнительно для использования доступен репозиторий Synergy, в котором размещены пакеты, отличающиеся от Red Hat Enterprise Linux. В настоящее время в репозитории Synergy уже опубликованы пакеты c пользовательским окружением Pantheon, развиваемым проектом Elementary OS, и утилитой Warpinator, предназначенной для шифрованного обмена файлами между двумя компьютерами.

Дистрибутив AlmaLinux основан компанией CloudLinux в ответ на преждевременное сворачивание поддержки CentOS 8 компанией Red Hat (выпуск обновлений для CentOS 8 прекращён в конце 2021 года, а не в 2029 году, как предполагали пользователи). Проект курирует отдельная некоммерческая организация AlmaLinux OS Foundation, которая была создана для разработки на нейтральной площадке с участием сообщества и c использованием модели управления, похожей на организацию работы проекта Fedora. Дистрибутив бесплатен для всех категорий пользователей. Все наработки AlmaLinux публикуются под свободными лицензиями.

Кроме AlmaLinux, в качестве альтернатив классическому CentOS также позиционируются Rocky Linux (развивается сообществом под руководством основателя CentOS), Oracle Linux, SUSE Liberty Linux и EuroLinux. Кроме того, компания Red Hat предоставила возможность бесплатного использования RHEL в организациях, развивающих открытое ПО, и в окружениях индивидуальных разработчиков, насчитывающих до 16 виртуальных или физических систем.

Источник: https://www.opennet.ru/opennews/art.shtml?num=62247

Опубликован дистрибутив AlmaLinux 9.5

Доступен выпуск дистрибутива AlmaLinux 9.5, синхронизированный c новым выпуском Red Hat Enterprise Linux 9.5 и содержащий все предложенные в данном выпуске изменения. Установочные образы подготовлены для архитектур x86_64, ARM64, ppc64le и s390x в форме загрузочного (1 ГБ), минимального (2 ГБ) и полного образа (10 ГБ). Позднее будут сформированы
opennet

Выпуск GhostBSD 24.10.1

Опубликован релиз десктоп-ориентированного дистрибутива GhostBSD 24.10.1, построенного на базе FreeBSD 14-STABLE и предлагающего пользовательское окружение MATE. Отдельно сообществом формируются неофициальные сборки с Xfce. По умолчанию в GhostBSD применяется файловая система ZFS. Поддерживается как работа в Live-режиме, так и установка на жесткий диск (используется собственный инсталлятор ginstall, написанный на языке Python). Загрузочные образы сформированы для архитектуры x86_64 (2.6 ГБ).

В новой версии:

- Осуществлена синхронизация с веткой FreeBSD 14-STABLE.
- Браузер Сhromium собран с настройками, позволяющими просматривать защищённый контент через Netflix.
- Файловая система UFS удалена из списка опций для установки (оставлена только ФС ZFS).
- Добавлен пакет utouch-kmod с драйвером для мыши, эмулируемой в VirtualBox, BHyve и других системах виртуализации.
- Для поддержки игровых контроллеров в список загружаемых модулей добавлен драйвер hgame.
- Добавлена возможность пометки пакетов важными для функционирования дистрибутива. Подобная метка выставлена для системных пакетов, чтобы предотвратить их случайное удаление при попытке чистки пакетов, не связанных зависимостями с другими пакетами.
- Добавлена поддержка GPU AMD FirePro, AMD Radeon R5 и R6.

https://honk.any-key.press/d/R8F93scQSnCdw7TZTL.jpg

Источник: https://www.opennet.ru/opennews/art.shtml?num=62245

Выпуск GhostBSD 24.10.1

Опубликован релиз десктоп-ориентированного дистрибутива GhostBSD 24.10.1, построенного на базе FreeBSD 14-STABLE и предлагающего пользовательское окружение MATE. Отдельно сообществом формируются неофициальные сборки с Xfce. По умолчанию в GhostBSD применяется файловая система ZFS. Поддерживается как работа в Live-режиме, так и установка на жесткий диск (используется собственный инсталлятор ginstall, написанный на языке Python). Загрузочные образы
opennet

Выпуск графического тулкита FLTK 1.4.0 с поддержкой Wayland

Спустя 13 лет с момента публикации ветки 1.3 увидел свет релиз легковесного кроссплатформенного графического тулкита FLTK 1.4.0 (Fast Light Toolkit). FLTK написан на языке C++ и распространяется под лицензией лицензии LGPLv2. Ветка FLTK 1.4 отмечена как обратно совместимая с выпусками 1.3.x, т.е. при переходе на FLTK 1.4 не требуется внесение изменений в код, но необходима пересборка из-за изменения ABI. Для визуального построения GUI-интерфейса в рамках проекта развивается оболочка FLUID. Поддерживается работа в Linux (X11 и Wayland), BSD-системах, Windows, macOS и различных UNIX-подобных ОС.

Среди основных нововведений:

- Добавлена поддержка работы в окружениях на базе протокола Wayland в дистрибутивах Linux и во FreeBSD. По умолчанию библиотека собрана с поддержкой как X11, так и Wayland - вначале предпринимается попытка использования Wayland, а если данный протокол недоступен как запасной вариант используется X11.
- Добавлены новые виджеты Fl_Flex и Fl_Grid для создания адаптивных графических интерфейсов, а также виджет Fl_Scheme_Choice c реализацией нового варианта окна выбора элементов. Улучшен интерфейс виджетов Fl_Tabs, Fl_Tile и Fl_Spinner.
- Добавлена поддержка экранов с высокой плотностью пикселей (HighDPI) на платформах Linux, Unix и Windows. Улучшена поддержка HighDPI в macOS.
- Добавлена поддержка новых версий платформы macOS, включая macOS 15.0 "Sequoia".
- Расширены возможности сборки с использованием CMake. Поддержку autotools/configure/make планируют прекратить в ветке FLTK 1.5.0, оставив только возможность сборки в CMake.
- Переписан платформозависимый код, улучшена переносимость на различные системы.

https://honk.any-key.press/d/G7RJ2Qmn2Q7117dfb64TG.png

Источник: https://www.opennet.ru/opennews/art.shtml?num=62244

Выпуск графического тулкита FLTK 1.4.0 с поддержкой Wayland

Спустя 13 лет с момента публикации ветки 1.3 увидел свет релиз легковесного кроссплатформенного графического тулкита FLTK 1.4.0 (Fast Light Toolkit). FLTK написан на языке C++ и распространяется под лицензией лицензии LGPLv2. Ветка FLTK 1.4 отмечена как обратно совместимая с выпусками 1.3.x, т.е. при переходе на FLTK 1.4 не требуется внесение изменений в код, но необходима пересборка из-за изменения ABI. Для визуального построения GUI-интерфейса...
opennet

Релиз ядра Linux 6.12 с поддержкой Realtime-режима

После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 6.12. Среди наиболее заметных изменений: возможность включения Realtime-режима, sched_ext для создания планировщиков CPU через eBPF, вывод QR-кода при аварийных состояниях, механизм Device Memory TCP, механизм резервирования ресурсов SCHED_DEADLINE server, улучшение планировщика задач EEVDF, модуль IPE для задания политик обеспечения целостности.

В новую версию принято 14607 исправлений от 2167 разработчиков, размер патча - 37 МБ (изменения затронули 13087 файлов, добавлено 507913 строк кода, удалено 234083 строк). В прошлом выпуске было 15130 исправлений от 2078 разработчиков, размер патча - 85 МБ (в ядре 6.10 патч был размером 41 МБ). Около 45% всех представленных в 6.12 изменений связаны с драйверами устройств, примерно 12% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 13% связано с сетевым стеком, 6% - с файловыми системами и 3% c внутренними подсистемами ядра.

Основные новшества в ядре 6.12:

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

- Предоставлена возможность сборки ядра с опцией PREEMPT_RT без дополнительных патчей для работы в режиме реального времени. Последней отсутствующей в ядре возможностью, не позволявшей активировать режим PREEMPT_RT, была поддержка неблокирующего атомарного вывода через функцию printk, которая также принята в состав ядра. Поддержка PREEMPT_RT доступна для архитектур x86, x86_64, ARM64 и RISC-V. До сих пор реализация режима PREEMPT_RT поставлялась в форме внешних патчей, на основе которых некоторые дистрибутивы, такие как RHEL, SUSE и Ubuntu, создавали отдельные Realtime-редакции своих продуктов, востребованные в таких областях, как финансовые системы, устройства обработки звука и видео, авиация, медицина, робототехника, телекоммуникационные и промышленные системы, в которых необходимо обеспечить предсказуемое время обработки событий.
- Добавлен механизм "sched_ext" (SCX), позволяющий использовать eBPF для создания планировщиков CPU, охватывающих практически все аспекты планирования выполнения задач и распределения ресурсов CPU. Подобные планировщики могут загружаться динамически и выполняться внутри ядра Linux в виртуальной машине eBPF. Механизм sched_ext упрощает создание специфичных для определённых задач планировщиков, даёт возможность экспериментировать с различными техниками и стратегиями планирования, а также позволяет быстро создавать рабочие прототипы и заменять планировщики на лету в рабочих инфраструктурах. Например, при помощи sched_ext можно создать планировщик, учитывающий специфику определённого приложения и динамически меняющий стратегию планирования его выполнения в зависимости от состояния системы и каких-то дополнительных факторов.
- В состав включена оставшаяся часть патчей, необходимых для работы механизма SCHED_DEADLINE server, решающего проблему с недополучением ресурсов CPU обычными задачами в условиях монополизации CPU высокоприоритетными (realtime) задачами. Для предотвращения монополизации CPU в ядре ранее использовался механизм Realtime throttling, который пытался резервировать 5% для низкоприоритетных задач, оставляя 95% времени realtime-задачам. Данный механизм оставлял желать лучшего так как обычные задачи во многих ситуациях недополучали процессорное время. SCHED_DEADLINE server реализует более эффективный механизм резервирования ресурсов.
- Завершена интеграция планировщика задач EEVDF (Earliest Eligible Virtual Deadline First), который пришёл на смену планировщику CFS (Completely Fair Scheduler), поставлявшемуся начиная с ядра 2.6.23. Новый планировщик при выборе следующего процесса для передачи выполнения учитывает процессы, которые недополучили процессорных ресурсов или получили незаслуженно много процессорного времени. В первом случае форсируется передача управления процессу, а во втором, наоборот, откладывается. Старый планировщик CFS использовал для определения процессов, требующих отдельного внимания, эвристику и тонкие настройки, в то время как новый планировщик отслеживает их более явно и не требует тонкой настройки. Предполагается, что EEVDF позволит снизить задержки при выполнении задач, с которыми у CFS возникали проблемы с планированием.
- В обработчик аварийных ситуаций в ядре - DRM Panic, использующий подсистему DRM (Direct Rendering Manager) для отображения наглядного отчёта в стиле "синего экрана смерти", добавлена возможность показа на экране логотипа и QR-кода с отчётом kmsg при возникновении аварийного состояния. Так как в QR-код умещается только 2953 байт, предусмотрена опция DRM_PANIC_SCREEN_QR_CODE_URL, при которой отчёт kmsg сжимается при помощи zlib и прикрепляется в качестве параметра к URL, что позволяет передать через QR-код V40 около 7500 байтов. При сборке пакетов с ядром дистрибутивы могут задать базовую ссылку для URL, что позволит организовать переход на страницу для отправки сообщения о проблеме. Для выбора формата QR-кода предусмотрена настройка DRM_PANIC_SCREEN_QR_VERSION.
- Добавлена поддержка расширения ARM POE (Permission Overlay Extension), позволяющего задавать права доступа к областям памяти. При помощи данного расширения на системах с процессорами ARM64 может быть реализован механизм Memory Protection Keys, применяемый для ограничения доступа к страницам памяти без изменения таблицы страниц памяти.
- Для архитектур Loongarch, ARM64, PowerPC и s390 перенесена реализация системного вызова getrandom(), оптимизированная при помощи механизма vDSO (virtual dynamic shared object), дающего возможность перенести обработчик системного вызова из ядра в пространство пользователя и избежать переключений контекста. Оптимизация позволяет до 15 раз ускорить получение случайных чисел.
- В подсистему асинхронного ввода/вывода io_uring добавлена возможность использования абсолютных таймаутов, срабатывающих при достижении определённого времени на системных часах (ранее могли выставляться только относительные таймауты, в которых указывалась продолжительность с начала операции).
- Добавлены файлы для генерации биндингов для библиотеки libcpupower при помощи инструментария SWIG, позволяющего формировать биндинги из кода на C/C++ для различных языков программирования. Биндинги позволяют создавать скрипты на Python и других языках, и использовать их для расширения функциональности библиотеки libcpupower, предоставляющей API для управления cpufreq и драйверами из пространства пользователя.
- В утилите cpuidle реализовано отображение значения состояния простоя "residency", применяемого для realtime-систем и учитывающего минимальное время, которое процессор должен находиться в состоянии простоя, чтобы оправдать затраты энергии на переход в это состояние и выход из него.
- Добавлена возможность использования компилятора Clang для сборки стандартной Си-библиотеки nolibc, входящей в состав исходных текстов ядра Linux и предоставляющей обвязку над базовыми системными вызовами. При сборке nolibc в Clang допускается использование оптимизации на этапе связывания (LTO).
- Объявлены устаревшими некоторые интерфейсы cgroup1, такие как аккаунтинг TCP, первая версия мягких ограничений (soft limit) и управление исчерпанием свободной памяти. Поддержка указанных функций пока сохраняется в полном объёме, а предупреждение сделано для изучения числа пользователей, которые продолжают использовать данные возможности.
- Добавлена возможность настройки кольцевого буфера трассировки для сохранения накопленных данных после перезагрузки, что позволит не терять накопленную отладочную информацию в случае аварийного завершения работы ядра. Данные сохраняются в памяти. Включение осуществляется через параметр командной строки ядра trace_instance, например, выставление "trace_instance=boot_map@0x285400000:12M" зарезервирует 12 МБ памяти по адресу 0x285400000 для буфера "boot_map", который будет доступен через файл /sys/kernel/tracing/instances/boot_map.
- Продолжен перенос изменений из ветки Rust-for-Linux, связанных с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра (поддержка Rust не активна по умолчанию, и не приводит ко включению Rust в число обязательных сборочных зависимостей к ядру). Добавлены модули 'list' и 'rbtree' для работы с двунаправленными связными списками и красно-чёрными деревьями поиска (red-black tree). Расширены возможности модулей 'init', 'sync', 'types' и 'error'. Предоставлена возможность использования кода на Rust при сборке ядра с защитой от атак Spectre (опции MITIGATION_{RETHUNK,RETPOLINE,SLS}), использования отладочной системы KASAN, механизмов защиты kCFI (kernel Control Flow Integrity) и Shadow Call, а также при использовании дополнительных плагинов GCC. Добавлен драйвер для Ethernet-контроллера Applied Micro QT2025 PHY, написанный на Rust. Подготовлен отдельный сайт с документацией - rust.docs.kernel.org.
- В состав исходных текстов ядра добавлена утилита xdrgen для преобразования XDR-спецификаций (eXternal Data Representation) в функции кодирования и декодирования XDR, написанные с использованием Си-стиля, принятого в ядре Linux.
- В ядро принято изменение с реализацией механизма маскирования указателей для снижения числа медленных вызовов barrier_nospec() в 64-битной функции copy_from_user(), применяемой для копирования данных в ядро из пространства пользователя. Применение маскирования ускоряет на 2.6% прохождение теста "per_thread_ops", оценивающего число операций, которые могут быть выполнены в одном потоке.


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

- В подсистему VFS добавлена возможность работы c устройствами хранения, размер блоков в которых больше, чем размер страницы памяти в системе. В файловых системах данная возможность пока поддерживается только в XFS.
- В подсистему FUSE, позволяющую создавать реализации файловых систем, работающие в пространстве пользователя, добавлена поддержка маппинга идентификаторов пользователей примонтированных файловых систем, применяемого для сопоставления файлов определённого пользователя на примонтированном чужом разделе с другим пользователем в текущей системе.
- Реализована новая fcntl-операция F_CREATED_QUERY, дающая приложению возможность определить был ли создан файл, открытый с использованием флага O_CREAT, или он уже существовал до этого.
- В системный вызов name_to_handle_at() добавлена возможность использования уникальных 64-разрядных идентификаторов точек монтирования для исключения состояния гонки при разборе /proc/mountinfo.
- Размер структуры "file" в ядре сокращён с 232 до 184 байт, что позволяет сократить потребление памяти на системах, активно работающих с файлами.
- Запрещено монтирование файловых систем к точкам монтирования внутри иерархии /proc, например, в /proc/PID/fd, что создавало потенциальные проблемы с безопасностью.
- В псевдо-ФС NSFS (NameSpace FS), используемой для работы с пространствами имён, реализовано предоставление дополнительной информации о пространствах имён точек монтирования.
- В файловой системе EROFS (Extendable Read-Only File System), предназначенной для использования на разделах, доступных в режиме только для чтения, появилась поддержка монтирования файловых систем напрямую из дисковых образов, сохранённых в виде файлов.
- В XFS добавлены новые ioctl-команды XFS_IOC_START_COMMIT и XFS_IOC_COMMIT_RANGE для обмена содержимым между двумя файлами.
- В NFS добавлена поддержка протокола "LOCALIO", позволяющему определить находятся ли клиент и сервер NFS на одном и том же хосте, для задействования соответствующих оптимизаций.
- В файловой системе Btrfs предложены оптимизации производительности, проведён рефакторинг кода, сокращена область блокировки экстентов при операциях чтения, продолжена работа по переводу на использование фолиантов страниц памяти (page folios), реализовано автоматическое освобождение памяти для структуры btrfs_path.
- В файловой системе Ext4 устранены ошибки, связанные с выделением блоков, управлением экстентами, механизмом "fast commit" и журналированием.


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

- Добавлен LSM-модуль IPE (Integrity Policy Enforcement), разработанный компанией Microsoft для расширения существующей системы мандатного управления доступом. Модуль позволяет определить общую политику обеспечения целостности для всей системы, указывающую какие операции допустимы и каким способом следует верифицировать подлинность компонентов. Например, при помощи IPE можно указать какие исполняемые файлы разрешено запускать с учётом проверки их соответствия эталонной версии при помощи криптографических хэшей, предоставляемых системой dm-verity.
- На этапе компиляции ядра предоставлена возможность раздельного включения доступных методов защиты от разных уязвимостей класса Spectre в CPU. В Kconfig предложены новые параметры: MITIGATE_MDS (защита от уязвимости Microarchitectural Data Sampling), MITIGATE_TAA (защита от уязвимости TSX Asynchronous Abort), MITIGATE_MMIO_STALE_DATA (защита от уязвимости MMIO Stale Data), MITIGATE_L1TF (защита от уязвимости L1 Terminal Fault), MITIGATE_RETBLEED (защита от уязвимости Retbleed), MITIGATE_SPECTRE_V1, MITIGATE_SPECTRE_V2 (защита от уязвимостей Spectre), MITIGATE_SRBDS (защита от уязвимости Special Register Buffer Data Sampling), MITIGATE_SSB (защита от уязвимости Speculative Store Bypass).
- Добавлен параметр командной строки proc_mem.force_override и набор сборочных настроек в Kconfig (PROC_MEM_FORCE_ALWAYS, PROC_MEM_FORCE_PTRACE и PROC_MEM_FORCE_NEVER), позволяющих запретить изменение памяти через /proc/pid/mem.
- Подсистема LSM (Linux security module) переведена на использование статических вызовов, что позволило усилить безопасности и повысить производительность.
- Обеспечена возможность использования штатных ядер для архитектуры ARM64 в гостевых окружениях, выполняемых на Android-системах с модифицированным гипервизором KVM (protected KVM).
- В LSM-модуле Landlock, позволяющем ограничить взаимодействие группы процессов с внешним окружением, реализована концепция "IPC scoping" для выборочного ограничения взаимодействия с sandbox-окружениями, используя Unix-сокеты и сигналы. Например, можно запретить установку соединений с использованием Unix-сокетов из sandbox-окружения к процессам, в которых не применяется изоляция, но разрешить соединения с процессами в той же scope-области.


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

- Добавлен механизм Device Memory TCP, позволяющий использовать сетевые сокеты для прямой отправки содержимого памяти периферийного устройств по сети (режим zero-copy) и прямого размещения содержимого сетевых пакетов в области памяти устройства на стороне получателя. Передаваемые в пакетах данные передаются от сетевой карты в память периферийного устройства или из памяти устройства в сетевую карту напрямую, минуя CPU, а заголовки пакетов попадают в обычные буферы ядра.
- Расширены возможности многих Ethernet и беспроводных драйверов. Например, в драйвере Intel iwlwifi добавлена поддержка выноса операций RLC/SMPS на сторону прошивки, в драйвере RealTek rtw89 повышена производительность и добавлена поддержка чипов RTL8852BT/8852BE-VT (WiFi 6), в Ethernet-драйвере microchip добавлена поддержка спецификаций IEEE 802.3bw (100BASE-T1) и IEEE 802.3bp, улучшены реализации виртуальных Ethernet Microsoft vNIC и IBM veth. Добавлены новые драйверы для Ethernet-чипов Realtek RTL9054, RTL9068, RTL9072, RTL9075, RTL9068, RTL9071 и Microchip LAN8650/1 10BASE-T1S MAC-PHY.
- В MPTCP (MultiPath TCP), расширении протокола TCP для организации доставки TCP-пакетов одновременно по нескольким маршрутам через разные сетевые интерфейсы, размер используемых при маршрутизации весовых коэффициентов увеличен с 8 до 16 бит. Реализовано определение теряющегося (blackhole) трафика и приостановки на некоторое время попыток установки соединений с системами, приводящими к потере трафика.
- Для IPv6 реализована поддержка флага "p" в PIO (Prefix Information Option), применяемого в анонсах RA (IPv6 Router Advertisements) для выбора модели развёртывания клиентов через DHCPv6-PD (DHCPv6 Prefix Delegation, RFC9663) вместо присвоения отдельных адресов на базе префиксов, используя SLAAC (Stateless Address Autoconfiguration). В IPv6 IOAM6 добавлена поддержка нового режима инкапсуляции tunsrc, позволяющего добиться более высокой производительности.
- Повышена производительность обработки управляющих пакетов IPsec.
- Повышена производительность сброса (flush) больших наборов правил nftables. В nfnetlink_queue улучшена поддержка протокола SCTP.
- В API ethtool добавлена поддержка привязки нескольких сетевых карт к одному сетевому интерфейсу.


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

- В драйвере AMDGPU продолжена работа по реализации поддержки GPU AMD RDNA4 ("GFX12"). Добавлена возможность сброса отдельных очередей задач без сброса состояния всего GPU.
- Продолжена работа над drm-драйвером (Direct Rendering Manager) Xe для GPU на базе архитектуры Intel Xe, которая используется в видеокартах Intel семейства Arc и интегрированной графике, начиная с процессоров Tiger Lake. В новой версии включена поддержка GPU на базе микроархитектур Battlemage и Lunar Lake. Представлена поддержка CCS-модификаторов (Color Control Surface) Xe2 для управления параметрами встроенных и дискретных GPU.
- В драйвере i915 реализована возможность вывода через интерфейс HWMON или sysfs (атрибут "fan1_input") информации о скорости вращения кулера. Объявлен устаревшим параметр "i915.modeset", вместо "i915.modeset=0" следует использовать параметр "i915.nomodeset".
- В DRM-драйвер msm (GPU Qualcomm Adreno) добавлена поддержка GPU A615, A306 и A621.
- В драйвере Nouveau проведена переработка и чистка внутренних структур.
- В драйвер intel_pstate, управляющий параметрами энергопотребления (P-state) на системах с процессорами Intel, добавлена поддержка гибридных систем с асимметричными (отличающимися по характеристикам) CPU, а также поддержка управления питанием процессоров на базе микроархитектур Granite Rapids и Sierra Forest. В драйвер intel_idle добавлена поддержка CPU Xeon Granite Rapids. В драйвере intel_rapl обеспечено распознание процессов AMD семейства 1Ah и процессоров Intel ArrowLake-U.
- Продолжено включение изменений для поддержки ARM SoC Snapdragon X Elite, в котором используется собственный 12-ядерный CPU Qualcomm Oryon и GPU Qualcomm Adreno. Чип нацелен на использование в ноутбуках и ПК, и опережает во многих тестах производительности чипы Apple M3 и Intel Core Ultra 155H.
- Добавлена поддержка ARM-плат, SoC и устройств: Broadcom bcm2712 (Raspberry Pi 5), Renesas R9A09G057 (RZ/V2H), Qualcomm Snapdragon 414 (MSM8929), Lenovo ThinkPad T14s Gen 6, Lenovo A6000/A6010, Surface Laptop 7, Anbernic RG35XXSP, Firefly Core-PX30-JD4, Lunzn Fastrhino R68S, Aspeed Riser, AGX Orin, Rockchip Qnap-TS433, Huashan Pi, Meta Catalina, BeagleY-AI, NanoPi R2S Plus, ExynosAuto v920, SOPHGO SG2002, Qualcomm IPQ5332, LG G4 (h815), Cool Pi CM5 GenBook, Anbernic RG35XXSP, GameForce Ace, IBM P11, Kontron i.MX93 OSM-S, NanoPC-T6
- Добавлена поддержка экранных панелей Anbernic RG28XX, On Tat Industrial Company KD50G21-40NT-A1, Innolux G070ACE-LH3, Melfas lmfbx101117480, Densitron DMT028VGHMCMI-1D, Microchip AC40T08A, AOU B116XTN02.3, AUO B116XAN06.1, AOU B116XAT04.1, BOE TV101WUM-LL2, BOE NV140WUM-N41, BOE NV133WUM-N63, BOE NV116WHM-A4D, BOE NE140WUM-N6G, CMN N116BCA-EA2, CMN N116BCP-EA2, CSW MNB601LS1-4, Starry er88577.
- В звуковой подсистеме добавлена поддержка чипов и кодеков RME Digiface USB, AMD ACP 7.1, Mediatek MT6367, MT8365, Realtek RTL1320, C-Media CM9825. Объявлены устаревшими старые звуковые драйверы для ASoC Intel, вместо которых рекомендовано использовать драйверы AVS. Внесено много улучшений в драйвер SoundWire.



Источник: https://www.opennet.ru/opennews/art.shtml?num=62243

Релиз ядра Linux 6.12 с поддержкой Realtime-режима

После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 6.12. Среди наиболее заметных изменений: возможность включения Realtime-режима, sched_ext для создания планировщиков CPU через eBPF, вывод QR-кода при аварийных состояниях, механизм Device Memory TCP, механизм резервирования ресурсов SCHED_DEADLINE server, улучшение планировщика задач EEVDF, модуль IPE для задания политик обеспечения целостности.
opennet

Выпуск инсталлятора Archinstall 3.0.0, применяемого в дистрибутиве Arch Linux

Опубликован выпуск инсталлятора Archinstall 3.0, который с апреля 2021 года в качестве опции входит в состав установочных iso-образов Arch Linux. Archinstall работает в консольном режиме и может использоваться вместо предлагаемого по умолчанию ручного режима установки дистрибутива. Код Archinstall написан на языке Python и распространяется под лицензией GPLv3.

Archinstall предоставляет диалоговый (guided) и автоматизированный режимы работы. В автоматизированном режиме имеется возможность использования скриптов для развёртывания типовых конфигураций. Инсталлятор также поддерживает профили установки, например, профиль "desktop" для выбора рабочего стола (KDE, GNOME, Awesome) и установки необходимых для его работы пакетов, или профили "webserver" и "database" для выбора и установки начинки web-серверов и СУБД. Четыре года назад была предпринята попытка создания варианта Archinstall с графическим интерфейсом установки, но она не получила развития.

В новой версии Archinstall полностью переделан консольный интерфейс пользователя, который переведён на использование библиотеки Curses. Использование Curses дало возможность улучшить внешний вид, повысить удобство работы и реализовать более сложную компоновку элементов интерфейса, в котором теперь имеется отдельная область экрана с постоянно видимым меню. Кроме того, проведена работа по повышению качества кода и расширению охвата при тестировании.

https://honk.any-key.press/d/G7Q86WXrSN8L3562SZ2MD.png

Источник: https://www.opennet.ru/opennews/art.shtml?num=62242

Выпуск инсталлятора Archinstall 3.0.0, применяемого в дистрибутиве Arch Linux

Опубликован выпуск инсталлятора Archinstall 3.0, который с апреля 2021 года в качестве опции входит в состав установочных iso-образов Arch Linux. Archinstall работает в консольном режиме и может использоваться вместо предлагаемого по умолчанию ручного режима установки дистрибутива. Код Archinstall написан на языке Python и
Наверх