Phantom OS, prendra la base de Genode et sera prêt d'ici la fin de l'année

Récemment Des informations sur le projet ont été publiées pour porter la machine virtuelle du système d'exploitation Fantôme sur lequel travailler l'environnement du système d'exploitation du micro-noyau Génode.

L'information a été divulguée dans une interview dans laquelle il est souligné que la version principale de Phantom OS est maintenant prêt pour des projets pilotes, et la version basée sur Genode sera prête à être utilisée d'ici la fin de l'année. Dans le même temps, jusqu'à présent, seul un prototype conceptuel viable a été annoncé sur le site Web du projet, dont la stabilité et la fonctionnalité n'ont pas été portées à un niveau adapté à une utilisation industrielle, et parmi les plans les plus proches figure la formation d'une version alpha .

Depuis le début des années 2000, le Phantom OS a été développé en tant que projet personnel de Dmitry Zavalishin et depuis 2010, il est transféré sous l'aile de la société Digital Zone créée par Dmitry.

Le système se distingue par son accent sur la haute fiabilité et l'utilisation du concept "tout est un objet" au lieu de "tout est un fichier", ce qui élimine l'utilisation de fichiers en raison de la préservation de l'état de la mémoire et d'un cycle de travail continu.

Les applications dans Phantom ne sont pas terminées, juste mises en pause et reprises d'où ils sont restés. Toutes les variables et structures de données peuvent être stockées aussi longtemps que l'application en a besoin, et le programmeur n'a pas à prendre de précautions particulières pour sauvegarder les données.

Les applications dans Phantom sont compilés en bytecode, qui s'exécute dans une machine virtuelle basée sur une pile, similaire à la machine virtuelle Java. La machine virtuelle assure la persistance de la mémoire des applications : le système télécharge périodiquement des instantanés de l'état de la machine virtuelle sur un support persistant.

Après un arrêt ou un crash, le travail peut continuer à partir du dernier instantané de mémoire enregistré. Les instantanés sont créés de manière asynchrone et sans suspendre la machine virtuelle, mais un instantané capture un seul segment, comme si la machine virtuelle était arrêtée, enregistrée sur le disque et redémarrée.

Toutes les applications s'exécutent dans un espace d'adressage global commun., qui élimine le besoin de basculements de contexte entre le noyau et les applications, et simplifie et accélère considérablement la communication entre les applications s'exécutant sur une machine virtuelle qui peut échanger des objets via le passage de références.

Migration des programmes Java vers Phantom est considéré comme un des principaux moyens de développer des applications, ce qui est facilité par la similarité de la machine virtuelle Phantom avec la JVM. En plus du compilateur de bytecode pour le langage Java, le projet prévoit la création de compilateurs pour Python et C#, ainsi que l'implémentation d'un traducteur à partir du code intermédiaire de WebAssembly.

Système d'exploitation fantôme traditionnel, plus machine virtuelle, inclut son propre noyau avec implémentation de threadune gestionnaire de mémoire, un ramasse-miettes, des mécanismes de synchronisation, un système d'E / S et des pilotes pour travailler avec l'équipement, ce qui complique considérablement la préparation du projet pour une utilisation généralisée.

Séparément, des composants avec une pile réseau, un sous-système graphique et une interface utilisateur sont en cours de développement. Il convient de noter que le sous-système graphique et le gestionnaire de fenêtres fonctionnent au niveau du noyau.

Pour améliorer la stabilité, la portabilité et la sécurité du projet, a tenté de porter la machine virtuelle Phantom pour qu'elle fonctionne à l'aide des composants système d'exploitation à micro-noyau ouvert Génode, dont le développement est supervisé par la société allemande Genode Labs.Pour ceux qui souhaitent expérimenter Phantom basé sur Genode, un environnement de construction spécial basé sur Docker a été préparé.

Utilisation de Genode permettra d'utiliser des micro-noyaux et des contrôleurs déjà éprouvés, ainsi que l'introduction des pilotes dans l'espace utilisateur (dans leur forme actuelle, les pilotes sont écrits en C et exécutés au niveau du noyau Phantom).

En particulier, il sera possible d'utiliser le micro-noyau seL4, qui a réussi le contrôle de fiabilité mathématique, confirmant que l'implémentation est entièrement conforme aux spécifications spécifiées dans le langage formel. Il est envisagé de préparer un test de fiabilité similaire pour la machine virtuelle Phantom, qui permettra de vérifier l'ensemble de l'environnement du système d'exploitation.

Le principal domaine d'application du port basé sur Genode est le développement d'applications pour divers appareils industriels et embarqués.

Actuellement, un ensemble de modifications a déjà été préparé pour la machine virtuelle et des crochets ont été ajoutés qui s'exécutent au-dessus de Genode pour les composants de persistance du noyau et les principales interfaces de bas niveau.

Il est à noter que la VM Phantom peut déjà fonctionner dans un environnement Genode 64 bits, mais la VM n'a pas encore été déployée en mode persistance, le sous-système de pilotes doit être retravaillé et les composants avec une pile réseau et un sous-système graphique doivent être adapté pour Génode.

Si vous souhaitez en savoir plus sur le fonctionnement du système, vous pouvez consulter les détails dans le lien suivant


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.