<!-- Slide number: 1 --> # Concepts de base des STR Préparé par :
<!-- Slide number: 2 --> # Un système ?
 Il sert à résoudre un problème. Un lave-vaisselle est un système Arrivée/Evacuation d’eau Fonctionnement du moteur Ouverture/fermeture de la porte Etat de l’affichage Le microcontrôleur gère les opérations du système
<!-- Slide number: 3 --> # Une tâche (task) ?
 groupe d'instructions qui exécutent des fonctions d'un système La système du lave-vaisselle pourrait avoir les tâches suivantes: Gestionnaire de l’eau Gestionnaire du moteur Gestionnaire de la porte Gestionnaire de l’affichage
<!-- Slide number: 4 --> # Multi-tâches(multi-tasking) ?
 faire plusieurs choses à la fois Pour le système du lave-vaisselle, le microcontrôleur embarqué peut exécuter les tâches suivantes (à la fois): Gestion de l’eau Gestion du moteur Répondre à l’ouverture et à la fermeture de la porte Afficher diverses informations d'état
<!-- Slide number: 5 --> # Date limite (Deadline) ?
 L’aspect le plus essentiel d’un système temps réel (STR). Les tâches effectuent leur fonction dans les délais prescrits La défaillance peut avoir des conséquences graves Les deadlines peuvent être Hard (absolute Deadline) Soft (Relax Deadline)
<!-- Slide number: 6 --> # Priorité (Priority) ?
 Chaque tâche du système possède une priorité. La priorité détermine la priorité d’un tâche dans le système. Les tâches importantes ont priorité supérieure Les tâches moins importantes ont priorité inférieure
<!-- Slide number: 7 --> # Préemption? prérogative de tâches plus prioritaires dans un système. Permet aux tâches plus prioritaires de mettre en pause une tâche de priorité inférieure. Nécessaire pour maintenir l’intégrité d’un système temps réel (STR)
<!-- Slide number: 8 --> # Exemple de préemption
Publicité

<!-- Slide number: 9 --> Planificateur / Ordonnanceur Maintient les tâches en fonction des priorités Il décide quelle tâche va s’exécuter et quelle tâche doit être interrompues (préemptée). Dans le cas du système lave-vaisselle Le Scheduler décide que le gestionnaire de l’affichage doit laisser sa place au gestionnaire de l’eau (priorité plus haute) Lorsque le gestionnaire de l’eau termine son exécution, l Scheduler permet au gestionnaire de l’affichage de continuer son exécution.
Scheduler ?

