Forum Linux.embarqué OpenMoko, smartphone, etc. Et Linux ?

Posté par  .
Étiquettes :
0
11
juil.
2008
Bonjour. Je me pose depuis certain la question de l'utilisation de Linux dans les périphériques embarqués.

J'utilise Debian GNU/Linux sur un PC uniquement, et j'ai toujours du mal à comprendre comment il est possible que ce même système d'exploitation fonctionne à la fois sur des smartphone et sur des calculateurs géants, en passant par le PC standard.

Je voudrai donc savoir comment il est possible que Linux fasse preuve d'une telle souplesse.

Notamment, pouvez vous m'expliquer s'il y a une raison concernant l'architecture du code de ce logiciel qui le rend portable sur autant d'appareils.

Merci beaucoup.
  • # modularité

    Posté par  . Évalué à 3.

    il n'y a d'ailleurs pas que linux qui soit autant portable (ex netbsd... : pour l'anecdote http://www.embeddedarm.com/software/arm-netbsd-toaster.php )

    Le fait que linux soit très modulaire (serveur graphique, noyau), permet de ne mettre ce qu'il faut sur ces types de machines. http://fr.wikipedia.org/wiki/Noyau_de_système_d'exploitation

    Il y a également tous les contributeurs qui travaillent sur linux et les interfaces graphiques qui permettent d'avoir autant d'archi supportées.

    Mais pour les interfaces des gens doués comme Trolltech (QT, qtopia), ou Rasterman (E17) qui travaillent sur les interfaces utilisateurs pour appareils embarqués (rasterman travaille pour openmoko maintenant je crois)

    Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

  • # gcc

    Posté par  . Évalué à 2.

    Il ne faut pas non plus oublier que gcc rend linux assez portable, parce que ce compilo possede lui meme de nombreux backends !
    • [^] # Re: gcc

      Posté par  . Évalué à 2.

      Justement, je me demandais à quel moment l'utilisation des cibles disponibles à la compilation pour GCC cède le pas à la modularité de Linux.

      Il doit bien y avoir une partie du code de Linux qui se retrouve quelque soit la machine cible, et qui est portable quel que soit la cible, pourvu qu'il y ait un backend GCC. Je me demande quelle est elle.

      Merci.
      • [^] # Re: gcc

        Posté par  . Évalué à 2.

        La très grande majorité du code de linux est commune à toutes les architectures. Ce qui est "spécifique" à chaque machine est souvent des drivers pour du matériel propre à la machine. Mais c'est codé en C, donc ça pourrait être compilé pour n'importe quelle autre machine, si elle avait ce matos. Les parties complètement spécifiques à une archis sont celles codées en assembleur, mais c'est une infime partie du code, généralement pour de l'initialisation bas niveau, des routines de synchronisation utilisant des instructions spécifiques, et les primitives d'entrée/sortie pour les périphériques.
    • [^] # Re: gcc

      Posté par  . Évalué à 2.

      Justement, je me demandais à quel moment l'utilisation des cibles disponibles à la compilation pour GCC cède le pas à la modularité de Linux.

      Il doit bien y avoir une partie du code de Linux qui se retrouve quelque soit la machine cible, et qui est portable quel que soit la cible, pourvu qu'il y ait un backend GCC. Je me demande quelle est elle.

      Merci.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.