Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

121PARTAGES

7  0 
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

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de zippedfire
Nouveau membre du Club https://www.developpez.com
Le 01/12/2016 à 23:59
Effectivement, c'est un projet assez intéressant avec lequel j'ai eu l'occasion de jouer il y a quelques années (sur le DK 106072 ou quelque chose du genre), à l'époque il était assez populaire (très peu d'OS Cosmos sont encore actifs en ce moment) mais beaucoup moins avancé que maintenant : il n'y avait quasiment pas de support pour la vidéo (la plupart des systèmes utilisaient un pilote VMware SVGA porté depuis un vieux code C++, ce qui rendait l'utilisation de Bochs ou QEMU impossible pour avoir des graphismes au-dessus de 320x200), ni pour le stockage de fichiers ; ce qui faisait que beaucoup de gens créaient leur propre système de fichiers, le plus connu et le plus avancé était GLNFS, utilisé dans le système GruntyOS qui était à l'époque objectivement et techniquement le meilleur système Cosmos existant : graphismes, stockage HDD, shell type Bash, etc, et sa version Infinity (la dernière à sortir, en avril 2013) était carrément destinée à être un noyau Unix-like à la manière de Linux, il y avait un support de domaines d'application, d'exécutables ELF32 (dans une vidéo YT malheureusement maintenant supprimée, Grunt avait réussi à compiler un programme C affichant un texte à l'écran depuis Windows et à exécuter ce dernier depuis son système), de gestion avancée de la RAM et même de multitasking, ce qui est tout de même assez impressionnant quand on sait que tout le framework derrière est écrit en C#. Bien sûr, depuis 2013, bien qu'ayant connu une sensible baisse de popularité, Cosmos a connu de nombreuses améliorations, notamment le support de FAT32 de nombreuses corrections de breaking bugs et plus récemment une réécriture complète du pilote de clavier (par moi ) permettant le support d'autres layouts que le QWERTY, ainsi que d'autres joyeusetés telles que le [Num|Caps|Scroll]lock, etc.
Bref, un projet intéressant, affaire à suivre.
1  0 
Avatar de maitredede
Membre régulier https://www.developpez.com
Le 02/12/2016 à 1:07
J'avais regardé ce projet il y a un moment, ça avait l'air prometteur. A l'époque, il me manquait du mutlithreading et du réseau TCP/IP fonctionnel. Aujourd'hui, je suis curieux de voir où en sont les projets basés sur Cosmos, et si le compilateur peut sortir autre chose que du x86 (par exemple, de l'arm 7).
1  0 
Avatar de derderder
Membre averti https://www.developpez.com
Le 02/12/2016 à 12:39
Citation Envoyé par kilroyFR Voir le message
Pas compris concretement l'interet/utilité. Pourquoi ce serait mieux en managé qu'en natif ? (la perf en moins)
Encore un sujet qui va trainer 10 ans avant de finir a la poubelle. Ca aura occupé des gens a ne pas s'ennuyer en attendant.
Le nb de fois ou des gens ont voulu inventer l'OS parfait (certains ayant arrivé a du concret mais qui n'a pas pris dans le grand public) pour finalement tomber dans l'oubli...
Tu veux dire comme Hurd
1  0 
Avatar de CS FS
Membre actif https://www.developpez.com
Le 02/12/2016 à 12:56
Citation Envoyé par kilroyFR Voir le message
Pas compris concretement l'interet/utilité. Pourquoi ce serait mieux en managé qu'en natif ?
Capitaliser sur une expertise .Net sans doute.
Un projet Cosmos ça ressemble à un programme console classique, sauf que le produit de la génération peut être chargé dans un bootloader (pas besoin d’OS hôte en somme).
Le but n’est pas forcément de recréer un OS aussi complet que Linux ou Windows, mais d’écrire une brique d’exploitation qui correspond à un besoin précis.

Citation Envoyé par kilroyFR Voir le message
(la perf en moins)
IL2CPU permet de compiler le code IL en instruction machine (il n’est plus question à ce stade d’exécution managé... en somme, une fois l’OS compilé, il ne reste plus rien de .Net).

Citation Envoyé par kilroyFR Voir le message
Encore un sujet qui va trainer 10 ans avant de finir a la poubelle. Ca aura occupé des gens a ne pas s'ennuyer en attendant.
Rien que pour la naissance de IL2CPU ce projet n’aura pas été vain.
0  0 
Avatar de Traroth2
Membre chevronné https://www.developpez.com
Le 02/12/2016 à 13:49
Pourquoi avoir créé une licence ad-hoc pour ce logiciel, vaguement open-source mais plutôt floue ?

https://github.com/CosmosOS/Cosmos/b...er/LICENSE.txt
0  0 
Avatar de kilroyFR
Membre éclairé https://www.developpez.com
Le 02/12/2016 à 10:49
Pas compris concretement l'interet/utilité. Pourquoi ce serait mieux en managé qu'en natif ? (la perf en moins)
Encore un sujet qui va trainer 10 ans avant de finir a la poubelle. Ca aura occupé des gens a ne pas s'ennuyer en attendant.
Le nb de fois ou des gens ont voulu inventer l'OS parfait (certains ayant arrivé a du concret mais qui n'a pas pris dans le grand public) pour finalement tomber dans l'oubli...
2  3 
Avatar de frenchlover2
Membre du Club https://www.developpez.com
Le 02/12/2016 à 13:16
enfin un os personnalisé qui permet de se prémunir contre l'espionnage
0  1