Développeurs, créez votre propre système d'exploitation avec Cosmos

Dans le vaste monde des systèmes d’exploitation , on ne sait plus trop où donner de la tête. Bien que Windows soit le système le plus employé sur PC, d'autres systèmes tels qu'OSX ou Linux existent. Mais si je vous disais que vous, utilisateurs de Windows, pouvez créer votre propre système d’exploitation ? Et ceci sans manipuler de langages complexes comme l'assembleur ou le C mais simplement en utilisant le langage C# ou VB.NET. Ceci est bien possible, grâce au projet Cosmos.

cosmos-universumos

Cosmos est un « outil de construction » de système d’exploitation , open-source et écrit presque entièrement en C#. Cosmos utilise le compilateur IL2CPU pour créer des fichiers utilisables par la machine en transformant du langage de haut niveau, le .NET (C# ou VB.NET) en langage de bas niveau, l’assembleur. Ces fichiers peuvent être exécutés de différentes manières, par disquette, clé USB, CD-ROM par machine virtuelles et autres.

Intégré à Visual Studio , Cosmos va vous permettre de créer un système d’exploitation qu'aussi bien débutant ou expérimentés peuvent utiliser pour différents projets. Il existe une petite liste de projets utilisant Cosmos et voici par exemple Universum OS, un projet développé en C# et propulsé par Cosmos.

Pour l’instant, Cosmos supporte différentes fonctionnalités dont le système de fichier, le système graphique par exemple et est activement mis à jour grâce à ses nombreux contributeurs, si l'envie vous prend vous êtes invités à aider en cherchant des bugs ou en aidant au développement ! :)

Vous pouvez également installer Cosmos avec ce répertoire et suivre la documentation (en anglais) ou bien suivre cette série de tutoriel pour savoir comment installer et utiliser Cosmos (en français).

Source : github.com , en.wikipedia.org

Partager cet article

 44 commentaires

