Kandelo est un noyau multiprocessus expérimental open source basé sur Wasm qui exécute des programmes POSIX dans les navigateurs et Node.js. Il prend déjà en charge une grande gamme de logiciels existants, y compris Nginx, PHP et WordPress. Le projet est exploré comme base pour WordPress Playground et comme sandbox basé sur navigateur pour les agents. Les démonstrations supplémentaires incluent le moteur de jeu LÖVE, SNKRX, Commander Keen dans DOSBox et un concept de bureau LXDE. Veuillez noter que les démonstrations sont testées sur des navigateurs de bureau avec des images disque volumineuses (~50 Mo) pouvant prendre du temps pour le démarrage initial.
L'architecture comporte un noyau central à un seul travailleur fournissant des appels système POSIX, chaque processus étant un travailleur dédié avec une mémoire indépendante. Les threads sont des travailleurs dédiés partageant la mémoire au sein du même processus. Les appels système utilisent SharedArrayBuffer et l'API Atomics, avec le support de fork(). Le système tourne autour d'images de système de fichiers virtuelles contenant des références différées aux programmes.
Le créateur s'attendait initialement à offrir des compromis pour la compatibilité POSIX, mais a été surpris par la qualité du fonctionnement du système sans eux. Nginx, PHP, Python, Ruby, Redis et MariaDB ont été construits avec le SDK avec un minimum de hacks.
Entités clés : Entreprises : Automattic
Source: Hacker News · Résumé par HeadlinesBriefing