Introduction aux syst'emes embarqu es temps r eel

La page est créée Fabien Daniel
 
CONTINUER À LIRE
Introduction aux syst'emes embarqu es temps r eel
Introduction aux systèmes embarqués temps réel

                   Systèmes embarqués temps réel – GIF-3004
                          Professeur : Christian Gagné

                             Semaine 1 : 10 janvier 2017

SETR – GIF-3004 (U. Laval)         Introduction aux SETR         C. Gagné   1 / 20
Introduction aux syst'emes embarqu es temps r eel
Qu’est-ce qu’un système embarqué ?

     Système embarqué : système informatique autonome utilisé pour des
     tâches précises dans un système électronique ou mécanique plus
     vaste, comportant souvent des contraintes de temps réel
     Systèmes embarqués sont omniprésents
        I   Automobile
        I   Avionique et aérospatiale
        I   Électroménagers
        I   Électronique domestique (téléviseurs, réseautique, consoles de jeu)
        I   Téléphones intelligents
     90 % des microprocesseurs sont fabriqués comme des composantes de
     systèmes embarqués
     Objets interconnectés (Internet-of-Things) offrent des perspectives
     prometteuses
        I   Maisons et villes intelligentes
        I   Systèmes de transport intelligents
        I   Capteurs personnels
 SETR – GIF-3004 (U. Laval)         Introduction aux SETR                 C. Gagné   2 / 20
Introduction aux syst'emes embarqu es temps r eel
Exemples de systèmes embarqués

                        Domaine public, http://history.nasa.gov/diagrams/ad019.gif

 SETR – GIF-3004 (U. Laval)               Introduction aux SETR                      C. Gagné   3 / 20
Introduction aux syst'emes embarqu es temps r eel
Exemples de systèmes embarqués

                   Tiré de http://www.chipsetc.com/computer-chips-inside-the-car.html

 SETR – GIF-3004 (U. Laval)               Introduction aux SETR                          C. Gagné   4 / 20
Introduction aux syst'emes embarqu es temps r eel
Exemples de systèmes embarqués

                   Tiré de https://www.quora.com/Are-Airbus-planes-that-easy-to-pilot

 SETR – GIF-3004 (U. Laval)               Introduction aux SETR                          C. Gagné   5 / 20
Exemples de systèmes embarqués

                   Domaine public, https://en.wikipedia.org/w/index.php?curid=35958088

 SETR – GIF-3004 (U. Laval)               Introduction aux SETR                          C. Gagné   6 / 20
Exemples de systèmes embarqués

    Par Android Open Source project, CC BY 2.5, https://commons.wikimedia.org/w/index.php?curid=52569362

 SETR – GIF-3004 (U. Laval)                Introduction aux SETR                            C. Gagné      7 / 20
Historique des SETR
     Années 1960 : systèmes de guidage
        I   Systèmes de guidage des missiles Minuteman (1961) et Minuteman II
            (1966)
        I   Systèmes de guidage des capsules Apollo (1966)
        I   On fortement contribué au développement de circuits intégrés
     Années 1970 : premiers microprocesseurs et microcontrôleurs
        I   Intel 4004 (1971) : microprocesseur conçu pour calculatrices et autres
            petits dispositifs
        I   Texas Instrument TMS 1000 (1974) : premier microcontrôleur,
            combinant un microprocesseur, de la mémoire et des lignes
            d’entrée/sortie
     Années 1980-1990 : développement des systèmes d’exploitation
        I   QNX (1982) : système d’exploitation temps réel commercial, reconnu
            pour sa stabilité
        I   VxWorks (1987) : un autre système d’exploitation temps réel
            commercial
        I   Linux (1991) : clone de Unix, open source
 SETR – GIF-3004 (U. Laval)        Introduction aux SETR               C. Gagné   8 / 20
Système temps réel

     Système temps réel : système matériel ou logiciel sujet à des
     contraintes temps réel
        I   Par exemple, de devoir répondre en deçà d’une certaine période de
            temps à certains événements
     Fonctions fondamentales d’un système temps réel
        I   Collecte d’information (capteurs, communications)
        I   Actions du système sur son environnement (actuateurs)
        I   Interactions humain-machine (assister les opérateurs)
     Exigences temporelles
        I   Exigences associées à interactions humain-machine faciles à respecter
        I   Exigences provenant d’une boucle de contrôle sont beaucoup plus
            contraignantes

 SETR – GIF-3004 (U. Laval)        Introduction aux SETR                 C. Gagné   9 / 20
