Linux temps réel sur un Live CD

Posté par  . Modéré par rootix.
Étiquettes : aucune
0
21
oct.
2004
Communauté
Un utilisateur de RTAI, le fameux patch linux temps réel dur en GPL, a sorti un Live CD permettant de tester sa plateforme en démarrant sur un CD.

Différents tests peuvent être effectués (espaces noyau et utilisateur avec LXRT) et il est possible d'envoyer les résultats sur une base en ligne pour alimenter et enrichir une base de données de résultats.

Voilà une bonne occasion de tester RTAI. L'annonce de Panagiotis Issaris sur la liste de diffusion :

Hi,

I've created a simple RTAI LiveCD (16MB), which through a series of menus, guides the user to run the RTAI testsuite and submit the results and system configuration information to an Internet database.

I've created a webpage for this LiveCD, including a HOWTO illustrated with screenshots and a webpage listing the results. PCI device information is also avaible for each testrun.

Any feedback and/or testresults are appreciated!

http://issaris.homelinux.org/~takis/projects/rtai/

The current version uses RTAI 3.1 with Linux 2.6.7 and ADEOS r8c4.

The webpage does not contain many queries yet; you can only list all submitted testresults and view device information for each testresult.

I'm about to add a query to show all testresults when a user enters a keyword. Such that if one queries for "845", he will receive the testresults for PC's using "Intel 82845 845 (Brookdale) Host Bridge".

With friendly regards,
Takis


NdR: voici une traduction "rapide" pour les lecteurs ne comprenant pas l'anglais.

Bonjour,

J'ai crée un LiveCD de 16MB basé sur RTAI qui à travers une série de menus, guide l'utilisateur dans l'exécution d'une série de tests pour RTAI et permet ensuite l'envoi sur un site internet du résultat des tests et le détail de la configuration utilisée.

Une page web concernant ce LiveCD est disponible. On peut y trouver un HOWTO illustré de saisies d'écran. Une deuxième page permet de consulter l'ensemble des résultats accompagné des informations concernant le matériel PCI utilisé pour le test.

Tout retour et/ou résultats de tests sont les bienvenues!

La version disponible utilise RTAI 3.1, Linux 2.6.7, ADEOS r8c4.

La page web ne permet pas encore de recherche complexe; vous pouvez juste lister la totalité des résultats ainsi que les informations matérielles associées.

Je suis sur le point d'ajouter la possibilité de rechercher en fonction de mots clefs. Ainsi une recherche sur le mot clef "845" retournerait les résultats de tests ayant été faits sur du matériel incluant le chipset "Intel 82845 845 (Brookdale) Host Bridge".

Cordialement.
Takis

