La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Introduction aux Systèmes dinformation Temps Réel Notion de temps réel dans les systèmes dexploitation, et principes de mise en œuvre des systèmes dexploitations.

Présentations similaires


Présentation au sujet: "Introduction aux Systèmes dinformation Temps Réel Notion de temps réel dans les systèmes dexploitation, et principes de mise en œuvre des systèmes dexploitations."— Transcription de la présentation:

1 Introduction aux Systèmes dinformation Temps Réel Notion de temps réel dans les systèmes dexploitation, et principes de mise en œuvre des systèmes dexploitations temps réel… Par Gilles Grimaud Université des Sciences et Technologies de Lille

2 Plan Du temps réel … Par rapport à quoi ? Notion de temps réel dur vs temps réel mou Mise en œuvre dun temps réel mou Les clefs dun système temps réel dur Maîtrise du temps dexécution au pire cas Ordonnancement temps réel Linux et le Temps Réel Conclusion

3 Notion de temps réel … Par rapport à quoi ? Objet : Maîtrise du temps de réponse dun système dinformation, afin de respecter des délais. Exemples : Un jeu déchec, un pilote automatique davion, un système de contrôle des processus dune usine, … Problèmes : 1.Le temps dexécution dun programme nest pas calculable dans le cas général 2.Le temps de traitement est très intimement lié au matériel, ainsi quau temps dexécution des primitives du système 3.Abstraction et Virtualisation du microprocesseur font fluctuer le temps dexécution dun programme Stratégies des solutions : 1.Faire au mieux en fct des circonstances : temps réel mou 2.Maîtriser les temps de réponse : temps réel dur

4 Temps réel : Un système dinformation temps réel doit retourner des réponses en respectant certaines échéances. Un jeu déchec doit proposer une réponse en un temps fini… Un pilote automatique aussi… 1.Temps réel mou (Soft Real Time) : Les applications temps réel mou ont des contraintes déchéances, mais elles peuvent « tolérer » des « fluctuations » dans la puissance de calcul qui leur est accordé. Lidéal est lutilisation dalgorithmes incrémentaux : plus ils ont de temps de calcul, plus ils affinent leurs résultats à échéance (e.g. le jeu déchec). 2.Temps réel dur (Hard Real Time) : Les applications temps réel dur doivent retourner des réponses pour une échéance fixée à lavance. Pour cela elles doivent disposer dune certaine puissance de calcul qui ne doit pas pouvoir être remise en cause. Fournir des outils pour apporter la garantie quun traitement aura eu la puissance de calcul suffisante. Notion de temps réel dur vs temps réel mou

5 Points de départ : Le système dispose dune puissance de calcul fixe, et dune liste dapplications avec des échéances et un résultat partiel en cours de construction. Activité du système : Elire une application accorder du temps de calcul et faire progresser la qualité du résultat quelle produit avant son échéance. Politique dordonnancement en fonction : des échéances et de la qualité des résultats déjà obtenus. Variation : Les applications peuvent définir une qualité de résultat espérée et une qualité de résultat minimale (service minimum)… Mise en œuvre du temps réel mou

6 Ordonnanceur Temps Réel Moue Traitements coopératifs : Mise en œuvre du temps réel mou main() sat() curRes() deadLine Appli.1Appli.2Appli.3 main() sat() curRes() deadLine main() sat() curRes() deadLine deadline1 deadline2deadline3 Échantillonnage initial

7 Quatre points critiques pour maîtriser le temps dans une application temps réel dur : 1.Connaître le temps dexécution des primitives fournies par le système dexploitation 2.Disposer dun outil de calcul du temps dexécution dun programme 3.Paramétrer le système avec les exigences de lapplication temps réel, et obtenir satisfaction 4.Bénéficier dune stratégie dordonnancement idoine Les clefs dun système temps réel dur

8 Le temps dexécution des primitives Eléments clefs pour déterminer le temps dexécution dun programme. Difficultés : Primitives en temps dexécution incertain. E.g. gestionnaire de mémoire virtuelle, systèmes de cache matériel, allocateur de mémoire de bloc, … Calcul du temps dexécution des primitives « au pire cas » Résultat très pessimiste Proposer des formes simplifiées des primitives du système avec de meilleurs temps de réponse au pire cas. Conclusion : Système temps réel Système hautes performances.

