Сегодня, 28 декабря, отмечает день рождения Линус Торвальдс, финский программист, который изменил мир технологий. В 1991 году он создал ядро Linux, ставшее основой для одной из самых популярных операционных систем в мире. Что начиналось как учебный проект, превратилось в глобальное движение с миллионами пользователей и разработчиков.
Линус Торвальдс принял в ядро Linux изменение, удаляющее реализацию файловой системы ReiserFS. Эта ФС в прошлом году была объявлена устаревшей и была намечена к удалению в 2025 году.
Патчсет Linux-RT для построения систем реального времени окончательно включен в кодовую базу ядра вместе с принятием последних изменений в функции printk().
Добавлена возможность динамически загружать сторонние планировщики CPU как программы BPF.
Добавлена возможность выводить информацию kmsg при возникновении kernel panic в виде QR-кода.
Кольцевой буфер теперь позволяет сохранять записи при перезагрузке.
Теперь ядро может работать с устройствами, размер блока которых превосходит размер страницы памяти.
Система безопасности Tomoyo может быть скомпилирована в виде загружаемого модуля ядра.
Вышел очередной релиз ядра Linux 6.11 с рядом значимых изменений, важнейшие среди которых:
Добавлена поддержка операций атомарной записи на блочном уровне, при которых на накопитель записывается либо весь указанный набор блоков, либо ни один из блоков. Это может предотвратить ситуации, когда после сбоя оборудования или по иной причине записывается лишь часть блоков, а в другой части остаётся старая информация. Включение атомарного режима записи осуществляется системным вызовом pwritev() в который добавлен флаг RWF_ATOMIC.
Снятие запрета на запись в исполняемые файлы, связанные с работающими процессами. Ранее при попытке записи в исполняемый файл запущенного процесса ядро выводило ошибку.
Добавлена возможность разработки драйверов блочных устройств на языке Rust. В качестве примера в ядро добавлен драйвер rnull, представляющий собой аналог драйвера null_blk, написанный на языке Rust. Также продолжен перенос изменений из ветки Rust-for-Linux, связанных с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра (поддержка Rust не активна по умолчанию, и не приводит ко включению Rust в число обязательных сборочных зависимостей к ядру).
С более полным списком изменений можно ознакомиться на Опеннете.
2 июня Эрик Биггерс (инженер из Google) представил новые реализации AES-XTS для гораздо более высокой производительности процессоров Intel/AMD с помощью новых наборов кода AES-NI + AVX, VAES + AVX2, VAES + AVX10/256 и VAES + AVX10/512.
После трех лет переговоров Линус Торвальдс принял файловую систему bcachefs в состав Linux 6.7.
Разработка велась Кентом Оверстритом в течении последних десяти лет. Функционально bcachefs похожа на ZFS и btrfs, однако автор утверждает, что дизайн файловой системы позволяет достигнуть более высокого уровня производительности. Например, в отличии от btrfs, снапшоты не используют технологию COW, что позволяет избавиться от накладных расходов на копирование во время записи в уже выделенные экстенты.
В институте системного программирования Российской академии наук (ИСП РАН) создали консорциум, который будет исследовать безопасность ядра Linux и развивать его российскую ветку. Новая структура будет работать на базе созданного ранее Технологического центра исследования безопасности ядра Linux.
В выпуске Fedora 38 предложено реализовать первую стадию перехода на модернизированный процесс загрузки, ранее предложенный Леннартом Поттерингом для организации полноценной верифицированной загрузки, охватывающей все этапы от прошивки до пространства пользователя, а не только ядра и загрузчика. Предложение пока не рассмотрено комитетом FESCo (Fedora Engineering Steering Committee), отвечающим за техническую часть разработки дистрибутива Fedora.
Линус Торвальдс после двух месяцев разработки выпустил стабильную версию ядра Linux версии 6.1.
В новой мажорной версии ядра с кодовым названием «Hurr durr I’ma ninja sloth» представлена экспериментальная (но пока очень базовая и неприменимая в реальных случаях использования) поддержка языка программирования Rust для разработки модулей и драйверов.
Линус Торвальдс после двух месяцев разработки выпустил стабильную версию ядра Linux версии 6.0.
В новой мажорной версии ядра — заметное увеличение производительности процессоров Intel Ice Lake, AMD Threadripper и EPYC благодаря изменениям планировщика, а также настройкам энергопотребления ядра. Добавлена поддержка процессоров Intel Sapphire Rapids (Xeon 4-го поколения) и Raptor Lake (Core 13 поколения).
AMD добавила в ядерный графический драйвер поддержку RDNA 3 GPU (RX 7000), выпустила новый аудиодрайвер для платформы Raphael (Ryzen 7000) и улучшила поддержку звука на системах Jadeite. Также была исправлена проблема с клавиатурой на ноутбуках с процессорами Ryzen 6000.
Архитектуры OpenRISC и LoongArch обзавелись поддержкой шины PCI, RISC-V расширяет возможности управления кэша с помощью новых расширений, в т.ч. «Zicbom».
Появилась начальная поддержка процессора Qualcomm Snapdragon 8cx Gen3 (который используется, например, Lenovo ThinkPad X13s).
Системы, используемые Linux-энтузиастами (такие как TUXEDO и Clevo) ранее имели проблемы с сенсорными панелями и клавиатурой после выхода из спящего режима.
Добавлена поддержка планшета для рисования XP-PEN Deco L, различных датчиков на материнских платах AMD, включая Sensor Fusion Hub в новых ноутбуках на процессорах Ryzen и шины Thunderbolt на Intel Raptor Lake.
Исправлено небольшое падение производительности на системах с процессорами AMD Zen, добавленное 20 лет назад как обход аппаратных проблем в некоторых чипсетах.
В драйвер drm/v3d (отвечающий за Broadcom V3D Graphics Driver) добавлена поддержка Raspberry Pi 4.
Создатель ядра Linux и координатор его разработки Линус Торвальдс объявил на Kernel Maintainers Summit, что в Linux 6.1 будет доступно программирование модулей на Rust — «если не произойдёт ничего незапланированного».
Причиной включения Rust в ядро Торвальдс назвал более высокую безопасность языка (за счёт снижения числа ошибок работы с памятью) и его привлекательность для молодых разработчиков:
Rust - это одна из тех вещей, которые, как я думаю, привлекут новые лица… мы стареем и седеем…
Также опубликована начальная реализация драйвера rust-e1000 для Ethernet-адаптеров Intel. А компания Western Digital разрабатывает на Rust драйвер для NVMe-накопителей. Хотя драйвер ещё не оптимизирован, он не отстаёт в производительности от имеющегося ядерного драйвера на языке Си.
Ровно 31 год назад 25 августа 1991 года тогда мало кому известный студент Хельсинкского университета Линус Торвальдс (Linus Benedict Torvalds) написал в конференцию comp.os.minix сообщение о создании рабочего прототипа новой операционной системы, которую он назвал Linux. В эту «предрелизную» версию были портированы bash 1.08 и gcc 1.40.