После шести лет разработки сформирован первый стабильный релиз проекта ToaruOS, в рамках которого небольшой группой энтузиастов развивается написанная с нуля Unix-подобная операционная система со своим ядром, компонентами пространства пользователя и графическим интерфейсом. Отмечается, что новая ОС ещё далека до реализации всех задуманных возможностей, но ToaruOS 1.0 можно рассматривать как первый выпуск, готовый для применения конечными пользователями. Код проекта написан на языке Си и распространяется под лицензией BSD. Для загрузки подготовлен live-образ, размером 25 Мб, который можно протестировать в QEMU, VMware или VirtualBox.
Проект стартовал в 2011 году в Иллинойсском университете и вначале развивался как исследовательская работа в области создания новых композитных графических интерфейсов. С 2012 года разработка трансформировалась в операционную систему ToaruOS, развиваемой в вначале в качестве студенческого проекта, а потом переросшей в хобби выходного дня. Проект развивается одним основным разработчиком при участии образовавшегося вокруг проекта сообщества. В текущем виде система снабжена композитным оконным менеджером, поддерживает динамически связываемые исполняемые файлы в формате ELF, многозадачность, графический и сетевой стеки.
В поставку входит порт языка программирования Python 3.6, который использован при разработке некоторых специфичных для ToaruOS графических приложений, таких как пакетный менеджер, графический редактор, просмотрщик PDF, калькулятор, простые игры. Из портированных для ToaruOS сторонних программ отмечаются Vim, GCC, Binutils, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator, Bochs и т.п.
В основе ToaruOS лежит ядро, использующее гибридную модульную архитектуру, сочетающую монолитную основу и средства для использования загружаемых модулей, в виде которых оформлено большинство имеющихся драйверов устройств, таких как драйверы диска (PATA и ATAPI), ФС EXT2 и ISO9660, framebuffer, клавиатуры, мыши, сетевых карт (AMD PCnet FAST, Realtek RTL8139 и Intel PRO/1000), звуковых чипов (Intel AC'97), а также дополнений VirtualBox для гостевых систем.
Из предоставляемых ядром примитивов отмечаются Unix-потоки, TTY, виртуальная ФС, многопочность, IPC, разделяемая память, многозадачность и другие типовые возможности. В качестве файловой системы применяется ext2. Для взаимодействия с ядром предоставляется реализация псевдо-ФС /proc, созданной по аналогии с Linux. Из ограничений отмечается работа только на 32-разрядной архитектуре x86 и отсутствие поддержки многопроцессорных систем (SMP пока не поддерживается, но в планах).
|