Présentation

FTL (Fast Tiny Library) se présente comme un système d’exploitation construit sous forme de bibliothèque partagée. Chaque conteneur s’exécute comme une instance d’OS en espace utilisateur, ce qui permet d’ajouter, de déboguer ou de mettre à jour le système sans toucher à un noyau monolithique. Le projet a publié sa première version v0.0.1 en septembre 2026, incluant un serveur HTTP Rust fonctionnant comme une application Linux classique.

Architecture et isolation

Le cœur de FTL repose sur un kernel minimal qui expose uniquement les primitives nécessaires à l’implémentation des appels système Linux en espace utilisateur. Cette interface, décrite comme « hypervisor‑like », s’appuie sur une isolation matérielle légère en mode utilisateur, offrant une séparation des conteneurs plus stricte que les noyaux monolithiques traditionnels. Chaque conteneur charge la bibliothèque FTL, qui reproduit les abstractions classiques du noyau : processus, VFS, pile TCP/IP et gestion de la mémoire. Ainsi, le modèle combine la flexibilité et la sécurité des micro‑noyaux avec la performance et la simplicité des noyaux monolithiques.

Compatibilité et performances

FTL garantit la compatibilité avec les binaires Linux existants. Le serveur HTTP Rust hébergé sur le site officiel illustre cette capacité : il s’agit d’une application Linux standard exécutée dans un conteneur FTL sans modification du code source. En parallèle, le projet autorise le déploiement d’applications de type unikernel, qui n’utilisent pas les abstractions POSIX classiques, ce qui peut réduire la surface d’attaque et le temps de démarrage. La combinaison d’une interface système minimale et d’une implémentation en bibliothèque évite les coûts d’interruption liés aux transitions noyau‑espace utilisateur, ce qui, selon les concepteurs, préserve les performances tout en renforçant la sécurité.

Feuille de route et limites actuelles

Le calendrier public de FTL prévoit plusieurs jalons : v0.1.0 (support asynchrone Rust, threads Linux, epoll) a été publié en octobre 2026, suivi d’une prise en charge du système de fichiers en novembre 2026. Décembre 2026 verra l’ajout du support Node.js et Go, et janvier 2027 introduira le SMP, la gestion d’images de conteneurs et le support ARM 64 bits. À ce jour, le projet reste limité aux architectures x86‑64 et ne propose pas encore de support complet pour les pilotes matériels spécifiques, ce qui peut restreindre son adoption dans des environnements nécessitant des périphériques spécialisés. De plus, l’absence de benchmarks publics empêche une évaluation quantitative de la latence ou du débit comparé aux solutions de virtualisation classiques.