Introduction aux syst'emes embarqu es temps r eel
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
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
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
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
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
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