system.
ExempleTheboucle   deObject.
           Controlled contrôle
                             Assume that the system of Fig. 1.3 is in equilibrium.
          Whenever the steam flow is increased by a step function, the temperature of the
          liquid in the vessel will change according to Fig. 1.4 until a new equilibrium is
          reached. This response function of the temperature in the vessel depends on the
          environmental conditions, e.g., the amount of liquid in the vessel, and the flow of
      Exemple   d’un système avec boucle de contrôle
          steam through the heat exchanger, i.e., on the dynamics of the controlled object.
        I Objet contrôlé : cuve contenant un liquide
          (In the following section, we will use d to denote a duration and t to denote an
        I Capteurs
          instant, i.e.,: atempérature
                             point in time).de la cuve et flot de vapeur
         I   Actuateur : valve modifiant le débit de vapeur
                          set point selected
                                                          controlling computer system
                            by an operator
                                                           temperature                     control valve
                                                           sensor                          for steam flow
                                                                                           flow sensor
                                                                                           steam pipe
                                                                                      F
                                         controlled
                                         object

                 Tiré de Hermann Kopetz. Real-time systems : design principles for distributed embedded applications.
             Fig. 1.3 A simple control loop
                                          Springer Science & Business Media, 2011.
                                                             temp.

                                                                     temperature of liquid
                                                           90%
  SETR – GIF-3004 (U. Laval)                   Introduction aux SETR                                  C. Gagné      10 / 20
temperature                         control valve
                                                                sensor                              for steam flow
                                                                                                    flow sensor

Variabilité des délais                        controlled
                                                                                            F
                                                                                                    steam pipe

                                                object

                        Fig. 1.3 A simple control loop
        Délai et temps de montée de la boucle de contrôle

                                                                  temp.
                                                                          temperature of liquid
                                                                90%

                                                                10%
                                                                                                                     real-time
                                                                              dobject       drise
                                                                  on
                        Fig. 1.4 Delay and rise time                                                steam flow
                        of the step response                      off

        Variabilité   (jitter) dans le délai de traitement 9
               1.3 Temporal Requirements

                   Fig. 1.5 Delay and delay                     observation of the                  delay jitter:
                   jitter                                       controlled object                   variability of the delay Δd
                                                                                        delay dcomputer output to real-time
                                                                                                        the acutator

        Variabilité
               Table 1.1du    délai
                         Parameters         est une
                                    of an elementary            source d’incertitude dans les mesures,
                                                     control loop
               Symbol     Parameter                    Sphere of control 1 TheRelationships
        comparativement
               d
                  10
                    object              à delay
                          Controlled object  un délai Controlledconnu
                                                                  object    constant
                                                                               Real-Time Environment
                                                                              Physical process
                   driseFig. 1.6 Rise time of
                                 The effect ofstep
                                               jitterresponse   Controlled object                      Physical process
                                                                              temp.

                   dsample       Sampling
                        on the measured    periodT
                                         variable               Computer                               dsample < < drise
                   dcomputer     Computer delay                 Computer
                                                                  additional
                                                                                                       dcomputer < dsample
                                                                                                                         dT(t)
                   Ddcomputer Jitter of the computer delay      measurement
                                                                Computer                               Ddcomputer ΔT
                                                                                                                  < =< ddt computer

                   ddeadtime     Dead time                          error ΔT
                                                                Computer  and controlled               dcomputer + dobject
                                                                   object
                                                                                                jitter Δd                real-time

Figures tirées de Hermann Kopetz. Real-time systems : design principles for distributed embedded applications.
                     time for performing the calculations, the computer delay is determined by the time
Springer Science & Business
                        1.3.3forMedia,
                     required    Minimal 2011.
                                            Error-Detection
                                  communication                  Latency
                                                  and the reaction time of the actuator.
   SETR – GIF-3004       (U. Laval)
                     Parameters  of a Control Loop. Table 1.1Introduction
                                                                summarizes theaux  SETR
                                                                                temporal parameters that   C. Gagné                  11 / 20
