Опубліковано випуск Unix-подібної операційної системи ToaruOS 2.0, написаної з нуля і поставляється зі своїм ядром, завантажувачем, стандартною Сі-бібліотекою, пакетним менеджером, компонентами простору користувача та графічним інтерфейсом з композитним віконним менеджером. Код проекту написаний мовою Сі та поширюється під ліцензією BSD. Для завантаження підготовлений live-образ розміром 14.4 МБ, який можна протестувати в QEMU, VMware або VirtualBox.

Проект стартував у 2010 році в університеті Іллінойсу і спочатку розвивався як дослідницька робота в галузі створення нових композитних графічних інтерфейсів. З 2012 року розробка трансформувалася в операційну систему ToaruOS, що розвивається зацікавленою у розробці спільнотою. У поточному вигляді система забезпечена композитним віконним менеджером, підтримує динамічно зв'язуються файли у форматі ELF, багатозадачність, графічний стек, може виконувати Python 3 і GCC.
В основі ToaruOS лежить ядро, що використовує гібридну модульну архітектуру, що поєднує монолітну основу та засоби для використання завантажуваних модулів, у вигляді яких оформлено більшість наявних драйверів пристроїв, таких як драйвери диска (PATA та ATAPI), ФС EXT2 та ISO9660, framebuffer, клаві , мережевих карток (AMD PCnet FAST, Realtek RTL8139 та Intel PRO/1000), звукових чіпів (Intel AC'97), а також доповнень VirtualBox для гостьових систем. Ядро підтримує Unix-потоки, TTY, віртуальну ФС, псевдо-ФС /proc, багатопоточність, IPC, ramdisk, ptrace, пам'ять, що розділяється, багатозадачність та інші типові можливості.
Як файлова система застосовується ext2. Завантажувач підтримує BIOS та EFI. Мережевий стек дозволяє використовувати API сокетів у стилі BSD-систем та підтримує мережеві інтерфейси, включаючи loopback. Для ToaruOS виконано портування таких програм як Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator, Bochs і т.п. З власних додатків виділяється схожий Vi редактор коду Bim, який використовується останні кілька років для розробки специфічних для ToaruOS додатків, таких як файловий менеджер, емулятор термінала, графічна панель з підтримкою віджетів, пакетний менеджер, а також бібліотеки для підтримки зображень (PNG, JPEG) і TrueType-шрифтів.
Проектом також розвивається власна динамічна мова програмування Kuroko, розрахована на заміну Python при розробці утиліт та користувацьких додатків для системи. Мова синтаксису нагадує Python (позиціонується як скорочений діалект Python з явним визначенням змінних) і відрізняється дуже компактною реалізацією. Підтримується компіляція та інтерпретація байткоду. Інтерпретатор байткоду надає збирач сміття, підтримує багатопоточність без застосування глобального блокування. Компілятор і інтерпретатор можуть бути зібрані у формі невеликої бібліотеки, що розділяється (~500КБ), інтегрованої з іншими програмами і розширюється через C API. Крім ToaruOS мова може використовуватися в Linux, macOS, Windows і запускатись у браузерах з підтримкою WebAssembly.
У новому випуску ToaruOS:
- У ядрі Misaka додана функціональність, що дозволила реалізувати користувацькі утиліти top, strace, dbg, ping та cpuwidget.
- Розширено можливості графічної бібліотеки, у тому числі додано афінні перетворення.
- Поліпшено роботу віконного фреймворку.
- Доданий текстовий розтеризатор із підтримкою формату TrueType.
- Додано бібліотеку для форматування тексту з розміткою.
- Покращено завантажувач BIOS, в якому розширено підтримку апаратних конфігурацій. Переписано завантажувач EFI. Обидва завантажувачі додають підтримку редагування командою рядка ядра.
- Модернізовано оформлення панелі. Віджети додають підтримку завантажуваних бібліотек, динамічну розкладку елементів і нові спливаючі вікна.
- Переписано переглядач, до якого додано нові панелі.
- Додано нову реалізацію калькулятора.
- До стандартної бібліотеки додано підтримку часових поясів.
- Доданий драйвер для чіпсету Ensoniq ES1371, що емулюється в VMware.
- У наступному значному випуску 2.1 очікується підтримка AHCI, xHCI, USB HID. У гілці 2.2 планується реалізувати підтримку архітектури AArch64.



Джерело: opennet.ru
