Un nouveau système d'exploitation Essence est disponible pour des tests initiaux, livré avec son propre noyau et interface utilisateur graphique. Le projet est développé par un passionné depuis 2017, créé de zéro et se distingue par son approche unique de la construction de bureau et de la pile graphique. La fonctionnalité la plus remarquable est la possibilité de diviser les fenêtres en onglets, permettant de travailler dans une seule fenêtre avec plusieurs programmes et de regrouper des applications par fenêtres selon les tâches à accomplir. Le code du projet est écrit en C++ et distribué sous licence MIT.

Le gestionnaire de fenêtres fonctionne au niveau du noyau du système d'exploitation, et l'interface est créée à l'aide de sa propre bibliothèque graphique et d'un moteur vectoriel, supportant des effets animés complexes. L'interface est entièrement vectorielle et s'adapte automatiquement à toutes les résolutions d'écran. Toutes les informations sur les styles sont stockées dans des fichiers séparés, ce qui permet de changer facilement l'apparence des applications. Pour le rendu programmatique, OpenGL utilise du code de Mesa. La prise en charge de plusieurs langues est assurée, et FreeType et Harfbuzz sont utilisés pour le rendu des polices.

Le noyau inclut un planificateur de tâches avec support pour plusieurs niveaux de priorités, un sous-système de gestion de la mémoire avec prise en charge de la mémoire partagée, mmap et un gestionnaire de pages mémoire multi-threadé, une pile réseau (TCP/IP), un sous-système audio pour le mixage des sons, un VFS et un système de fichiers EssenceFS avec une couche distincte pour la mise en cache des données. En plus de son propre FS, des pilotes pour Ext2, FAT, NTFS et ISO9660 sont fournis. La fonctionnalité peut être excédée dans des modules avec possibilité de charger de tels modules au besoin. Les pilotes sont préparés pour ACPI avec ACPICA, IDE, AHCI, NVMe, BGA, SVGA, HD Audio, Ethernet 8254x et USB XHCI (appareils de stockage et HID).
La compatibilité avec des applications tierces est assurée par une couche POSIX suffisante pour exécuter GCC et certaines utilitaires de Busybox. Parmi les applications portées pour Essence, on note la bibliothèque C Musl, l'émulateur Bochs, GCC, Binutils, FFmpeg et Mesa. Parmi les applications graphiques créées spécifiquement pour Essence, on trouve un gestionnaire de fichiers, un éditeur de texte, un client IRC, un visualiseur d'images et un moniteur système.

Le système peut fonctionner sur du matériel obsolète avec moins de 64 Mo de RAM et occupe environ 30 Mo d'espace disque. Pour économiser des ressources, seul l'application active est exécutée, tandis que tous les programmes en arrière-plan sont suspendus. Le chargement prend seulement quelques secondes et l'arrêt se fait presque instantanément. De nouvelles versions prêtes à tester sont publiées quotidiennement par le projet dans QEMU.

Source : opennet.ru
