Cours A7 : Temps Réel Pierre.Paradinas / @ / cnam.fr Cnam/Cedric Systèmes Enfouis et Embarqués (SEE)
Organisation des cours 12 prochaines séances 6 janvier au 24 mars, Partiel le 27 janvier, Les 3 et 24 février pas de cours, 9 séances Temps Réel.
Motivations Aujourd hui, comprendre ce qu est un STR, pourquoi, le vocabulaire et les concepts Comprendre les mécanismes systèmes mis en oeuvre dans un système temps réel
Définition(s): Temps réel Systèmes Temps Réel 1. Le temps nécessaire pour résoudre un problème. 2. La résolution d'un problème pendant le temps où un processus physique est actif de manière à utiliser les résultats pour guider le processus physique. (http://www.dicofr.com/)
Systèmes Temps Réel Système dont le résultat dépend de l exactitude des calculs mais surtout du temps où sont produits les résultats. Tâche délai (critique) échéance
Classification de systèmes TR Définition : On appelle échéance une contrainte temps à laquelle doit au plus tard se produire un événement Les systèmes sont classifiés par rapport à la tolérance aux échéances
Classification des systèmes TR (1) Échéance dure (hard deadline) : dans ce cas l arrivée après échéance d un événement attendu déclenchera une exception (gestion d erreurs) Échéance lâche (molle) (soft deadline), dans ce cas l arrivée après échéance d un événement attendu ne déclenchera pas une exception (gestion d erreurs)
Classification des systèmes TR (2) Système TR dur : dans ce cas l arrivée après échéance d un événement attendu ne doit pas se produire (gestion d erreurs) Ex: système de contrôle d avion, freinage ABS Système TR mou dans le cas ou l arrivée exceptionnelle après échéance d un événement attendu ne mettra pas le système en danger (erreur) Ex: système de distribution de son (streaming)
Notion de criticité et QdS Système TR dur, la criticité est une fonction booléenne : vrai/faux; ça passe ou ça casse! Système TR lâche, la criticité est plus complexe à définir. On parlera de QdS (qualité de services, de seuil d acceptabilité, )
Exemple: BD temps réel Cotations boursières, enchères sur Internet, etc. Cohérence temporelle absolue Toutes les données d un même ensemble doivent être rafraîchies avant un seuil de temps Cohérence temporelle relative
Exemple: Flux de données multimédia Son Tél: 16kbds, 192 Kbds qualité CD Si image alors synchronisation image/son < 80msec Dans la QdS doivent être pris en compte : délai, régularité et synchronisation
Exemples: Un système de freinage est-il TR? Une application paie est-elle TR? Une application gestion de colis est-elle TR? Une carte à puce est-elle un STR? Une téléphone GSM est-il un STR? Discuter les exemples
Système TR et son environnement Le système TR contrôle un système plus large (le système contrôlé). Les capteurs scrutent les événements du système contrôlé, fournissent des mesures,... Les actionneurs agissent sur le fonctionnement en fonction des traitements du STR sur le système contrôlé Capteurs Système Temps Réel Actionneurs
Classification des STR STR piloté par les événements: le STR réagit en fonction d états préétablis et atteints (temps, température, ) STR piloté par le temps: le STR réagit sur des échéances régulières définis par un temps interne au système Il sera qualifié de réactif, si il doit réagir à un événement en temps imparti
Prévisibilité et déterminisme Prévisibilité: capacité à déterminer le temps des opérations à réaliser Déterminisme: objectif à atteindre pour connaître le temps d exécution d un programme
Exercice/Question Quelles sont les facteurs de non-déterminisme en temps d exécution dans un ensemble (machine + OS)? interruptions E/S temps calcul mémoires (caches, MV,...) ordonnancement des tâches etc...
Autres aspects du TR Fiabilité (environnement pouvant générer des erreurs, satellites par exemple) Embarqué (non intervention possible) Spécialisé/dédié
Un STR : points importants Le temps Les contraintes temporelles La nature des contraintes lâche, dure La Tolérance aux fautes, domaine spécifique, embarqué,...
Retour aux exemples Un système de freinage est-il TR? Unix/Linux sont-ils TR? Une application paie est-elle TR? Le système de pilotage d un satellite est-il TR? Une carte à puce est-elle un STR? Une téléphone GSM est-il un STR?
Systèmes d exploitation Soit une machine avec : processeur mémoires et dispositif d E/S Un traitement: acquisition calcul renvoi des résultats
Acquisition des données Mécanismes fondamentaux des SE d acquisition des données: scrutation cyclique gestion d interruptions
Scrutation cyclique (1/3) Lire les données sur le tampon d E/S Algorithme faire faire %attente% tq données vide lire données traiter données % rangement mémoire % jusqu à arrêt système
Scrutation cyclique (2/3) Appliquer sur le STR Capteurs Système Temps Réel Actionneurs
Scrutation cyclique (3/3) Avantages scrutation Simplicité de programmation Temps de traitement facile à évaluer Inconvénients scrutation Augmentation du nombre de périphériques et les cycles sont différents impliquent une plus grande complexité Pas d approches modulaires possibles
Interaction par interruption Reprenons notre machine, si celle-ci exécute un programme. Comment informer celui-ci que des données sont disponibles dans le tampon d E/S?
La gestion d une interruption Pour interrompre l exécution du programme il faut conserver l état du processeur (CO, valeur des registres,...) Exécuter le sous programme de l IT Restituer l état initial puis reprendre le programme 1 2 3 t
Limites Temps processeur est passe (perdu) dans de l attente, de l observation,... La solution c est de récupérer les temps morts et de les affecter à d autres activités (tâches) Suite la prochaine fois avec le multitâche...
Bibliographie Introduction aux systèmes temps réel Ch Bonnet & I. Demeure, Ed Hermes