Cosmos (C# Open Source Managed Operating System) n’est pas un système d’exploitation au sens traditionnel du terme, mais un kit de développement de systèmes d’exploitation qui utilise Visual Studio comme environnement de développement : le code peut être écrit, compilé, débogué et exécuté entièrement à travers de Visual Studio. Pour l'instant seuls Visual Studio 2013 et Visual Studio 2015 sont supportés, même si le portage vers d'autres versions est en cours.
Il se sert d’un compilateur connu sous le nom de IL2CPU pour traduire le langage CIL généré d'une application .NET en langage assembleur natif. Cosmos compile des programmes et des bibliothèques à l'aide d'IL2CPU pour créer un fichier exécutable démarrable. Le résultat peut être démarré à partir d'une disquette, une clé USB, un CD-ROM, sur le réseau via PXE, ou dans une machine virtuelle.
Les versions de Cosmos sont divisées en deux types : les "User kit" et les "Development Kit” (Devkit). Les "Userkit" sont des versions pré-packagées qui sont mises à jour régulièrement. Les "Devkit" sont constitués du code source de Cosmos qui doit être compilé manuellement et des outils de conception.
Les développeurs peuvent utiliser Cosmos avec Visual Studio pour écrire un programme et le booter directement comme système d'exploitation. À l'avenir, Cosmos permettra aux développeurs de personnaliser leur propre système d'exploitation miniature ou même un système d’exploitation complet.
Écrit principalement en C# et comportant de petites parties d'un langage de programmation assembleur de haut niveau appelé X#, Cosmos n’est pas un projet interne de Microsoft. Cosmos exécute le code plus rapidement car il n'a pas la surcharge de tâches de commutation au niveau du processeur. « C'est en fait un ensemble de Legos pour la construction de systèmes d’exploitation en se servant de .Net », a simplifié le co-fondateur du projet Chad Hower, un ancien développeur évangéliste de Microsoft.
Dans une vidéo sur le blog MSDN, Hower a expliqué que les systèmes d'exploitation existants s'appuient sur l'architecture Intel et ont des fonctionnalités héritées pour des fonctions comme exécuter d’anciens fichiers exécutables. Avec Cosmos, les développeurs ont voulu voir quels concepts ils pouvaient changer ; Cosmos utilise des logiciels au lieu du matériel, déplaçant les protections matérielles dans le logiciel via un code managé.
Avec une application Windows ou Linux traditionnelle, chaque processus est chargé dans un espace protégé par le matériel, nécessitant une surcharge du processeur. Cosmos n'utilise pas la mémoire virtuelle dans un sens traditionnel et ne se sert pas de protections matérielles ou d’un anneau de protection dans les CPU pour contrôler ces capacités. À la place, « tout cela est imposé par le noyau de Cosmos lui-même», comme l’a expliqué Hower. Le compilateur Cosmos et le modèle d'exécution permettent une duplication des fonctions normales de protection de la mémoire dans le système d’exploitation lui-même d'une manière plus efficace, et Cosmos facilite le partage d'objets.
Bien que le projet soit en développement depuis une décennie déjà, le kit développeur n’est pas encore prêt pour un déploiement en environnement de production, mais la version 1.0 est attendu pour l’année prochaine. .
télécharger le kit développeur depuis le dépôt GitHub
Source : blog MSDN
La version 1.0 de Cosmos, le kit de développement de systèmes d'exploitation utilisant Visual Studio comme EDI,
Sera bientôt disponible
La version 1.0 de Cosmos, le kit de développement de systèmes d'exploitation utilisant Visual Studio comme EDI,
Sera bientôt disponible
Le , par Stéphane le calme
Une erreur dans cette actualité ? Signalez-nous-la !