Présentation de Mercury
Mercury se décrit comme un système d'exploitation qui abandonne les dossiers traditionnels et le modèle d'application classique. Le site officiel indique que l'interface repose sur une organisation « sans hiérarchie de fichiers » et que les fonctions habituellement fournies par des programmes autonomes sont intégrées dans un environnement unifié. Cette description constitue le seul point de référence fourni par la source.
Architecture sans dossiers
Le rejet de la structure en dossiers implique que le système ne conserve pas de système de fichiers hiérarchique tel que NTFS ou ext4. En pratique, chaque objet doit être adressé par un identifiant global ou un métadonnées qui remplace le chemin d’accès. Cette approche nécessite un moteur de recherche ou un index dynamique capable de résoudre les références en temps réel. Sans dossiers, la gestion des permissions doit être appliquée directement aux objets, ce qui modifie la chaîne d’appel du noyau aux contrôles d’accès habituels.
Absence d’applications autonomes
Mercury affirme ne pas recourir à des applications séparées. Le modèle suggère l’utilisation d’un runtime unique qui charge des modules fonctionnels à la demande. Chaque module serait exécuté dans le même espace d’adressage, ce qui simplifie le lancement mais augmente la surface d’exposition aux erreurs de code. Le partage de bibliothèques devient obligatoire, car aucune isolation de processus n’est possible sans le découpage traditionnel en applications.
Implications techniques et limites
Le choix d’un environnement monolithique pose plusieurs contraintes. D’une part, la mise à jour d’un module implique la recompilation ou le rechargement du runtime complet, ce qui peut affecter la stabilité globale. D’autre part, la sécurité repose sur un contrôle d’accès granulaire appliqué aux métadonnées, sans les barrières de sandbox habituelles. Le modèle pourrait également compliquer la portabilité des logiciels existants, qui sont conçus pour s’exécuter comme des binaires indépendants. Enfin, l’absence de dossiers rend difficile l’interopérabilité avec les systèmes de fichiers standards, limitant les échanges de données avec des plateformes externes.