Introduction aux systèmes Temps Réel M1 UEF5 Systèmes embarqués 2005­2006 Plan

Introduction aux systèmes Temps Réel M1 UEF5 Systèmes embarqués 2005­2006 Plan : I. Introduction II. Mécanismes Fondamentaux III. Maîtrise du temps IV. Temps réel et industrie I. Introduction 1. Qu'est ce que le temps réel ? 2. Propriétés 3. Exemples d'applications 4. Limite des systèmes classiques pour le temps réel I.1 Qu'est­ce que le temps réel ? ● Types de systèmes informatiques : ●Systèmes transformationnels (calcul scientifique, gestion de BD) ­ les données sont disponibles au lancement ­ les instants de productions des résultats ne sont pas contraints ●Systèmes interactifs (systèmes transactionnels ou outils bureautiques) ­ les résultats dépendent de données produites par l'environnement ­ les instants de production respectent des valeurs statistiques (souvent peu contraints) I.1 Qu'est­ce que le temps réel ? ● Types de systèmes informatiques : ●Systèmes temps réel ou systèmes réactifs: ­ Systèmes embarqués ­ Systèmes où l'intervention humaine est limitée (voire absente) ­ Résultats entièrement conditionnés par l'environnement connecté ­ Les instants de production dépendent de la dynamique du procédé (environnement + traitement) ­ Les instants de production sont fortement contraints (survie du système) I.1 Qu'est­ce que le temps réel ? ●Validité d'un programme TR Outre la correction algorithmique le temps intervient dans la validité du programme: ­le temps de réaction doit être adapté aux événements externes (crucial pour les systèmes embarqués) ­Le programme doit pouvoir fonctionner en continu en maintenant sa capacité à traiter le flux de données d'entrée ­les temps de calculs sont connus (estimés) et peuvent être utilisés dans une analyse de réactivité Valider un système temps réel c'est démontrer rigoureusement que le système a le comportement spécifié I.1 Qu'est­ce que le temps réel ? Définition (1): Le comportement d'un système informatique est qualifié de « temps réel » lorsqu'il est assujetti à l'évolution d'un procédé qui lui est connecté et qu'il doit piloter ou suivre en réagissant à tous ses changements d'états . Groupe CNRS sur la problématique temps réel 1988 I.1 Qu'est­ce que le temps réel ? Définition (2): Un système temps réel est défini comme un système dont le comportement dépend : ­ De l'exactitude des traitements effectuées ­ Du temps où les résultats sont produits Un retard = le fait de rater une échéance = erreur du système. Exemple : tâche périodique Exemple : tâche périodique Exemple : tâche périodique Exemple : tâche périodique ●Temps réel dur et lâche : – Si le retard d' un traitement = exception (traitement spécifique en cas d'erreur) : on parle d'échéance dure, et il s'agit d'une défaillance – Si le retard ne provoque pas d'exception: échéance lâche – Un système dont aucune échéance ne doit être dépassée: Temps réel dur (hard real time) – Si un dépassement occasionnel ne met pas en danger le système : temps réel lâche, ou mou (soft real time) ●Temps réel critique : – Terminologie qui met l'accent sur les conséquences d'une défaillance du système et concerne la sûreté de fonctionnement – Le système est critique si : ●Il y a des conséquences humaines en cas de défaillance (contrôle aérien, centrales nucléaires, etc...) ●Le coût financier d'une défaillance du système est d'ordre supérieur à celui du système. (exploration spatiale, etc...) ●Système et environnement : – Système : ensemble d' « activités » correspondant à un où plusieurs traitements effectués en séquence ou en concurrence. Les traitements communiquent éventuellement entre eux. – Le système est en interaction avec son environnement – Modélisation simple : [1­n] processeurs + périphériques (capteurs , actionneurs) – Les capteurs : ●collecte des signaux (évènements) émis par l'environnement ●Prélèvement de l'état fugitif de l'environnement (mesures) – Les actionneurs effectuent les réactions du système ●Système et environnement : – Interaction système environnement : ●A des moments déterminés par une référence de temps interne au système : système pilotés par le temps (time driven system) , programmée pour exécuter les actions/lectures à intervalles réguliers fixés par un timer (fonctionnement séquentiel) = systèmes synchrones ●A des moments déterminés par l'environnement lui­même: il attend les sollicitations et réagit à celles­ci: système piloté par les évènements (event driven system) = systèmes asynchrones ●Un système temps réel est composé d'un système contrôlé et d'un système contrôleur I.2 Propriétés Prévisibilité Déterminisme Fiablité ●Prévisibilité – Conception afin que les performances soient définies dans le pire des cas – Permet de déterminer à l'avance si un système va respecter ses contraintes temporelles – Nécessite un bonne connaissance des paramètres liés aux calculs des activités = déterminisme ●Déterminisme – Enlever toute incertitude (= conserver la prévisibilité) ●Sur le comportement des activités individuelles ●Sur le comportement des activités groupées dans le contexte d'exécution (+ordonnancement) – Sources de non­déterminisme : ●Charge de calculs (variations des durées d'exécution des activités) ●Entrées­sorties (temps de réaction, durée des communications) ●Interruptions (temps de réaction du système) ●Fautes et exceptions matérielles ou logicielles = Fiabilité ●Fiabilité – Intervention humaine directe difficile (syst temps réel embarqués) – Conception tolérante aux fautes, pour garantir le comportement du système et de ses composants (prévisibilité => déterminisme => fiabilité) – Temps de réaction cruciaux : conception de système dédiés ●Compromis hardware/software – Capacités, propriétés natives (rapidité), fiabilité du hardware ●Mémoire, cpu, com – Poids des différents traitements pour mener à bien une tâche donnée ●Algo, complexité – Gestion du hardware pour permettre l'execution des traitements (noyau temps réel) ●ordonnancement, gestion de la mémoire, préemption, etc... I.3 Exemples ●Logiciel de contrôle d'un Combiné GSM: – Embarqué – Gestion des opérations de la couche physique ●Émission, réception, mesure des niveaux de réception, etc... – Gestion des procédures logiques ●Localisation, mesures de qualité du lien radio, – Gestion de la conversation ●Relais entre deux reseaux – IHM ●Redaction, navigation, etc... ●Système de Video conférence sur réseau local – Numérisation du signal video ●Séquence de 30 images/s ●Compression – Reseau ●Accès, envoi, réception ●Robot Autonome – Robot type mars explorer: – Aller du point A au point B sans être bloqué ●Navigation ● évitement d'obstacle – Contrainte importantes car il en découle la « survie » de la mission : le robot ne doit pas rester bloqué – échantillonnage des capteurs de proximité – Vitesse de déplacement – Architecture de subsomption pour ordonnancer navigation et évitement d'obstacles I.3 Limites des systèmes classiques: ●Ordonnancement: temps partagé ●Gestion des entrées sorties et des interruptions sous optimales ●Gestion de la mémoire virtuelle très souple : engendre des fluctuations des temps d'exécution des activités d'un système ●Résolution temporelle pas assez fine Plan : I. Introduction II. Mécanismes Fondamentaux III. Maîtrise du temps IV. Systèmes Temps Réel II. Mécanismes Fondamentaux ●Idée générale : revoir les mécanismes fondamentaux d'un OS classique pour comprendre les origines de la latence d'un système. ●Latence : – Délai global de bout en bout entre le changement d'état dans un environnent et la réaction correspondante en sortie du système II. Mécanismes Fondamentaux ●Il s'agit d'un délai composite qui comprend : – Les délais de scrutation du système – Les délais dus à l'os – Les délais du calcul applicatif – Les délais de transmission du message II. Mécanismes Fondamentaux ●Il s'agit d'un délai composite qui comprend : – Les délais de scrutation du système – Les délais dus à l'os – Les délais du calcul applicatif – Les délais de transmission du message II. Mécanismes Fondamentaux ●Il s'agit d'un délai composite qui comprend : – Les délais de scrutation du système – Les délais dus à l'os – Les délais du calcul applicatif – Les délais de transmission du message ●Gigue sur la latence : – Décrit l'incertitude sur la latence – Problèmes d'accès aux ressources – ordonnancement II. Mécanismes Fondamentaux ●Exemple (1) : système élémentaire ●Soit un système simple qui exécute un programme unique : – Acquisition des données – Traitement (calcul) – Restitution des résultats II. Mécanismes Fondamentaux ●Exemple (1) : système élémentaire II. Mécanismes Fondamentaux ●Exemple (1) : phase 1 II. Mécanismes Fondamentaux ●Exemple (1) : phase 2 II. Mécanismes Fondamentaux ●Exemple (1) : phase 3 II. Mécanismes Fondamentaux ●Exemple (1) : système élémentaire – Traitement séquentiel suffisant – Séquencement réglé par l'horloge – Pas de concurrence entre les phases – OS simple – Seule la dimension des ressources matérielles/logicielles est à prendre en compte (faire face au pire des cas: simple) II. Mécanismes Fondamentaux ●Exemple (2) : système plus complexe : – Un évènement survient à n'importe quel moment : instant d'apparition non maîtrisé (traitement déjà en cours, ...) – Il doit être pris en compte dans un délais maximum donné II. Mécanismes Fondamentaux ●Exemple (2) : système plus complexe : – Un évènement survient à n'importe quel moment : instant d'apparition non maîtrisé (traitement déjà en cours, ...) – Il doit être pris en compte dans un délais maximum donné ●Deux grands modèles d'interaction : – Scrutation cyclique (polling) – Interaction par interruptions II. Mécanismes Fondamentaux ●Scrutation : – Le système prend l'initiative d'activer la fonction qui va lire une entrée à un instant programmé pour vérifier si un évènement a eu lieu. Le plus souvent cette scrutation sera faite périodiquement. II. Mécanismes Fondamentaux ●Scrutation : Boucle infinie : Tant que données non disponibles uploads/Industriel/ coursandry-tr-pdf.pdf

  • 13
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager