Sanos
Sanos est un noyau de système d'exploitation 32-bit minimal mais suffisant pour le fonctionnement d'applications serveurs sur du matériel standard de type PC. Il offre les services de base d'un système d'exploitation tels le démarrage, l'allocation de mémoire, la gestion des tâches, l'accès aux fichiers localement ou à distance, la mise en œuvre des couches réseau TCP/IP ainsi que le chargement de DLL.
Le noyau a été développé à l'origine pour démontrer la faisabilité de faire fonctionner la JVM en n'écrivant que les primitives nécessaires et suffisantes à son fonctionnement. C'est par le biais d'une couche Win32 qu'est permis le fonctionnement de la JVM HotSpot standard Windows, ce qui permet d'offrir ainsi une plateforme JavaOS pour la mise en œuvre de services de plus haut niveau. Sanos propose également une API basée sur la norme POSIX ainsi qu'une bibliothèque C ANSI.
Le shell offre les commandes de base pour la gestion des fichiers et des répertoires ainsi qu'un éditeur de texte. Sanos dispose en standard de Telnet et FTP.
Usages possibles
Des applications non triviales ont été portées :
- un serveur d'application : Apache Tomcat
- un compilateur C : Tcc
- une base de données : MySQL
- l'émulateur de systèmes historiques : SIMH
Bien que conçu pour fonctionner de manière autonome sur du matériel de type PC, ses très faibles empreintes mémoire (4 Mo) et disque le rendent particulièrement intéressant en virtualisation, habituellement très consommatrice de ressources.
Le code est libre sous licence BSD, ou sous GNU GPL. Une documentation claire et pédagogique explicite les choix techniques retenus.