Créé un petit OS

Salut,

Je n'y connais absolument rien en langage de programmation mais je souhaite créé un petit système d'exploitation mais je sais pas comment faire, vous pouvez me montrez comment en créé un svp ?

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Oublie.

    Je pourrais largement expliquer pourquoi ou même te donner des pistes pour commencer à faire des trucs mais "je n'y connais absolument rien en langage de programmation" c'est pas la peine d'aller plus loin.
    1. Bonjour,

      on peut être un tout petit peu moins catégorique, tu peux apprendre des langages très bas niveaux comme le C et l'assembleur et quand tu les maitriseras (dans 3 ans si t'es très bon) tu reviens nous voir.
    2. @Utilisateur anonymeC'est comme si un mec disait "j'ai aucune connaissance en mécanique ni en électronique mais je voudrais construire une voiture pouvant m'amener à 100km/h en sécurité".
      La réponse "Tu peux pas" est attendue.
      Même avec 3 ans de C il ne pourra pas faire un pilote.
    3. @luckydu43Bien sûr mais là il devrait avoir les bases pour comprendre les tenants et aboutissants et le chemin qui lui reste à faire.
    4. @Utilisateur anonymeLes "tenants et aboutissants" sont très simples :
      10 ans de développement ininterrompus en C, C++ et Python
      Le temps libre utilisé à acquérir des connaissances réseau poussées en plus d'une culture informatique complète, notamment l'ensemble des protocoles de communication
      Un back-end électronique serait un plus, à ajouter à la liste

      Là oui, tu es en mesure de créer ton propre noyau avec ses propres pilotes, ses interfaces... et faire partie des 1000 personnes au monde avec ces compétences.

      Le plus célèbre est Linus Torvalds mais je n'ai pas son mail, désolé.
    5. je dirais quand j'aurais appris un langue de programmation
  2. non pas un langage dans le genre un au hasard
    le C et l'ASM (les 2 plus proches de la machine mais aussi les plus durs à apprendre) et après le C++ et éventuellement le Python.
    Là tu auras juste les bases, pour commencer à entrevoir ce qu'est le codage d'un OS
    1. Bonjour nonzuouFrance_yt

      Une solution pour te faire découvrir les joies et les difficultés de l'informatique est d'acheter un Raspberry et voici deux articles pour te faire découvrir ce que c'est:
      http://science-facile.fr/2019/03/utiliser-le-raspberry-pi-comme-ordinateur.html
      https://www.clubic.com/raspberry-pi/article-849782-1-raspberry-pi-introduction-nano-ordinateur.html

      Tu ne développeras pas un nouvel OS comme tu l'as demandé, mais tu pourras apprendre à programmer et voici des exemples cités dans un des deux articles:
      ...créer une console de retro-gaming, un media center, un serveur web, VPN, email, ou NAS, ou pour créer un système de vidéosurveillance, une station météo, un système de gestion d'aquariums (pourquoi pas ?), ou encore gérer la domotique chez vous ! 
      Vous pouvez également vous servir de votre Raspberry comme d'un ordinateur de bureau afin de naviguer sur le web, écouter de la musique, lire vos mails, etc.


      Ritchi
      1. slt,

        Rien que de faire l'organigramme pour ton OS, j'imagine même pas le boulot avant de commencer la moindre ligne de code :))
        1. Bon bah comme beaucoup d'entre vous me dit que c'est complètement stupide de commencer par créé un os je vais laisser tombé ce bute et apprendre le JavaScript et le Python pour créé un petit programme puis je reprend le C

          Jsp si c'est un bonne idée
          1. C'est une bonne idée !
            Commencer avec le triplet HTML+CSS+JS histoire de se faire quelques jolies pages Web dynamiques
            Tu pourras les déployer sur un serveur (client léger)

            Ce que tu feras en C aura totalement rien à voir avec tout ça. Applications client-lourd à compiler, on est plus proche du Python (pour le côté client-lourd)
            Là, tu pourras faire des petits jeux, de la modif fichiers etc

            Suivant le domaine que tu préféreras, tu pourras creuser un domaine
            Le dev Web est hyper vaste
            Le C/Python moins mais propose des actions impossibles en Web et inversement
            En creusant, tu verras des frameworks, des outils et des process qui à terme te faciliteront la vie, au prix d'un apprentissage supplémentaire

            Essaie les 2 familles. Tu trouveras ta préférence

            Edit : il y a une 3ème famille : le dev Android/iOS. C'est une architecture client-lourd mais c'est Java ou Kotlin côté Android. Côté Apple je sais pas
            Une 4ème famille ? le shell Linux ou le Powershell de Windows. Pas mal de scripts méritent le statut de dev

            Bref. Y a de quoi faire :-) Y a forcément un truc là-dedans qui va te parler. Tout est faisable.
        2. Contributeur
          Bonjour nonzuouFrance_yt,

          La question revient régulièrement sur le forum et, bien évidemment, si on a pour objectif de réaliser un système comparable à Windows, MacOS ou Linux, c'est une tâche titanesque.

          Tu nous dit par contre que tu veux réaliser un "petit système d'exploitation".

          Réaliser un "petit système d'exploitation" est un très bon moyen d'apprendre une multitude de choses sur le fonctionnement intime des ordinateurs et qui peut commencer avec un système capable de booter la machine et d'afficher une lettre dans la mémoire vidéo.

          Cela ne prend pas des années de faire cela, et tu crées déjà un code qui s'exécute en dehors de tout système existant (sauf le BIOS) et qui est ta propre création. Bien sûr c'est très modeste, et pas du tout comparable à un vrai système d'exploitation, mais tu auras appris plein de choses au passage et tu pourras continuer à t'instruire si cela te plaît et à complexifier ta création.

          Si tu veux faire cela, voilà quelques sources d'informations utiles (en anglais) :
          https://wiki.osdev.org/Main_Page
          et avant de faire quoi que ce soit lis https://wiki.osdev.org/Required_Knowledge et https://wiki.osdev.org/Beginner_Mistakes

          Il y aussi des ressources comme :
          https://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf
          http://www.brokenthorn.com/Resources/OSDevIndex.html

          Dal
          1. Mec, au final, tu dois avoir des bonnes connaissances en I.A, je te conseille de débuter avec c#/c++/Python
            1. Y’a aucunement besoin d’avoir des connaissances en I A pour écrire un OS.
              Et le C# est déjà bien trop la machine....