<!-- Slide number: 10 --> # Termes et concepts pour les STR Contraintes temporelles À la fois logique et temporelles (temporisées)
La contrainte la plus évidente et la plus simple est le deadline (date limite) C’est la limite de temps à laquelle doit finir le traitement
Exemple : dans un système de commande du robot, il peut y avoir un deadline ou un temps limite entre le moment où un robot en mouvement détecte un obstacle dans son chemin et le moment où un actionneur (ex: le contrôleur de roues) doit être activé pour déplacer le robot dans une autre direction qui soit sûre 10
<!-- Slide number: 11 --> # Termes et concepts pour les STR Hard and soft real-time systems Hard real-time systems (STR rigide) : Sans défaut, il doit répondre à ses contraintes temporelles Si une contrainte est violée, le système tombe en panne Ex: le contrôleur du mouvement vertical d'un ascenseur La violation d’une contrainte peut mener à l’arrêt de l’ascenseur entre deux étages Soft real-time system (STR souple) : La mission est considérée accomplie, ceci malgré la violation de certaines contraintes de temps Ex: un système téléphonique qui échoue parfois à établir une connexion (l’utilisateur n’a qu’à recomposer le numéro à nouveau)
Il existe une continuité entre ces deux types extrêmes, et la plupart des systèmes sont entre les deux résultat
souple
0
temps
rigide délais 11
Publicité
<!-- Slide number: 12 --> # Termes et concepts pour les STR Contraintes temporelles déterministes
Les deadline et d’autres contraintes temporelles sont exprimés en termes de valeurs exactes ou fixes, plutôt que des mesures globales telles que les moyennes
Le défaut de réponse aux exigences déterministes signifie souvent l’échec
Ex : la porte du passage à niveau sur une route doit toujours être fermé lorsqu’un train atteint le passage, et non fermé la plupart du temps 12
<!-- Slide number: 13 --> # Termes et concepts pour les STR Concurrence – particularité des systèmes temps réel Concurrence : compétition entres plusieurs agents pour l’acquisition d’une même ressource Tâches en concurrence pour les ressources limitées : CPU, mémoire,. . .
Solution à la concurrence politique d’ordonnancement des tâches communication inter-tâches : synchronisations et messages modélisation de l’accès cohérent aux ressources : mutex
Asynchronisme et synchronisme Asynchronisme : décrit le fait que des activités (ou événements) se produisent de manière indépendante. Synchronisation : apparaît quand il existe des dépendances entre les activités. 13
<!-- Slide number: 14 --> # Termes et concepts pour les STR Correction (exactitude /correctness) et la robustesse Un système est correct lorsqu'il réalise le fonctionnement souhaité tout le temps Un tel système est robuste lorsqu’il réalise le fonctionnement souhaité malgré l’occurrence de circonstances imprévues (même en présence d’échecs imprévus de parties du système) Les concepteurs doivent être impératifs aux problèmes suivants : Le deadlock: une tâche attend indéfiniment des conditions qui ne se produisent jamais Les conditions exceptionnelles Identifier les pannes Prendre les mesures nécessaires Ex: répéter le traitement précédent afin de restaurer un état correct du système condition)Les conditions de course Les race conditions 14
<!-- Slide number: 15 --> # Termes et concepts pour les STR Reliability (fiabilité) C’est une mesure de combien de fois un système échouera Alternativement, c’est la probabilité pour qu'un système fonctionne correctement sur une période de temps donnée
Tolérance aux fautes Concerne la détection et la gestion des échecs L’évitement de l'échec est possible grâce à des techniques de fiabilité
Criticité C’est une mesure du coût d’échec : plus grand est le coût de l'échec, plus critique est le système Ex: le contrôleur des avions, le contrôleur de centrales nucléaires, La criticité est une dimension différente de la rigidité/ souplesse (hardness/softness) Ex : un jeu est un système dur, mais il n'est pas critique
15
<!-- Slide number: 16 --> # Tâche et processus Tâche (job): unité de travail (exécution, communication) qui peut être planifiée par le système d'exploitation (Ji,k ) Ex: calcul d'un contrôle, calcul de la FFT sur les données reçues par une capteur, transmission d'un paquet de données, la récupération d'un fichier
Publicité
Processus (task): ensemble de tâches avec un but commun pour l’implémentation d’une fonction du système τi = { Ji,1, Ji,2, ... , Ji,n }; Ex: ensemble des tâches qui constituent la « constante de maintient de l'altitude » gardant un avion volant à une altitude constante
Délai d’une tâche (deadline) : dernier instant pour l'achèvement de la tâche 16
Notes:
<!-- Slide number: 17 --> # Processeurs & ressources Une tâche s’exécute, ou est exécuté par un système d’exploitation sur un processeur et peut dépendre de certaines ressources
Un processeur P est un composant actif sur lequel les tâches sont planifiées: Ex: Threads ordonnancés dans un CPU Données ordonnancés dans une chaine de transmission Demandes de lecture/écriture sur un disque Transactions ordonnancés dans un serveur de bases de données Chaque processeur possède un attribut de vitesse qui détermine le taux d’achèvement d’une tâche Ex: nbr instructions/s pour un CPU, bande passante d'un réseau, etc. Deux processeurs sont de même type, s’ils sont fonctionnellement identiques et peuvent être utilisés de façon interchangeable 17
Notes:
<!-- Slide number: 18 --> # Processeurs & ressources Une ressource R, est une entité passive de laquelle peut dépendre l’exécution d’une tâche Ex: mémoire, séquence de nombres, les mutex, les verrous de base de données, etc Les ressources ont différents types et tailles, mais pas d’attribut de vitesse Plusieurs ressources sont comptés par unité de ressources, une seule tâche peut utiliser une ressource à la fois (accès mutuellement exclusif) Une tâche a accès à la ressource nécessaire, utilise-la, puis la libère
18
<!-- Slide number: 19 --> # Modèles d’exécution des tâches Tâches Event-Driven (réactives) : réactions aux événements externes
Sporadiques : délais rigides Apériodiques : délais souples ou pas de délais
Tâches Time-Driven : libérées par les horloges (passage de temps). Périodiques: délais rigides. 19