Connectez-vous pour poster un commentaire
Laisser un commentaire...
  • clacclac
    Merci pour l'info Andromeda joli nom pour un smartphone avec plusieurs fonction ! Bon mon 950 tiendra jusque la du moins je l'espère
    • clacclac
      Moi en fait je ne sais même pas de quoi vous parlez mais cela doit êtes intéressant puisque beaucoup de monde participe au sujet bon parlons peux parlons bien en 2017 un nouveau windows phone windows 10 vas t'il naitre bon dimanche a tous
    • DarkBull
      Tien on revient à Windows 1, c'est marrant.
      • Anonymous
        Anonymous Lien
        J'ai lu "disquette" ?
      • zboul
        Pfioouuuuh mais comme je suis loin de tout ça maintenant (et pourtant je suis toujours dans le domaine)... Effectivement comme dit au dessus, un intérêt pour les étudiants et la recherche... Mais donc plus pour moi ;)
        • REmiliStanEM
          A quand un site moncosmos.com ?
          Merci pour la news!
          • g33kard
            Bonjour,

            C'est sympa comme concept, ça permettra aux écoliers, collégiens de s'initier à la programmation, de différencier entre programmation haut niveau et programmation bas niveau afin d'avoir une idée nette sur cette branche avant de se lancer dans des études plus poussées et pourquoi pas devenir informaticien et surtout aux profanes, aux amateurs et spécialement les dirigeants des entreprises que finalement l'informatique n'est pas que presse bouton ^^
            • Anonymous
              Anonymous Lien
              Appeler ce truc un Système d'exploitation... C'est un peu gros
              C'est juste un petit soft qui tourne dans une machine virtuelle, pour faire mumuse et se prendre pour un programmeur de génie, pas plus ^^
              • neonp
                Il faut lire avant de raconter n'importe quoi. Dans ce cas a quoi servirait IL2CPU ?
                • Anonymous
                  Anonymous neonp Lien
                  IL2CPU, c'est juste un compilateur .NET
                  .NET est un langage HAUT NIVEAU
                  .NET tourne dans une machine virtuelle cible
                  .NET ne se lance pas tout seul
                  .NET a besoin d'un tas de LIB, DLL, etc pour fonctionner
                  .NET est un Framework que Cosmos utilise pour fonctionner

                  Un logiciel qui utilise .NET et qui a besoin de son Framrwork pour fonctionner et qui tourne dans une machine virtuelle n'est tout simplement pas un système d'exploitation !

                  Comment peut on sortir aujourd’hui un truc pareil, non fonctionnel, en ligne de commande et le nommer OS

                  Si tu veux voir à l’œuvre un vrai OS en développement, regarde du coté de ReactOS...
                  Cosmos, c'est même pas un jouet à coté, c'est rien


                  Et comme le dit le collegue du bas, on ne code pas un OS en 10 lignes de code...
                  • valentinbreiz
                    Je pense que tu n'as pas totalement compris le fonctionnement d'IL2CPU..
                    IL2CPU va "simplement" convertir du langage .NET en assembleur et en fichiers binaires.
                    Par exemple un système sous cosmos de 6000 lignes de C# va se transformer en 500 000 lignes d'assembleur.
                    Cosmos est donc une manière plus simplifié, pour un plus grand public de programmer un système d'exploitation qui peut démarrer pas seulement sur une machine virtuelle mais aussi sur une machine réelle grâce à un boot menu :P
                    • Anonymous
                      "Je pense que tu n'as pas totalement compris le fonctionnement d'IL2CPU"

                      Il n'existe pas à ce jour -à ma connaissance- un compilateur capable de compiler du .NET directement en instruction machine autonomes et exécutables directement par le processeur


                      "6000 lignes de C#" = "500 000 lignes d'assembleur"

                      Une simple boucle en C++ fait 1 lignes, en assembleur cette même boucle fait 10 lignes !
                      Le code d'une fenêtre en C++ fait 5 lignes
                      En assembleur, ça fait 100 lignes
                      ET c'est normal ^^


                      "grâce à un boot menu"

                      Oui, un boot Linux avec tout ce qui va avec ^^
                    • Anonymous
                      Donc IL2CPU est un compilateur, c'est que Tomafus a dit.
                      • valentinbreiz
                        IL2CPU est bien un compilateur oui, mais utilise des méthodes d'un ".NET" remanié à travers tous les fichiers de code du projet Cosmos, comme dis à tomafus tu peux te référer au code source de Cosmos ici : https://github.com/CosmosOS/Cosmos/tree/master/source
                        • the_speakon
                          Les mecs je suis perdu je ne comprends plus rien à ce que vous raconter!!!
                          • Anonymous
                            Anonymous the_speakon Lien
                            Nous ne sommes juste pas d'accord avec le titre un chouille prétentieux, qui fait croire à un dev qu'il sera capable de créer un OS avec l’environnement Cosmos :

                            Pour résumer :
                            Cosmos est un logiciel capable de compiler et rendre bootable un code X écrit en .NET sous Visual Studio (Au passage, belle prouesse technique)

                            Est-ce qu'un code qui devient bootable et qui a besoin de environnement Cosmos ou non est un OS ?

                            Voila le débat ^^
                  • Anonymous
                    Anonymous neonp Lien
                    C'est une blague ??

                    Sur la démo ce n'est pas un OS qui est programmé mais un interpréteur de commandes !

                    Comme si un OS allait se programmer en 10 lignes...

                    De nos jours on appelle "hologramme" une simple illusion d'optique avec un miroir , et "OS" un simple interpréteur de commandes.... Portnawak...
                    • Anonymous
                      Anonymous Anonymous Lien
                      Quand on voit le boulot que ça a demandé pour coder un OS comme ReactOS (le plus ressemblant à Windows même si c'est un Win2000 like)
                      M'étonnerait qu'ils l'aient codé en 10 ligne avec du .Net
                      • valentinbreiz
                        Microsoft Windows a commencé comment ?
                        C'était MS-DOS au départ, un interpréteur de commandes.
                        Et c'est sûr cette démo n'a pas les caractéristiques d'un système d'exploitation à proprement parler. Il y a bien plus de possibilité et par exemple je fais un système d'exploitation sous cosmos seulement en interpréteur de commandes j'ai déjà des milliers de lignes donc ne dis pas en dix lignes ^^
                        • Anonymous
                          MS-DOS n'est pas un interpréteur de commande : une fois booté MS-DOS lance tout de suite un interpréteur de commande qui s'appelle COMMAND.EXE. On peut le configurer (je ne sais plus comment) pour lancer autre chose si on veut.

                          Ce n'est pas juste une nuance de langage : un interpréteur de commande N'EST PAS un OS, et un OS N'EST PAS un interpréteur de commandes.
                          • valentinbreiz
                            Windows 95 ou 98 sont basés sur un interpréteur de commande, soit MS-DOS.
                            Et Windows 95 et 98 sont des systèmes d'exploitation, au même titre que MS-DOS et au même titre qu'un OS construit avec Cosmos.
                            Et aussi Cosmos n'est pas seulement un invite de commande, on peut exécuter un système graphique, ce n'est juste pas montré dans la vidéo de démo :P
                            • Anonymous
                              Encore une fois tu montres que tu confonds "OS" et "Interpréteur de Commandes", et que tu ne veux pas comprendre que ce sont deux choses différentes.

                              W95 n'est pas basé sur un interpréteur de commandes, il est basé sur MS-DOS. C'est d'ailleurs un très bon exemple où MS-DOS à la fin de sa séquence de boot (qu'on ne voit pas) lance autre chose que COMMAND.COM : il lance l'exécutable de Windows 95.
                              • Anonymous
                                Anonymous Anonymous Lien
                                D'ailleurs de base, Win 95 était classé comme "logiciel d'interface" et non comme OS,comme ses prédécesseurs
                                Il rendait plus user friendly MS-DOS
                                Ça a changé avec Win98
                                • Anonymous
                                  Anonymous Anonymous Lien
                                  En fait W95 était déjà hybride entre une simple surcouche de DOS et un OS complet. Il était lancé depuis le DOS, mais une fois lancé il prenait la main sur le matériel... plus ou moins en concurrence avec le DOS qui restait en mémoire. Il y avait donc 2 API système appelables : celles du DOS, et la nouvelle Win32.
                                  https://fr.wikipedia.org/wiki/Windows_95#Windows_et_le_DOS

                                  Ca permettait de maintenir une compatibilité quasi parfaite avec les anciennes applis (y compris celle de Win3.1), mais ce n'était pas terrible pour la stabilité ^^ (ce que tout le monde aura pu constater !).
                              • Anonymous
                                "Windows 95 ou 98 sont basés sur un interpréteur de commande, soit MS-DOS"



                                Command.com est l’interpréteur de commande du MS-DOS comme le dit Jacky64

                                MS-DOS et W95/98 ne boot pas de la même facon
                                Win95/98 se fout royalement de command.com, il ne figure même pas dans la séquence de démarrage

                                Il faut comprendre une chose, un OS est un programme autonome et il est construit pour se lancer à partir des seules instructions primaires du Bios de la machine et à partir des instructions machines du processeur, pas de bytcode, pas de framework, d’interpréteur de commande, etc...
                                Quand le PC est prêt à démarrer, on peut commencer à lancer/coder un noyau primaire mais pas en .NET ni en bytecode...
                                A ce stade, l'OS est primaire et il est toujours de bas niveau
                                • valentinbreiz
                                  Un projet Cosmos compilé avec IL2CPU est oui un langage de bas niveau comme tout OS.
                                  Il utilise le Boot Loader Syslinux pour lancer un fichier Cosmos.bin qui sera directement chargé dans la RAM du PC. Et ceci sans aucun intermédiaire.
                                  • Anonymous
                                    Oui, mais la couche OS, qu'on va appeler "Cosmos OS" comme le fait tomafus, est déjà écrite. Celui qui créé un projet Cosmos ne crée pas un OS, il crée un environnement de travail et/ou des applis qui vont tourner dans Cosmos OS.

                                    Je ne sais pas si tu te rends compte de ce que ça veux dire et implique "créer un OS", même un OS simple... Visiblement non.
                                    • Anonymous
                                      Le titre indique :
                                      "Développeurs, créez votre propre système d'exploitation avec Cosmos"

                                      Il aurait été préférable de dire :
                                      Créer des applications autonomes en C# directement exécutable sous Cosmos OS sans l'environnement Windows/Linux

                                      L’intérêt principale -à terme- de Cosmos est de créer/lancer des applications écrite en C#, compilé avec IL2CPU qui utilise les Biblio de .NET et se passer de la lourdeur de Windows/Linux

                                      Effectivement, un programmeur peut toujours compiler son Hello World ou son petit programme bidon ecrit en C# en disant à ses potes "hé les gars, j'ai créer mon OS, il boot tout seul, je suis un génie"
                              • Anonymous
                                MS a commencé en rachetant SCP-DOS en le modifiant un tout petit peu, en le rebadgeant, pour le vendre à prix d'or à IBM pour son PC

                        D'autres articles à découvrir