29.06.2022

Essence — самобытная операционная система со своим ядром и графической оболочкой

Доступна для начального тестирования новая операционная система Essence, поставляемая со своим ядром и графическим интерфейсом пользователя. Проект развивается одним энтузиастом с 2017 года, создан с нуля и примечателен самобытным подходом к построению рабочего стола и графического стека. Наиболее заметной особенностью является возможность разделения окон на вкладки, дающие возможность работать в одном окне сразу с несколькими программами и группировать приложения по окнам в зависимости от решаемых задач. Код проекта написан на языке С++ и распространяется под лицензией MIT.

Оконный менеджер работает на уровне ядра операционной системы, а интерфейс создаётся при помощи собственной графической библиотеки и программного векторного движка, поддерживающего сложные анимированные эффекты. Интерфейс полностью векторный и автоматически масштабируется для любых экранных разрешений. Вся информация о стилях хранится в отдельных файлах, что позволяет легко менять оформление приложений.
Для программной отрисовки OpenGL применяется код из Mesa. Поддерживается работа с несколькими языками, а для отрисовки шрифтов задействованы FreeType и Harfbuzz.

Ядро включает планировщик задач с поддержкой нескольких уровней приоритетов, подсистему управления памятью с поддержкой разделяемой памяти, mmap и многопоточным обработчиком страниц памяти, сетевой стек (TCP/IP), звуковую подсистема для микширования звуков, VFS и файловую систему EssenceFS с отдельной прослойкой для кэширования данных. Кроме собственной ФС предоставляются драйверы для Ext2, FAT, NTFS и ISO9660. Поддерживается вынос функциональности в модули с возможностью загрузки подобных модулей по мере необходимости. Драйверы подготовлены для ACPI с ACPICA, IDE, AHCI, NVMe, BGA, SVGA, HD Audio, Ethernet 8254x и USB XHCI (устройства хранения и HID).

Совместимость со сторонними приложениями достигается при помощи POSIX-прослойки, достаточной для запуска GCC и части утилит Busybox. Из портированных для Essence приложений отмечаются Си-библиотека Musl, эмулятор Bochs, GCC, Binutils, FFmpeg и Mesa. Среди созданных специально для Essence графических приложений выделяются файловый менеджер, текстовый редактор, IRC-клиент, просмотрщик изображений и системный монитор.

Система может работать на устаревшем оборудовании с менее чем 64 МБ ОЗУ и занимает около 30 МБ дискового пространства. Для экономии ресурсов выполняется только активное приложение, а все фоновые программы приостанавливаются. Загрузка занимает всего несколько секунд, а завершение работы производится почти мгновенно. Проектом ежедневно публикуются новые готовые сборки, пригодные для тестирования в QEMU.

[embedded content]Источник.