Temps réel dur et doux

     Système temps réel dur : doit toujours produire le résultat attendu au
     moment approprié
        I   Plus permissif sur les contraintes avec temps réel doux
     Caractéristiques et comparaison
       Caractéristique           Temps réel dur                  Temps réel doux
       Temps de réponse          Temps        court          et   Temps plus long et man-
                                  échéances strictes             quement     d’échéances
                                                                   toléré
       Performance à charge      Prévisible                      Dégradation possible
       maximale
       Cadence de contrôle       Dictée par l’environne-         Dictée par l’ordinateur
                                  ment
       Sûreté                   Souvent critique                 Non-critique
       Taille des fichiers de     Petite/moyenne                   Grande
       données
       Redondance                 Active                           Points de reprise (check-
                                                                   pointing)
       Intégrité des données   Court terme                      Long terme
       Détection d’erreurs       Autonome                         Assisté par l’usager

 SETR – GIF-3004 (U. Laval)           Introduction aux SETR                          C. Gagné   12 / 20
Sûreté de fonctionnement (dependability)
     Fiabilité : probabilité qu’un système offrira service jusqu’au temps t,
     sachant qu’il est opérationnel au temps t0
     Sûreté : fiabilité d’un système relativement à l’atteinte d’un état
     d’échec critique
        I    Faute maligne : mène à un état d’échec critique
        I    Faute bénigne : peut être réparée
     Maintenabilité : temps nécessaire pour réparer un système après une
     faute bénigne
     Disponibilité : fraction du temps où un système est en service
                                                    MTTF      MTTF
                              disponibilité
       1.5 Classification of Real-Time Systems =             = 13
                                                 MTTF + MTTR  MTBF
        Fig. 1.7 Relationship           up                  failure     repair       failure
        between MTTF, MTBF and               system state                 MTBF
        MTTR                                                     MTTR        MTTF
                                     down
                                                                                    real-time
              Tiré de Hermann Kopetz. Real-time systems : design principles for distributed embedded applications.
                                          Springer Science & Business Media, 2011.
            A high availability can be achieved either by a long MTTF or by a short MTTR.
        The designer
     Sécurité       has thus some freedom
                   : authenticité              in the selectionde
                                            et intégrité       of her/his approach to the ainsi que capacité
                                                                    l’information,
        construction of a high-availability system.
     à prévenir les accès non autorisés
 SETR – GIF-3004 (U. Laval)                      Introduction aux SETR                                 C. Gagné      13 / 20
Gestion de défaillances

      Avec temps réel dur, un ou plusieurs états sûrs doivent être identifiés
      en cas de défaillance
         I   Si ces états peuvent être atteints rapidement, le système est sûr en
             cas de défaillance (fail-safe)
         I   En cas de défaillance, un système sûr en cas de défaillance doit avoir
             une probabilité de détection proche de 1 (high error-detection coverage)
      Dans certaines circonstances, un état sûr ne peut pas être atteint
         I   Ex. système de contrôle de vol d’un avion
         I   Le système doit être opérationnel en cas de défaillance
             (fail-operational), offrant un niveau de service minimal permettant
             d’éviter des catastrophes

  SETR – GIF-3004 (U. Laval)        Introduction aux SETR                C. Gagné   14 / 20
Autres caractéristiques du temps réel
      Réponse garantie vs meilleur effort
         I   Si hypothèses précises sur charge et fautes rencontrées peuvent être
             énoncées, on parle d’un système avec réponse garantie
             (guaranteed-response)
         I   Probabilité de défaillance revient alors à probabilité que les hypothèses
             de charge et de fautes ne soient pas respectées
         I   Sinon une telle réponse analytique n’est pas possible, on parle d’un
             système avec le meilleur effort (best-effort)
      Types de contrôle
         I   Contrôle activé par le temps : activités produites l’interne, par
             l’horloge
         I   Contrôle activé par un évènement : activités initiées par des
             évènements externes
                F   Requiert un ordonnancement dynamique des tâches
         I   Exemple illustratif : lecture des boutons d’appel d’un ascenseur
                F   Contrôle activé par le temps : lecture des boutons est périodique
                    (pooling)
                F   Contrôle activé par un évènement : appuyer sur un bouton génère une
                    interruption immédiate au système
  SETR – GIF-3004 (U. Laval)           Introduction aux SETR                   C. Gagné   15 / 20
