Домой Софт macOS и Linux ToaruOS 2.3 и 2.3.1: обзор обновлений

ToaruOS 2.3 и 2.3.1: обзор обновлений

Разбираем главные нововведения в Unix-подобной системе: от поддержки QEMU на Aarch64 до обновленного редактора Bim и развития языка Kuroko.

Рабочий стол ToaruOS
Графический интерфейс системы Источник: linux.org.ru

В конце апреля и начале мая 2024 года состоялись релизы обновлений 2.3 и 2.3.1 для Unix-подобной операционной системы ToaruOS. Это полностью самостоятельный проект, написанный «с нуля», который включает в себя собственное ядро, загрузчик, стандартную библиотеку языка Си, пакетный менеджер, компоненты пользовательского окружения и уникальный графический стек с композитным оконным менеджером.

Изначально ToaruOS создавалась в Иллинойсском университете как научно-исследовательский проект по изучению композитных графических интерфейсов, но со временем превратилась в полноценную ОС. Весь исходный код распространяется под свободной лицензией BSD. Для желающих ознакомиться с системой подготовлен компактный Live-образ (версии 2.3.1) объемом всего 7,4 МБ, который можно запустить в эмуляторах QEMU, VMware или VirtualBox.

Архитектура и возможности системы

В основе ToaruOS лежит гибридное модульное ядро, которое сочетает в себе монолитное ядро и динамически загружаемые драйверы. Система поддерживает работу с широким спектром оборудования: дисками (PATA/ATAPI), файловыми системами Ext2 и ISO9660, клавиатурами, мышью, сетевыми адаптерами (включая Intel PRO/1000 и Realtek RTL8139) и звуковыми картами AC’97. Также реализована поддержка специфических дополнений для гостевых систем VirtualBox.

Ядро ОС обладает типичными для современных Unix-систем возможностями: многопоточностью, виртуальной файловой системой, псевдо-ФС /proc, поддержкой Unix-потоков, IPC, разделяемой памятью и многозадачностью. Загрузчик корректно работает как с классическим BIOS, так и с современным UEFI.

Графическая подсистема включает композитный оконный менеджер и набор инструментов для поддержки форматов изображений (PNG, JPEG) и TrueType-шрифтов. Для системы портировано множество прикладного ПО, включая GCC, Vim, Cairo, SDL, MuPDF, а также эмуляторы старых консолей и игры вроде Quake и Doom.

Язык программирования Kuroko

Особого внимания заслуживает собственный динамический язык Kuroko, созданный как компактная альтернатива Python. Он ориентирован на написание пользовательских утилит и приложений. Kuroko обладает лаконичным синтаксисом, сборщиком мусора и поддерживает многопоточность без глобальной блокировки интерпретатора. Язык можно скомпилировать в небольшую библиотеку (~500 КБ), что позволяет легко встраивать его в сторонние проекты не только в рамках ToaruOS, но и в Windows, Linux, macOS или даже в браузере через WebAssembly.

Что нового в версиях 2.3 и 2.3.1

Разработчики внесли значительные изменения в функциональность системы:

  • Терминал: добавлена поддержка вкладок (переключение через Alt+цифра), эмуляция жирного шрифта, а также меню для управления состоянием терминала и отправки сигналов фоновым процессам.
  • Системный интерфейс: реализован просмотрщик руководств (man) и добавлено управление мозаичной компоновкой окон в контекстное меню.
  • Ядро: внедрена поддержка новых системных вызовов (например, pread/pwrite, pipe2, getrusage), реализована рандомизация адреса загрузки ядра, а ABI переведен на использование инструкций syscall/sysret.
  • Оптимизация: улучшена работа виртуальной консоли (TTY) и добавлена поддержка QEMU для архитектуры Aarch64.
  • Сетевой стек: теперь возможна одновременная работа с несколькими ICMP-сокетами.
  • Стандартная библиотека: расширена функциями для работы с каталогами и строками (getline, scandir, fchown и др.).
  • Утилиты: добавлены новые инструменты (rmdir, uniq, realpath, nohup и др.), а системные утилиты мониторинга (ps, top, killall) теперь используют унифицированную библиотеку libtoaru_procfs.
  • ПО: текстовый редактор Bim 3.2 получил улучшенную подсветку синтаксиса и систему автодополнения, а сам язык Kuroko обновлен до версии 1.5rc2.
Источник: https://www.linux.org.ru