Accueil » Uncategorized » Un tuto RTOS Raspberry PI

Un tuto RTOS Raspberry PI

L’université de Cambridge propose depuis peut un tuto sur la programmation d’un RTOS pour Raspberry PI. Alors premier point, oui Cambridge à un centre de recherche sur l’informatique reconnue internationalement avec des Geek et des Geekettes dedans. Et un RTOS c’est Real-time Operating Systemes (Parle bien l’anglais…hein?): C’est en faite un OS ( comme windows, linux…) optimiser pour les ordinateur qui ont très peut de ressource (ici le raspberry). En gros un OS exécute toute ces tâche en même temps (ressource pratiquement illimité), et l’RTOS lui exécute ces tâche en temp réel.

Bref si vous speaker un peut l’anglais et que vous voulais vous faire votre propre RTOS, c’est ICI

Publicités

2 commentaires

  1. Nico dit :

    Cette définition d’un système temps réel (RTOS) est un peu étrange.

    1) Tout d’abord l’ordinateur ne devient pas plus rapide ni plus « puissant ».
    Un coeur de processeur à 700Mhz effecturera toujours le même nombre d’opération par seconde (MIPS = Millions d’instructions par seconde) quel que soit le système d’exploitation.

    2) Il n’execute pas non plus toutes les tâches en même temps : ce n’est pas un multicoeur !
    Un coeur de processeur ne peut à un moment donné executer qu’une seule tâche (nommé processus) à la fois.
    S’il y a 4 coeurs dans le processeurs alors 4 processus seront executés en parallèle.

    3) Ce qu’on appelle le multitâche sur un système d’exploitation est le fait d’interrompre périodiquement le coeur de processeur pour changer le processus.
    Exemple : 10 processus fonctionnent sur un processeur doté d’un seul coeur.
    Pour faire simple, nous dirons que tous ces processus ont besoin de 30 secondes de calcul chacun.
    Un processus est une exécution d’un programme. Lancer un calculatrice est un processus. Lancer Word est un autre processus. Lancer 5 navigateurs Firefox, c’est 5 processus.
    Les 10 processus de l’exemple, on donc besoin de 10*30 secondes soit 300 secondes pour tous se terminer. Il n’y a qu’un seul coeur dans le processeur donc on peut soit les executer les uns après les autres : c’est le monotache (comme MS DOS).
    On peut aussi découper le temps en quantum. Par exemple 1 seconde représente 10 000 quantums.
    Ensuite on réparti équitablement (ou en fonction des priorités données aux processus) ces différents quantums et on fait tourner tous les processus dans une file d’attente…
    Ce programme qui est charger de partager le coeur (ou les coeurs) d’un (ou de plusieurs) processeur(s) est nommé ordonnanceur de tâche (task scheduler). C’est un composant du système d’exploitation.

    Un OS classique genre Windows, Linux ou Mac OS prend les tâches les unes après les autres et les fait tourner d’après les priorités données par l’utilisateur… (sous linux, la commande top affiche une colonne « PR » qui indique cette priorité)

    La différence d’un RTOS avec un OS classique est qu’il est capable de gérer en plus de cela des contraintes de temps.
    Il est donc capable de gérer son ordonnanceur de tâche afin de gérer des dates limites.
    Exemple : Un ordinateur gère la pompe cardiaque d’un patient.
    60 fois par seconde A INTERVALE DE TEMPS REGULIER (DONC CHAQUE SECONDE DE MANIERE PRECISE), l’ordinateur doit déclancher la pompe cardiaque pour envoyer le sang.
    Si l’infirmière joue au freecell ou demande d’autres tâches à cet ordinateur, ce dernier ne pourra pas répartir ces tâches équitablement.
    Toute les secondes l’ordinateur doit envoyer le sang et peut importe les autres taches et même leur nombre…
    Il ne s’agit plus de priorité entre les processus mais de contraintes temporelles à respecter.
    Autrement dit, le Freecell et la souris de l’infirmière planteront chaque seconde même si elle lance 50 freecell !
    Un RTOS est très contraignant pour une utilisation classique.
    Toujours dans l’exemple donné, si l’infirmière lance un freecell, elle doit aussi dire au système d’exploitation à quel date se terminera la partie…
    Un RTOS est capable de « freezer » vos logiciels pendant secondes s’il a des contraintes à respecter… Il peut faire planter une visioconférence pour aller voir si vous avez recu un nouveau mail car vous lui avez dit de le faire toutes les 5 secondes…

    Bref le RTOS n’est pas mieux qu’un OS classique. Il est simplement adapté à certains besoins comme celui de générer des signaux électroniques à une fréquence fixée… Un OS classique passera de 2.4994 Mhz à 2.60 Mhz… Il ne sera pas très regardant sur la précision…
    Un RTOS préférera faire sacader votre souris ou votre jeu favoris mais 2.4994 Mhz ca sera toujours 2.4994 Mhz !

  2. marcoleptic dit :

    Merci nico, c’est vrais que mon explication sur les RTOS est très étrange (je voulais l’expliquer sur quelques ligne et c’est pas fameux). Je voulais donner un exemple d’RTOS avec DUINOS mais pas le temps et surtout ils ont pas mal de problèmes sur leur site. En tout cas merci.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :