Een nieuw besturingssysteem, Essence, is beschikbaar voor initiële tests. Het wordt geleverd met zijn eigen kernel en gebruikersinterface. Het project wordt sinds 2017 ontwikkeld door een enthousiasteling en is vanaf de grond opgebouwd, met een unieke benadering voor het bouwen van desktop- en grafische stacks. De meest opvallende functie is de mogelijkheid om vensters in tabs te splitsen, waardoor je in één venster met meerdere programma's tegelijk kunt werken en applicaties kunt groeperen in vensters afhankelijk van de taken die worden uitgevoerd. De code van het project is geschreven in C++ en wordt verspreid onder de MIT-licentie.

De vensterbeheerder werkt op kernniveau van het besturingssysteem, en de interface wordt gemaakt met behulp van een eigen grafische bibliotheek en een softwarematige vectorengine, die ondersteuning biedt voor complexe animatie-effecten. De interface is volledig vectorieel en automatisch schaalbaar voor elk schermresolutie. Alle informatie over stijlen wordt in aparte bestanden opgeslagen, wat het gemakkelijk maakt om de opmaak van applicaties te wijzigen. Voor grafische weergave wordt OpenGL ondersteund met code uit Mesa. Meerdere talen worden ondersteund en voor het renderen van lettertypen worden FreeType en Harfbuzz gebruikt.

De kernel omvat een taakplanner met ondersteuning voor meerdere prioriteitsniveaus, een geheugensubsystem met ondersteuning voor gedeeld geheugen, mmap en een multithreaded geheugenpagina-handler, een netwerkstack (TCP/IP), een geluidsubsysteem voor het mixen van geluiden, VFS en een bestandssysteem genaamd EssenceFS met een aparte laag voor gegevenscaching. Naast de eigen bestandsstructuur zijn er drivers voor Ext2, FAT, NTFS en ISO9660. Het ondersteunt het extraheren van functionaliteit in modules met de mogelijkheid om dergelijke modules bij behoefte te laden. Drivers zijn voorbereid voor ACPI met ACPICA, IDE, AHCI, NVMe, BGA, SVGA, HD Audio, Ethernet 8254x en USB XHCI (opslag- en HID-apparaten).
Compatibiliteit met externe applicaties wordt bereikt via een POSIX-laag, die voldoende is voor het uitvoeren van GCC en een aantal Busybox-hulpprogramma's. Opvallende geportte applicaties voor Essence zijn onder andere de C-bibliotheek Musl, de emulator Bochs, GCC, Binutils, FFmpeg en Mesa. Speciaal voor Essence gemaakte grafische applicaties omvatten een bestandsbeheerder, tekstverwerker, IRC-client, afbeeldingsviewer en systeemonitor.

Het systeem kan draaien op verouderde hardware met minder dan 64 MB RAM en neemt ongeveer 30 MB schijfruimte in beslag. Om middelen te besparen draait alleen de actieve applicatie en worden alle achtergrondprogramma's gepauzeerd. De opstarttijd is slechts enkele seconden en het afsluiten gebeurt bijna onmiddellijk. Het project publiceert dagelijks nieuwe kant-en-klare builds, die geschikt zijn voor testen in QEMU.

Bron: opennet.ru