Aller plus loin

  • # Performances.. ?

    Posté par  . Évalué à 0.

    Bonjour !

    Ce patch temps réel permert vraiment d'atteindre des performance dignes des monts de wahlala ?
    • [^] # Re: Performances.. ?

      Posté par  . Évalué à 4.

      Un système temps réel dur a de manière générale des performances moindres qu'un système généraliste sur la même machine.

      Par contre, il a des performances garanties.
    • [^] # Re: Performances.. ?

      Posté par  . Évalué à 1.

      Oui, j'ai fait des tests poussés, c'est un concurent sérieux de VxWorks.
  • # a propos du temps réel

    Posté par  . Évalué à 2.

    salut!

    je me demandais l'intérêt du temps réel?
    A chaque fois que l'on m'a expliqué, on me parlait de systèmes embarqués. (ex: un missile qui doit avoir une réponse à tout prix pour prendre une décision à propos de sa trajectoire...)
    Alors dans l'immédiat, où est l'intérêt d'avoir un système temps réel sur CD-Rom?

    De plus, pourquoi est-ce qu'il faut patcher le noyau linux pour qu'il soit temps réel?
    Ce la ne peut-il pas être intégré au noyau? (ça fait déjà un moment que j'en ai entendu parlé!)

    On m'a dit que WinNT est temps réel, mais pas les autres win$.
    Qu'en est-il des OS BSD?

    Merci pour vos réponses,
    Stryge
    • [^] # NT un os temps réel ??? c louche !

      Posté par  (site web personnel) . Évalué à 3.

      alors, un os temps réel c'est etre capable de prouver qu'une partie de ton prog va mettre moins de x ms pour s'éxécuter.

      pkoi les missiles ? parce que c'est très important la dessus !
      t'imagine un missile lancer un defrag alors qu'on lui a dit de pas exploser finalement ?
      t'imagine qu'il mette 500 ms à traiter la requete "explose pas et rentre chez toi" et que du coup il explose ?

      mais sur le desktop c sur que ca sert pas à grand chose un OS temps réel.

      l'intéret d'un cd RT alors, c'est de pouvoir développer (et teste) ton prog RT sans installer de noyau patché.

      si c'est pas intégré dans le noyau c'est parce que ca ralentit quand meme les perfs (tu connait le temps d'éxécution mais au global tu perds du temps).
      en plus, ca marche pas sur une centaine de processus, ca t'en met que quelques uns en priorité temps réel sinon c pas fiable.
    • [^] # Re: a propos du temps réel

      Posté par  . Évalué à 2.

      "Alors dans l'immédiat, où est l'intérêt d'avoir un système temps réel sur CD-Rom?"
      l'intéret ici est simplement de tester le système. mais on pourait envisager une utilisation dans l'industrie.

      "De plus, pourquoi est-ce qu'il faut patcher le noyau linux pour qu'il soit temps réel?"
      Le temps réel et le temps partagé sont 2 principes totalement différents et l'intégration dans le noyau demande pas mal de modif.

      "On m'a dit que WinNT est temps réel, mais pas les autres win$.
      Qu'en est-il des OS BSD?"

      WinNT n'est pas temps réel.
      a ma connaissance le seul système tps réel de M$ est Windows CE.

      je ne sais pas si il existe des forks tps réele pour BSD mais un des système temps réele le plus connue est QNX.

      et il existe un LiveCD de QNX aussi.

      lutinfoo
    • [^] # Re: a propos du temps réel

      Posté par  (site web personnel) . Évalué à 2.

      alors : NT n'est pas un OS temp reel! tu trouve des OS temp reel dans des endroits tel que les systémes embarques des avions!

      Imagine un avion dans lequel l'ordinateur gererait toutes les commandes de pilotage (electronique) et les demandes des passagers tels que les chaines de tele de radio la clim personnalisé et tout le reste! Maintenant pour bien comprendre ce qu'est un OS temp reel il faut le comparer a un OS normal!
      avec un OS normal : le pilote amorce la descente pour son atterrissage dis gentiment aux passagers de rien toucher. mais la t'a le passager du rang 8 de la premiére classe qui si dit qu'il a trop chaud et donc il baisse la clim! l'OS de l'avion prend ca en compte lance un petit calcul prenant 2 minutes pour regler la puissance de la clim en fonction de tout les autres passagers!pendant ce calcul il voit arriver les demandes du pilote mais ne gerant pas les priorités de processus il mets les demande du pilote en attente. Puis apres avoir fini ce calcul il rend la main au pilote en lui disant maintenant c'est bon je t'ecoute que dois faire faire a l'avion! Helas le pilote et ses 800 passagers sont deja en train de nager avec les poissons! :s

      Avec un OS temp reel : Meme scenario avec le passager du 8eme rang (toujours lui) l'os voit arriver la demande de changement de climatisation commence son long calcul puis il voit arriver une demande du pilote! Et la il sait que ca vient du cockpit et donc il met en attente le passager du 8eme et sa clim pour faire ce que veux le pilote! Une fois ceci fait il recommence tranquillement son calcul sur la clim! Et les passagers arrivent vivant mecontent d'avoir eu trop chaud a cause du passager du 8eme rang mais vivant!

      Voila donc en gros un OS en temp reel sait gerer des priorités d'execution en temp reel! c'est tres utile pour le calcul paralléle pour des applications comme les avions mais pour nous avec la puissance des processeurs actuels c'est pas vraiment utile!

      Pour NT il s'approche de ces resultats en decoupant tout les calculs par petit bout et donc en "partageant" la puissance du processeur entre tout les processus! on peut remarquer ce passage lors d'un formatage de disquette : sous 95 et 98 tu formatais ta disquette et c'est tout! maintenant tu formate ta disquette et tu peu qd meme faire des choses a coté! ca s'assimile plus a du multi-tache qu'a du temp reel!!

      Voili voilou!
      • [^] # Re: a propos du temps réel

        Posté par  . Évalué à 1.

        Tout a fait exact. Sauf que dans l'aviation ca m'étonnerait qu'ils utilisent RTAI qui est encore instable et en développement. :-)
        En revanche dans le monde de la recherche, je connais un projet de grande envergure qui essaye de développer une solution basée sur Linux-RTAI.
        http://www.eso.org/projects/alma/(...)
        Chaque antenne est pilotée par un PC de type industriel, tous les PC sont synchronisés par un signal de temps externe afin que toutes les antennes se mettent en mouvement de manière synchrone. Sans OS temps réel, et bien les interruptions sur les cartes réseaux, sur les controleurs IDE, les autres taches en cours d'execution, etc. vont mettre la pagaille et la synchronisation ne sera pas parfaite.
        • [^] # Re: a propos du temps réel

          Posté par  . Évalué à 1.

          RTAI est stable.
          Et il est encore en développement tout comme Linux, cela ne veut pas dire qu'il n'est pas terminé, mais qu'il évolue.
        • [^] # Re: a propos du temps réel

          Posté par  . Évalué à 2.

          Oui, tout à fait!
          je me rappelle du chercheur qui m'a fait la démo lors d'un salon à Grenoble!
          C'était génial, il y avait un pc 104 qui gérait des robot rebresantant les moteurs des téléscopes et il envoyait les commandes depuis un banal pc (sous Kde) avec un bus CAN! et pour montrer le déplacement du téléscope il avait mis une boîte à meuu qui se reversait ! J'étais sidéré, voir autant de technologies(bus CAN, temps réel sous linux embarqué, pc104 ..) que je voyait que dans des livres!
          Je ne sais pas si ce Monsieur lis les forum de linuxfr, mais en tout cas je voudrais le remercier de m'avoir conforter dans mon choix de formation: l'informatique industrielle .
      • [^] # Re: a propos du temps réel

        Posté par  . Évalué à 1.

        Plop :)

        Je trouve que ta description ne va pas assez loin... :)

        La différence MAJEURE entre un noyau temps réel et temps partagé est que, dans le premier cas, un processus ayant la priorité la plus forte dispose d'une priorité ABSOLUE (y compris sur le noyau tel que nous connaissons...)

        Parce que dans un noyau à temps partagé, il existe aussi des priorités, mais elles sont STATISTIQUES, il est donc IMPOSSIBLE de garantir un temps d'exécution...

        Voilà Voilà Voilà...

        Sinon, concernant d'autres exemples... il n'y a pas que les missiles... et ce n'est pas toujours une histoire de micro-secondes... c'est juste que le résultat doit arriver IMPÉRATIVEMENT avant une certaine date :)

        Les freins et les volants sur les toutes dernières voitures (je ne crois pas que les constructeurs les aient mis en vente... mais le stade de proto est dépassé...)

        Il y a aussi la météo, ça ne se joue pas à QQ ms... mais en général, on aime bien avoir le résultat d'une prédiction météo AVANT l'échéance :)
        • [^] # Re: a propos du temps réel

          Posté par  (site web personnel) . Évalué à 2.

          Bah le but etait d'expliquer l'idée du fonctionnement d'un systéme temp reel! c'etait plus imagé que realiste! Parce que je suis pas sur que de parler de priorité secondaire primant sur les priorités natives avec des regles de distribution pour l'utilisation des ressources processeurs permette de vrt bien comprendre un systéme temp reel! Et encore moins si on se lance dans le temp reel multi processeur pour faire du calcul parallele (tres utile en math et physique)! ;)
    • [^] # Re: a propos du temps réel

      Posté par  . Évalué à 2.

      Alors dans l'immédiat, où est l'intérêt d'avoir un système temps réel sur CD-Rom?
      A mon avis, l'intérèt est surtout démonstratif, ça doit pas mal pousser dans le bon sens au moment de choisir un OS temps réel, ce genre de petit truc vite utilisable; et statistique, avec la base de données en ligne.
      De plus, pourquoi est-ce qu'il faut patcher le noyau linux pour qu'il soit temps réel?
      Ce la ne peut-il pas être intégré au noyau? (ça fait déjà un moment que j'en ai entendu parlé!)
      Un système temps réel et un système généraliste poursuivent deux buts bien différents :
      Le système généraliste souhaite une bonne performance dans le cas moyen et accepte un risque de surcharge ou de ralentissement, tandis qu'un système temps réel dur veut une performance garantie dans le pire des cas, en se souciant peu de la performance moyenne.

      Pour les autres systèmes, il existe des OS temps réel sous NT, mais je ne connais pas, et FSMLabs a sorti RTCore/BSD. Le tout est du proprio, à ma connaissance.
      • [^] # Re: a propos du temps réel

        Posté par  . Évalué à 1.

        Pour qu'un système soit temps réel, le kernel doit être préemptible. Sous NT, ce n'est pas possible. Les solutions propriétaires qui existent sont souvent basés sur des cartes externes. Et on n'a pas accés aux drivers Windows. L'interet est donc proche de zéro.

        Les autres OS temps réels sont :
        VxWorks,
        LynxOS,
        Windows CE (??)
        pSos
        vrtx
        et beaucoup beaucoup d'autres ...

        A noté que dans certaines applications très critiques comme l'aviation, il arrive qu'on n'utilise pas d'OS. C'est un autre moyen de garantir l'aspect temps réel.
        • [^] # Re: a propos du temps réel

          Posté par  . Évalué à 1.

          NT n'est pas temps réel, mais il peut s'appuyer sur un micro-noyau temps-réel, qui ne lui laisse la main que quand bon lui semble, tout comme linux.
          • [^] # Re: a propos du temps réel

            Posté par  . Évalué à 1.

            Le module LXRT de RTAI permet de faire du temps réel dans l'espace user de Linux.

            Si tu veux parler de RTX pour Windows, ça n'est pas vraiment comparable, car contraitement à RTAI, tu es complétement décorélé du noyau. Avec RTAI, tes modules RTAI sont des comme "drivers" Linux, donc liés au kerne. En gros, tu utilises RTX mais tu n'as quasiment aucun moyen de dialoguer avec l'OS.

            De plus, rtx ne permet pas de faire du temps réel dur, ni avec Windows ni avec Linux.

            Donc, si tu connais d'autres solutions technique pour faire du temps réel sous Windows, ça m'interesse de les connaitre.

            Pleiades.
            • [^] # Re: a propos du temps réel

              Posté par  . Évalué à 1.

              J'avais entendu parler de ça : http://www.tenasys.com/intime.html(...)
              • [^] # Re: a propos du temps réel

                Posté par  . Évalué à 1.

                En fait ça rajoute une machine virtuelle temps réel. Cet "os" n'est pas linké au noyau comme dans le cas de RTAI, on a deux os différents avec quelques moyens de communication.

                Avec RTAI et LXRT, on peut faire du temps réel dans l'espace utilisateur de Linux.

                De plus, j'ai pas l'impression qu'on ait des garanties de temps réel dur avec ça.
                • [^] # Re: a propos du temps réel

                  Posté par  . Évalué à 1.

                  Ils ont pourtant bien l'air de dire qu'ils sont hard real time

                  Un petit coup d'oeuil sur http://www.tenasys.com/intime_dev.html(...) t'aurait montré que la partie temps-réel est quand même pas mal accessible depuis la partie NT.

                  Ceci dit, je suis pas du tout fan du RT sous NT, bien au contraire. Je penche beaucoup plus pour RTAI, et surtout pour Xenomai, dont j'ai même développé un ( petit ) bout.
          • [^] # Re: a propos du temps réel

            Posté par  . Évalué à 1.

            NT n'est pas temps réel, mais il peut s'appuyer sur un micro-noyau temps-réel, qui ne lui laisse la main que quand bon lui semble, tout comme linux.

            Exactement, j'utilise un soft en automation (Beckhoff Twincat pour ne pas le citer) qui permet cela. Un processus prend la main sur le kernel NT et distribue les ressources du processeur avec des priorités bien définies. La dessus, on émule un automate qui dispose alors d'un processeur hyper-puissante par rapport à une CPU industrielle classique. Mais NT n'est absolument pas RT.
    • [^] # Re: a propos du temps réel

      Posté par  . Évalué à 1.

      L'interet de l'avoir sur CDROM est triple :
      - Pour faire une démo.
      - Pour vérifier, qu'a priori, ta plateforme ne pose pas de problèmes temps réel ne carte mère mal foutue peut t'empécher de faire du temps réel.
      - Tu peux avoir une plateforme sans disque dur, tu boots sur le CD et ton système temps réel est en place.

      A la base, Linux n'est pas temps réel car le noyau ne peut pas être pré-empté. Il faut donc patcher le noyau pour lui rajouter cette fonctionnalité. Toutes les interuptions passent d'abord par la partie RTAI, si un des modules temps réel a besoin de cette IT, elle lui est transféré, sinon elle est renvoyée au noyau linux qui bosse normallement.

      Winnt n'est pas, et ne sera jamais, temps réel. BSD je ne sais pas, mais je ne pense pas.
  • # New version available

    Posté par  . Évalué à 2.

    Hi,

    My apologies for not posting in French. My next postings will be in French
    as soon as I reviewed my grammar :-)

    There's a new version of the LiveCD available including RTAI Fusion.

    With friendly regards,
    Takis

Suivre le flux des commentaires

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