Systèmes d’exploitation pour l’embarqué
     Stratégies pour implémentation de systèmes embarqués
        I   Fonction unique : courte routine en assembleur
        I   Programme unique : programme plus élaboré, souvent en langage C
        I   Tâches parallèles : super-boucle codée par l’utilisateur pour exécution
            concourante de plusieurs tâches
        I   Système d’exploitation temps réel (RTOS) : système d’exploitation
            minimaliste, destiné pour l’embarqué, avec ordonnancement et autres
            primitives permettant le temps réel
        I   Système d’exploitation d’usage général (GPOS) : système d’exploitation
            générique avec grande variété de fonctionnalités, ne comportant pas
            nécessairement toutes les fonctionnalités pour le temps réel
        I   Système d’exploitation parallèle : système d’exploitation pour systèmes
            multiprocesseurs
                      Programme /       Tâches
    Fonction           application     parallèles
  unique (ASM)         unique (C)    (super-boucle)          RTOS   GPOS   OS parallèle

 SETR – GIF-3004 (U. Laval)          Introduction aux SETR                   C. Gagné    16 / 20
Architecture ARM

     ARM (Advanced RISC Machine) : famille d’architectures RISC de
     microprocesseurs
        I   Lancée dans les années 1980 par la compagnie anglaise Acorn
            Computers
        I   Se démarque par des designs à faible consommation énergétique
        I   Compagnie indépendante dans les années 1990, licencie l’architecture à
            des tiers (Apple, DEC)
        I   En 2013, 10M de puces fabriquées, près 60% des dispositifs mobiles
            comportent une composante ARM
     Conception de composantes
        I   Propose des solutions intégrables dans des designs plus vastes
        I   Solutions complètes (system-on-a-chip) aussi offertes
        I   Compagnie ARM ne fabrique pas de puces
     Dernière version : ARMv8
        I   Architecture 64 bits multi-cœurs
        I   Présent dans iPhone (5S et suivants), Android, Raspberry Pi 3

 SETR – GIF-3004 (U. Laval)        Introduction aux SETR               C. Gagné   17 / 20
Plateforme Raspberry Pi 3

 SETR – GIF-3004 (U. Laval)   Introduction aux SETR   C. Gagné   18 / 20
Unix et POSIX

     Unix : famille de systèmes d’exploitation multitâche et
     multiutilisateurs
        I   Origine de AT&T, fin années 1960, conçu pour être portable, basé sur
            une certaine philosophie
        I   Modèle de système d’exploitation générique, utilisable à différentes
            échelles (embarqué autant que supercalculateurs)
        I   Nombreuses variantes, Linux est la plus connue
     Langage C : développé par la même équipe que Unix
        I   Conçu pour se compiler efficacement en code machine
        I   Élément central pour rendre Unix portable
     POSIX : standardisation de Unix
        I   Offre une interface système standardisée, permettant une portabilité au
            niveau du code (compilation nécessaire)
        I   Offre entre autres API C pour appels standards au système
            d’exploitation

 SETR – GIF-3004 (U. Laval)         Introduction aux SETR                C. Gagné   19 / 20
Linux et le temps réel

      Linux essentiellement un reimplémentation de Unix, conforme à
      POSIX
         I   Système d’exploitation d’usage général avec la plus grande base
             d’installation (surtout grâce à Android)
      Linux ne permet pas pleinement le temps réel
         I   Processus réguliers doivent être préemptés par processus temps réel
         I   Accès exclusif à certaines ressources
      Patch PREEMPT RT
      (https://wiki.linuxfoundation.org/realtime/start)
         I   Modèles de préemption supplémentaires pour temps réel
         I   Contrôle des ressources alloués au temps réel, pour éviter des bloquages
         I   Offre plusieurs algorithmes d’ordonnancement supplémentaires
         I   Gestion du problème d’inversion de la priorité

  SETR – GIF-3004 (U. Laval)         Introduction aux SETR                C. Gagné     20 / 20
Vous pouvez aussi lire