Partage
  • Partager sur Facebook
  • Partager sur Twitter

OS en python

    7 janvier 2022 à 19:39:19

    Bonjour ! Je suis développeur python, et je réfléchissais à créer un OS.

    Donc je voulais savoir si on pouvait coder de zéro un OS en python.

    Si on ne peux pas, j'irai apprendre les langages le permettant.

    Désolé de ne pas développer mon message, pour toute question, dites-le moi et j'y répondrai.

    -
    Edité par Maeharaaa 7 janvier 2022 à 19:39:37

    • Partager sur Facebook
    • Partager sur Twitter

    Maeharaaa, modélisateur 3D et programmeur Python.

      7 janvier 2022 à 19:48:18

      Sais-tu que Python est un langage interprété?
      Si ton OS est en Python, qui va interpréter ton OS?
      Comment vas-tu accéder et contrôler les périphériques?
      Le coeur d'un système et écrit en assembleur et la plupart des OS sont en grande partie écrits en C++
      • Partager sur Facebook
      • Partager sur Twitter

      Le Tout est souvent plus grand que la somme de ses parties.

        7 janvier 2022 à 20:03:22

        PierrotLeFou a écrit:

        Le coeur d'un système et écrit en assembleur et la plupart des OS sont en grande partie écrits en C++


        ça, ok je le savais déjà. 

        PierrotLeFou a écrit:

        Sais-tu que Python est un langage interprété?


        Tu viens de m'apprendre un truc, je sais pas qu'il était interprété, j'ai du juste mal écouter dans la vidéo formation.

        PierrotLeFou a écrit:

        Si ton OS est en Python, qui va interpréter ton OS?
        Comment vas-tu accéder et contrôler les périphériques?

        je dois trouver des solutions. Je vais chercher des librairies le pouvant, comprendre comment ils ont codé les fonctions en questions puis essayer de les reproduire.

        Sur papier, c'est simple, mais pas sur le terrain. Cela me prendra déjà assez de temps. Merci de ta réponse en tout cas.

        je dois trouver un moyen pour interpréter mon OS, me conseillerais-tu des trucs pour pouvoir l'interpréter ? Si oui, je serai preneur !

        • Partager sur Facebook
        • Partager sur Twitter

        Maeharaaa, modélisateur 3D et programmeur Python.

          7 janvier 2022 à 20:30:28

          En fait, tu ne pourra pas le faire en python, car comme on te l'a expliqué plus haut, c'est un langage interprété, ce qui signifie qu'il doit être "interprété" par un autre programme pour être exécuté (pour faire court le processeur ne peut pas directement exécuter le programme). Et comme un OS doit être directement exécute par le processeur (en tout cas son noyau), on ne peut pas en créer un avec un langage interprété. Au contraire l'assembleur, le C et le C++ sont des langages compilés ce qui signifie qu'ils sont "transformés" en code binaire lisible par le processeur, au moment de la compilation.

          Voilà donc pourquoi il faut utiliser un langage compilé pour créer un OS (tout du moins son noyau, la base du système)

          • Partager sur Facebook
          • Partager sur Twitter
            7 janvier 2022 à 20:31:00

            Le programme qui s'appelle "python" et qui est installé sur ton ordinateur est celui qui est le mieux placé pour interpréter ton programme.
            Il a des fonctions qui interfacent avec l'OS courant (Windows, Linux, MacOS, etc)
            Tu peux toujours écrire ton propre OS mais il sera toujours dépendant du système qui supporte le programme python.

            > grillé ...

            -
            Edité par PierrotLeFou 7 janvier 2022 à 20:33:43

            • Partager sur Facebook
            • Partager sur Twitter

            Le Tout est souvent plus grand que la somme de ses parties.

            Anonyme
              7 janvier 2022 à 21:00:20

              Carrément  un OS ? lol
              • Partager sur Facebook
              • Partager sur Twitter
                7 janvier 2022 à 22:45:41

                devanonyme a écrit:

                En fait, tu ne pourra pas le faire en python, car comme on te l'a expliqué plus haut, c'est un langage interprété, ce qui signifie qu'il doit être "interprété" par un autre programme pour être exécuté (pour faire court le processeur ne peut pas directement exécuter le programme). Et comme un OS doit être directement exécute par le processeur (en tout cas son noyau), on ne peut pas en créer un avec un langage interprété. Au contraire l'assembleur, le C et le C++ sont des langages compilés ce qui signifie qu'ils sont "transformés" en code binaire lisible par le processeur, au moment de la compilation.

                Voilà donc pourquoi il faut utiliser un langage compilé pour créer un OS (tout du moins son noyau, la base du système)


                T'aurais des tutos pour apprendre l'assembleur stp ? J'en trouve pas de potable et n'importe quel assembleur peut faire l'affaire ou un en particulier ?

                ErispoeLeNarvalo a écrit:

                Carrément  un OS ? lol


                Le respect et la courtoisie serait préférée s'il-te-plaît

                -
                Edité par Maeharaaa 7 janvier 2022 à 22:50:40

                • Partager sur Facebook
                • Partager sur Twitter

                Maeharaaa, modélisateur 3D et programmeur Python.

                  7 janvier 2022 à 22:53:35

                  Maeharaaa a écrit:

                  T'aurais des tutos pour apprendre l'assembleur stp ? J'en trouve pas de potable et n'importe quel assembleur peut faire l'affaire ou un en particulier ?


                  Essayez de vous offrir ce bouquin15€ d'occase chez momox... Et vous saurez de quoi on a besoin pour écrire un OS.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    7 janvier 2022 à 23:21:48

                    devanonyme a écrit:

                    En fait, tu ne pourra pas le faire en python, car comme on te l'a expliqué plus haut, c'est un langage interprété, ce qui signifie qu'il doit être "interprété" par un autre programme pour être exécuté (pour faire court le processeur ne peut pas directement exécuter le programme). Et comme un OS doit être directement exécute par le processeur (en tout cas son noyau), on ne peut pas en créer un avec un langage interprété. Au contraire l'assembleur, le C et le C++ sont des langages compilés ce qui signifie qu'ils sont "transformés" en code binaire lisible par le processeur, au moment de la compilation.

                    Voilà donc pourquoi il faut utiliser un langage compilé pour créer un OS (tout du moins son noyau, la base du système)


                    Un compilateur python comme Brython par exemple pourrait marcher ou pas ? Etant donné que c'est un compilateur python.
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Maeharaaa, modélisateur 3D et programmeur Python.

                      8 janvier 2022 à 2:27:54

                      Quel est le micro-processeur sur lequel tu veux écrire ton OS?
                      Si tu fais des recherches avec le mot clé "assembleur" ou "assembler" (en anglais) et le modèle de ton PC, tu devrais pouvoir trouver.
                      Mais comme l'a indiqué mps, il ne suffit pas de savoir coder en assembleur. Écrire un OS est beaucoup plus complexe.
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Le Tout est souvent plus grand que la somme de ses parties.

                        8 janvier 2022 à 12:26:35

                        Maeharaaa a écrit:

                        Un compilateur python comme Brython par exemple pourrait marcher ou pas ? Etant donné que c'est un compilateur python.

                        https://github.com/brython-dev/brython Tu parles de ça? Une implémentation de python3 pour navigateur web, pour toi, c'est pertinent?

                        https://wiki.osdev.org/Beginner_Mistakes

                        https://wiki.osdev.org/Required_Knowledge

                        A Hard Truth

                        No one who isn't already a seasoned developer with years of experience in several languages and environments should even be considering OS Dev yet. A decade of programming, including a few years of low-level coding in assembly language and/or a systems language such as C, is pretty much the minimum necessary to even understand the topic well enough to work in it.

                        Tu viens de découvrir que Python est un langage interprété, clairement tu n'as pas du tout les connaissances et l'expérience pour l'instant pour développer ton propre OS (rassure-toi, on est quasiment tous dans ton cas), encore moins en essayant de faire le maximum en Python. Il faut redescendre sur Terre, et s'orienter vers des objectifs réalistes. Dans quelques années, peut-être que tu seras plus à même de mener un tel projet.

                        -
                        Edité par KoaTao 8 janvier 2022 à 13:40:36

                        • Partager sur Facebook
                        • Partager sur Twitter
                          8 janvier 2022 à 13:20:06

                          KoaTao a écrit:

                          Tu viens de découvrir que Python est un langage interprété, clairement tu n'as pas du tout les connaissances et l'expérience pour l'instant pour développer ton propre OS (rassure-toi, on est quasiment tous dans ton cas), encore moins en essayant de faire le maximum en Python. Il faut redescendre sur Terre, et s'orienter vers des objectifs réalistes. Dans quelques années, peut-être que tu seras plus à même de mener un tel projet.


                          Et ? Je fais ce que je veux. Si je n'y arrive pas, tant pis pour moi. Mais si je veut le faire, je le fait. Même si je ne réussit pas, j'aurai progressé. Donc ne décourage pas les gens comme ça, s'il-te-plaît.

                          Je suis conscient de tout ça, mais je le fait.

                          -
                          Edité par Maeharaaa 8 janvier 2022 à 13:21:29

                          • Partager sur Facebook
                          • Partager sur Twitter

                          Maeharaaa, modélisateur 3D et programmeur Python.

                          Anonyme
                            8 janvier 2022 à 14:01:23

                            Maeharaaa a écrit:

                            KoaTao a écrit:

                            Tu viens de découvrir que Python est un langage interprété, clairement tu n'as pas du tout les connaissances et l'expérience pour l'instant pour développer ton propre OS (rassure-toi, on est quasiment tous dans ton cas), encore moins en essayant de faire le maximum en Python. Il faut redescendre sur Terre, et s'orienter vers des objectifs réalistes. Dans quelques années, peut-être que tu seras plus à même de mener un tel projet.


                            Et ? Je fais ce que je veux. Si je n'y arrive pas, tant pis pour moi. Mais si je veut le faire, je le fait. Même si je ne réussit pas, j'aurai progressé. Donc ne décourage pas les gens comme ça, s'il-te-plaît.

                            Je suis conscient de tout ça, mais je le fait.

                            -
                            Edité par Maeharaaa il y a 38 minutes


                            Ok, bonne chance...
                            • Partager sur Facebook
                            • Partager sur Twitter
                              8 janvier 2022 à 14:23:47

                              La réponse à la question « Est-ce que je peux coder OS en Python » est « Non ! ». Pourquoi ? Parce que la réalisation d'un système quel qu’il soit n'est pas une affaire de langage.

                              C'est comme si tu demandais à un maçon quelle truelle utiliser pour construire une maison... Ça n'a pas de sens.

                              • Partager sur Facebook
                              • Partager sur Twitter
                                8 janvier 2022 à 16:29:24

                                De plus, il ne s'agit pas de construire une maison, mais un gratte-ciel.
                                • Partager sur Facebook
                                • Partager sur Twitter

                                Le Tout est souvent plus grand que la somme de ses parties.

                                  9 janvier 2022 à 11:48:29

                                  КK a écrit:

                                  La réponse à la question « Est-ce que je peux coder OS en Python » est « Non ! ». Pourquoi ? Parce que la réalisation d'un système quel qu’il soit n'est pas une affaire de langage.

                                  D'un coté, ça l'est. Tu ne peux pas créer un système juste en faisant des clicks, en rassemblant des choses et deux-trois lignes de programmation, il en faut bien plus.

                                  Après là, je pense m'orienter sur un "OS" tournant sur un autre parce que j'ai des problèmes avec NASM pour pouvoir apprendre l'assembleur, donc j'y réfléchis encore de comment j'arriverais à régler ce problème.

                                  -
                                  Edité par Maeharaaa 9 janvier 2022 à 11:50:07

                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Maeharaaa, modélisateur 3D et programmeur Python.

                                    9 janvier 2022 à 11:58:04

                                    Je pense que de passer à Python à la programmation bas niveau / assembleur , est assez ardu et je suis gentil ! :D

                                    D'ailleurs faire un OS n'est pas vraiment un soucis du langage, l'assembleur ou le C , c'est la partie "facile".
                                    C'est surtout les grosses connaissance en hardware et en système d'exploitation qui est bien plus complexe.
                                    Et manque de pot , le PC est sûrement une des architectures matériel les plus complexes.
                                    Et encore manque de pot ,tu ne pourra jamais faire un OS réellement complet dessus avec un niveau débutant , déjà parce que c'est compliqué mais le PC n'a pas beaucoup de sortie standard pour certain périphérique , donc sauf si tu code tout les drivers du monde, tu n'ira pas plus loin qu'un "Dos-like" au mieux :p

                                    -
                                    Edité par HelbaSama 9 janvier 2022 à 12:01:07

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      10 janvier 2022 à 15:09:56

                                      https://fr.wikihow.com/cr%C3%A9er-un-syst%C3%A8me-d%27exploitation-pour-ordinateur (j'ai du mal avec le point 1-2 qui parle de python puis de c et c++ mais bon)
                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      OS en python

                                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                      • Editeur
                                      • Markdown