Вышла Unix-подобная операционная платформа ToaruOS 2.3

3 мин
Вышла Unix-подобная операционная платформа ToaruOS 2.3

Представлено обновление Unix‑подобной операционной системы ToaruOS 2.3. Решение создано с нуля и поставляется со своим ядром, загрузчиком, стандартной С‑библиотекой, пакетным менеджером, компонентами пространства пользователя и графическим интерфейсом с композитным оконным менеджером.

Изначально ToaruOS развивали в Иллинойсском университете в рамках исследовательской работы в области создания новых композитных графических интерфейсов, но затем решение трансформировали в отдельную операционную систему.

Исходный код проекта написан на языке C и опубликован на GitHub под лицензией BSD. Для загрузки доступен live‑образ, размером 7.4 МБ, который можно протестировать в QEMU, VMware или VirtualBox.

В основе ToaruOS лежит ядро, использующее гибридную модульную архитектуру, сочетающую монолитную основу и средства для использования загружаемых модулей, в виде которых оформлено большинство имеющихся драйверов устройств, таких как драйверы диска (PATA и ATAPI), ФС EXT2 и ISO9660, framebuffer, клавиатуры, мыши, сетевых карт (AMD PCnet FAST, Realtek RTL8139 и Intel PRO/1000), звуковых чипов (Intel AC'97), а также дополнений VirtualBox для гостевых систем. Движок поддерживает Unix‑потоки, TTY, виртуальную ФС, псевдо‑ФС /proc, многопоточность, IPC, ramdisk, ptrace, разделяемую память, многозадачность и другие типовые возможности.

Система ToaruOS снабжена композитным оконным менеджером, поддерживает динамически связываемые исполняемые файлы в формате ELF, многозадачность, графический стек, может выполнять Python 3 и GCC. В качестве файловой системы применяется ext2. Загрузчик поддерживает BIOS и EFI. Веб стек позволяет использовать программный оболочку сокетов в стиле BSD‑систем и поддерживает сетевые интерфейсы, в том числе loopback.

Из собственных приложений в ToaruOS выделяется похожий на Vi редактор кода Bim, который используется последние несколько лет для разработки специфичных для ToaruOS приложений, таких как файловый менеджер, эмулятор терминала, графическая панель с поддержкой виджетов, пакетный менеджер, а также библиотеки для поддержки изображений (PNG, JPEG) и TrueType‑шрифтов. Для ToaruOS выполнено портирование таких программ, как Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator, Bochs и тому подобное

Проектом ToaruOS также развивается собственный динамический язык программирования Kuroko, рассчитанный на замену Python при разработке утилит и пользовательских приложений для системы. Этот язык по синтаксису напоминает Python (позиционируется как сокращённый диалект Python с явным определением переменных) и отличается очень компактной реализацией. Поддерживается компиляция и интерпретация байткода. Интерпретатор байткода предоставляет сборщик мусора, поддерживает многопоточность без применения глобальной блокировки. Компилятор и интерпретатор могут быть собраны в форме небольшой разделяемой библиотеки (~500КБ), интегрируемой с другими программами и расширяемой через C api. Кроме ToaruOS язык может использоваться в Linux, macOS, Windows и запускаться в браузерах с поддержкой WebAssembly.

По информации OpenNET, в новом выпуске ToaruOS 2.3:

  • в эмулятор терминала добавлена сопровождение вкладок, переключаться между которыми можно последовательностью Alt‑цифра. Реализована эмуляция жирного начертания шрифтов через двойное наложение глифов. Добавлены подменю «Terminal state» для включения показа состояния различных режимов и «Send signal» для отправки сигналов фоновым процессам;

  • внедрён просмотрщик системных руководств, поддерживающий man-страницы в формате roff;

  • в контекстное меню добавлено подменю для управления мозаичной компоновкой окон;

  • в ядре реализованы новые системные вызовы, среди которых pread/pwrite, sigsuspend, sigqueue, lchown, pipe2, dup3, getrusage и fcntl. Добавлена поддержка флагов FD_CLOEXEC и FD_CLOFORK. Реализована поддержка рандомизации адреса загрузки ядра. ABI системных вызовов переведено на использование инструкций syscall/sysret;

  • значительно расширены возможности виртуальной консоли (TTY), обеспечена эмуляция текстового режима VGA на базе фреймбуфера;

  • в версии для архитектуры Aarch64 реализована возможность запуска в виртуальных машинах на базе QEMU;

  • в сетевой стек добавлена поддержка одновременной работы с несколькими сокетами ICMP;

  • в стандартную библиотеку libc добавлены функции getdelim, getline, scandir, telldir, rewinddir, seekdir, ftruncate, fchmod, fchown, popen, pclose, sig2str, str2sig;

  • добавлены новые стандартные утилиты rmdir, uniq, cmp, zcat, realpath, id, nohup, cksum. Добавлены новые опции в ls, grep и fgrep. Переписаны утилиты ps, top, pstree, killall и pidof, которые переведены на новую библиотеку libtoaru_procfs, унифицирующую работу с псевдо‑ФС /proc. Расширен командный интерпретатор esh;

  • добавлена утилита check‑image для проверки возможности загрузки изображения графической библиотекой и вывода размера изображения;

  • язык программирования Kuroko обновлён до версии 1.5rc2;

  • до версии 3.2 обновлён текстовый редактор Bim, созданный с оглядкой на Vim. В новой версии улучшена подсветка синтаксиса, расширена сопровождение скриптов на языке Kuroko и добавлена новая платформа автодополнения ввода.

Читают сейчас

Вышел альфа-релиз Paint.NET 5.2 с экспериментальной поддержкой Wine/Linux

1 час назад

Вышел альфа-релиз Paint.NET 5.2 с экспериментальной поддержкой Wine/Linux

1 сентября 2026 года состоялся выпуск альфа-версии графического редактора с открытым исходным кодом Paint.NET 5.2 для Windows 10/11 (64-бита) и с экспериментальной поддержкой Wine/Linux (Wine 11.14, U

1 час назад

Операционная платформа «Альт Образование» бесплатна для школ — акция от «Базальт СПО»

Операционная платформа «Альт Образование» бесплатна для школ — акция от «Базальт СПО» Организация «Базальт СПО» запускает специальное предложение для школ: операционная система «Альт Образование» 11 п

Google добавила агентный аналитика видео в Gemini 3.7 Flash, 3.6 Flash и 3.5 Flash-Lite

1 час назад

Google добавила агентный аналитика видео в Gemini 3.7 Flash, 3.6 Flash и 3.5 Flash-Lite

Google запустила агентный анализ видео для Gemini 3.7 Flash, 3.6 Flash и 3.5 Flash-Lite. Теперь модель анализирует видео не как последовательность кадров с фиксированной частотой, а сама решает, какие

Апдейт платформы «Октопус» от ГК «Юзтех»: историческая анализ и расширенная сопровождение инфраструктур

3 часа назад

Апдейт платформы «Октопус» от ГК «Юзтех»: историческая анализ и расширенная сопровождение инфраструктур

В новых версиях «Октопус» мы сфокусировались на трёх направлениях: расширении возможностей управления ИТ-инфраструктурой, повышении производительности и развитии интеграций. Система получила новые сце

Frank Media рассказал о сложностях, с которыми столкнулись пользователи при попытке воспользоваться цифровым рублём

3 часа назад

Frank Media рассказал о сложностях, с которыми столкнулись пользователи при попытке воспользоваться цифровым рублём

С 1 сентября должно было начаться массовое добавление цифрового рубля — третьей формы денег, которую Банк России обсуждает уже около шести лет. Тем не менее, судя по первым дням запуска, доступ к ново