9 Le calcul du temps dexécution dun programme au pire cas (noté WCET) est un raffinement du problème de la terminaison dun programme. Or ce problème est connu indécidable dans le cas général (cf. Turing). En effet, on ne peut pas toujours prouver la terminaison dune itération. Pour pouvoir faire ce calcul indécidable il faut : 1.Connaître le temps dexécution des instructions élémentaires (cf. transparent précédent). 2.Borner les itérations au pire cas : 1.Utiliser des prouveurs de code (trouver les invariants de boucle) 2.Contraindre le langage de programmation 3.Exécuter une interprétation abstraite du code pour extraire de linformation contextuelle du programme. Calculer le temps dexécution dun programme

10 De manière plus pragmatique on comprend que : 1.Le calcul de WCET pour une séquence de n instructions i n est C(i n ),avec C(i) le coup de lexécution de i 2.Le calcul de WCET dun si/sinon dépend du coût de chaque branche C si, C sinon et du résultat de la condition, au pire cas on a : Max(C si,C sinon ) 3.Pour pouvoir calculer le WCET dun tantque il faut connaître le WCET du corps de la boucle C boucle, et le multiplier par une borne supérieure constante n du nombre ditérations (pas de programmes avec des itérations non bornées). On a : n x C boucle 4.Le WCET dun appel dépend de la nature de lappel : pour un appel de procédure il est fct du WCET de la procédure appelée pour un appel de méthode, il est égal au maximum des WCET de chaque surcharge de la méthode appelée pour un appel distant, il est fonction de la QoS du réseau,… Calculer le temps dexécution dun programme

11 Configuration dun système RT Trois types de configurations : 1.Procédures à exécuter sans délais en réaction à un événement matériel donné. i.e. Routine dinterruption gérée par le système temps réel, mais retransmise à lapplication. 2.Tâche dont la terminaison doit avoir lieu avant une certaine date mais après quil lui ait été accordée une certaine puissance de calcul. 3.Activité périodique qui garanti une certaine quantité de calcul à une application RT. Tâche donc la réélection périodique est définie par lapplication (définit la puissance de calcul accordé à la tâche RT « de fond »). Dans labsolu un système temps réel devrait pouvoir « contrôler » que les demandes dune application sont « compatibles » avec les autres applications présentes dans le système.

12 Gestion des échéances : 1.Au plus pressé (Earliest Deadline First) : Principe : Élire la tâche active dont la deadline est la plus proche. Pour se convaincre que ça marche : Si cela ne marche pas, ce nest pas en donnant la main à une autre tâche que la deadline aurait été mieux respectée. 2.Périodique à tôt fixe (Rate monotonic) : Principe : équivalent à lalgorithme du tourniquet, mais en définissant une quantité minimale de temps CPU obtenu périodiquement. Objet : garantir une puissance de calcul constante aux tâches RT. Autres. Beaucoup de variations autour de ces deux stratégies… Stratégie dordonnancement RT

13 Ordonnancement temps réel et contrôle des ressources Lintroduction de mécanismes de contrôle de concurrence impacte fortement les systèmes dinformations temps réels. Lapparition de verrous dans des tâches temps réel (dur) impacte plusieurs mécanismes : 1.Le mécanisme de calcul du temps dexécution dune procédure : pendant combien de temps lapplication sera suspendue ? 2.Le mécanisme dordonnancement des tâches : qui doit être élu si une tâche RT est bloquée ? (utilisation du mécanisme dinversion de priorité ?)

14 Ordonnancement temps réel et contrôle des ressources Tâche 1 Tâche 2 Impossible Dépassement de ressource Zone avec deadlock à venir Zone correcte Fin de Tâche 1 Fin de Tâche 2 Deadline T2 (dans 8 unités de temps) Deadline T1 (13 unités de temps) Chemin RT possible

15 RT et Linux Deux systèmes Linux revendiquent lappellation RT : RTLinux et RTIA (dérivé de RTLinux) Proposent principalement les interfaces POSIX PSE 51. Se focalisent (pour linstant) sur les points 1 et 3 de la construction des systèmes temps réels dur. Architecture retenue : Noyau « temps réel » Thread temps réel Thread temps réel Thread Linux Appli Linux Handlers dinterruptions matérielles Appli Linux Handler temps réel Handler temps réel Handler Linux Système Temps Réel Système Linux

16 Conclusion Eviter les confusions entre : 1.Système RT et Système haute performance 2.Système RT et Système embarqué 3.Système RT et Gestionnaire de pilotes matériels 4.Système RT et QoS 5.Système RT et Micro-noyau 6.Système RT et Exo-noyau 7.Procédures RT et Untrusted Determist Fonctions


Télécharger ppt "Introduction aux Systèmes dinformation Temps Réel Notion de temps réel dans les systèmes dexploitation, et principes de mise en œuvre des systèmes dexploitations."

Présentations similaires


Annonces Google