26
Introduction Introduction 1. Qu'est ce que le temps-réel ? 2. Exemples d'applications temps-réel 3. Limites des systèmes classiques pour le temps réel 4. Exercices

Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Embed Size (px)

Citation preview

Page 1: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

IntroductionIntroduction

1. Qu'est ce que le temps-réel ?

2. Exemples d'applications temps-réel

3. Limites des systèmes classiques pour le temps réel

4. Exercices

Page 2: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Qu'est ce que le Qu'est ce que le temps-réeltemps-réel ??

Le terme de temps-réel est employé pour désigner le temps physique.

Page 3: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Qu'est ce que le temps réel ?Qu'est ce que le temps réel ?

On définit un système temps réel comme un système dont le comportement dépend, non seulement de l'exactitude des traitements effectués, mais également du temps où les résultats de ces traitements sont produits.

Objectifs lors de la conception : système prédictible.

Déterminisme logique : une même entrée appliquée au système produit toujours la même sortie.

Déterminisme temporel : les contraintes de temps sont respectées.

Fiabilité : le système (logiciel, matériel) répond à des contraintes de disponibilité.

Page 4: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Qu'est ce que le temps réel ?Qu'est ce que le temps réel ?

On définit un système temps réel comme un système dont le comportement dépend, non seulement de l'exactitude des traitements effectués, mais également du temps où les résultats de ces traitements sont produits.

Le temps réel entre donc dans le critère de correction des applications.

Un retard est considéré comme une erreur qui entraîne de graves conséquences.

Un retard est considéré comme une erreur qui entraîne de graves conséquences.

Page 5: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Qu'est ce que le temps réel ?Qu'est ce que le temps réel ?

On définit un système temps réel comme un système dont le comportement dépend, non seulement de l'exactitude des traitements effectués, mais également du temps où les résultats de ces traitements sont produits.

Ordre de grandeur du temps

Ordre (1ms) Système

1 Radar

1000 visualisation

3600000 Process chimique

86400000 Prévision

2592000000 Navigation de sonde

Page 6: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Contraintes de tempsContraintes de temps

Limite quantifiée sur le temps séparant deux événements.

Cette limite est soit la limite min et/ou la limite max.

SystèmeSystèmeE S

x

fenêtre

x

Page 7: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Définitions : temps réel dur et temps réel lâcheDéfinitions : temps réel dur et temps réel lâche

Une échéance est qualifiée de dure (hard dealine) lorsque le résultat d'un traitement arrive et provoque une exception dans le système.

Si le retard ne provoque pas d'exception dans le système, on dit que l'échéance est lâche (soft deadline).

Page 8: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Définitions : temps réel dur et temps réel lâcheDéfinitions : temps réel dur et temps réel lâche

Questions : Classer en soft ou hard :

traitement d'images dans une vidéoconférence,

contrôle de radioactivité de centrale nucléaire.

Page 9: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Le système temps réel et son environnementLe système temps réel et son environnement

Le système temps réel est un système en interaction avec son environnement.

Il peut être modélisé par un système qui se compose d'un processeur central et de périphérique d'entrées/sorties (capteurs,actionneurs).

ProcesseurTemps réel

ProcesseurTemps réel

Collecte les signauxou événements

Réactions vis à vis des événements

La réaction du système s'effectue au travers de commandes

Capteurs Actionneurs

Page 10: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Exemple de système : téléphone portableExemple de système : téléphone portable

Page 11: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Interactions du système avec l'environnementInteractions du système avec l'environnement

Les interactions entre le système temps réel et son environnement peuvent s'effectuer soit à des moments déterminés :

par une référence de temps interne au système (time driven)

par l'environnement lui même (event-driven system)

Lorsque le système doit répondre dans un temps limité à des événements externes, on parle de système réactif.

Page 12: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Prévisibilité (predictability)Prévisibilité (predictability)

L’un des aspects importants des systèmes temps réel est la prévisibilité du système ; un système temps réel doit être conçu de telle façon que ses performances soient définies dans le pire des cas (dans un système classique on s'intéresse au traitement moyen)

La prévisibilité est ce qui permet de déterminer à l’avance si un système va respecter ses contraintes temporelles.

La politique d'ordonnancement des activités est à déterminer en fonctions des paramètres liés aux calculs des activités.

Page 13: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Exemples de politique d'ordonnancementExemples de politique d'ordonnancement

ID Depart C

T1 1 3

T2 0 3

T3 0 3

1 2 3 4 5 6 7 8 9 10 11 12

T2

T3

T2

T1

T3

T2

T1

T3

T1

nop

nop

nop

nop

T1

T1

T1

T1

T2

T2

T2

T2

T3

T3

T3

T3

1 2 3 4 5 6 7 8 9 10 11 12

T2

T2

T2

T3

T3

T3

T1

T1

T1

nop

nop

nop

nop

T1

T1

T1

T1

T2

T2

T2

T2

T3

T3

T3

T3

Page 14: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Les sources de non déterminismesLes sources de non déterminismes

Les sources de non déterminismes sont :

Charge de calcul : variation des durées d'exécution des activités

Entrées/sorties : profil d'arrivée, durée des communications, temps de réaction.

Interruptions : temps de réaction du système

Fautes et exceptions matérielles ou logicielles.

Page 15: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

La fiabilité (reliability)La fiabilité (reliability)

Un aspect important est la fiabilité d'un système. Si les composants matériels ou logiciels ne se sont pas fiables, on ne peut prédire le comportement du système.

Ainsi, les systèmes temps réel sont souvent conçus de façon à être tolérants aux pannes (fault tolerant)

Page 16: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Les systèmes embarqués (embedded systems)Les systèmes embarqués (embedded systems)

Si l'intervention humaine directe est impossibles, on parle de systèmes embarqués. La connaissance a priori du comportement de tels systèmes est essentielle.

Ce sont souvent des systèmes dédiés (dedicated) à la fois du point de vue matériel et logiciel, pour les besoins d'une application spécifique.

Définition : Système informatique dans lequel le processeur est englobé dans un système plus large et/ou le logiciel est entièrement dédié à une application donnée.

Page 17: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Systèmes répartisSystèmes répartis

Un système réparti est un ensemble de machines autonomes connectées par un réseau, et équipées d'un logiciel dédié à la coordination des activités du système ainsi qu'au partage de ses ressources.

Le système est généralement réparti et temps réel pour des raisons de fiabilité, contraintes industrielles, partage de ressources.

Page 18: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Exemple d'applications temps réelExemple d'applications temps réel

Un Robot

Un combiné de radio téléphone GSM

Un système de Vidéo Conférence

Page 19: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Système embarqué : Sony playstation 2Système embarqué : Sony playstation 2

Page 20: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Un système de Vidéo ConférenceUn système de Vidéo Conférence

Ces caractéristiques ?

Prise en compte du temps

Expression des contraintes temporelles

Contraintes dures ou non

Système : dédié, embarqué, général

Page 21: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Un système de Vidéo Conférence 1Un système de Vidéo Conférence 1

On veut bâtir un système de vidéo conférence sur un réseau local

Le système numérise le signal vidéo

Il le transforme en séquence d'images (30 trames/seconde)

A cause du débit du réseau, il faut compresser l'image avant de la transmettre

Les opérations, compression, accès au réseau sont effectués par des périphériques matériels spécialisés pilotés par des logiciels de la station

Page 22: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Un système de Vidéo Conférence 2 Un système de Vidéo Conférence 2

Plusieurs opérations doivent s'enchaîner dans le temps ; Numération, Compression, la transmission.

La somme des temps donne le temps de latence du système, c'est à dire le temps mesuré entre l'instant où le signal commence à être numérisé et l'instant où la première trame est envoyée sur le réseau.

Il faut minimiser ce temps de latence

Le système doit réduire le temps passé entre l'envoi de deux trames successives. Pour cela pendant la compression, on numérise une autre image et pendant la transmission une image peut être compressée : Les traitements sont effectués en cascade.

Page 23: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Un système de Vidéo Conférence 3Un système de Vidéo Conférence 3

Mais cet enchaînement ne peut se faire n'importe comment.

Les activités sont synchronisées les unes par rapport aux autres.

Si l'on connaît le temps passé dans chaque module on peut fixer cette synchronisation.

Mais un réseau local est partagé par plusieurs stations . On a des phénomènes de surcharge, il faut donc passer à un mode dégradé (soft contraintes);

Conclusion

Le système comporte des contraintes temporelles. A certains moments, elles tolèrent ne pas être respectées. Son architecture est générale, elle peut être reprise pour faire fonctionner d'autres types d'applications.

Page 24: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

Limitations des systèmes classiquesLimitations des systèmes classiques

Ils sont trop mal adaptés

Les politiques d'ordonnancement des activités mise en œuvre partagent équitablement le temps d'exécution.

Les mécanismes d'accès aux ressources partagées et de synchronisation doivent être adaptés, afin d'éliminer les incertitudes temporelles.

L'utilisation des caches engendrent des fluctuations dans le temps d'exécution des activités du système.

Solution

Il faut pouvoir indiquer au support d'exécution le degré d'urgence d'une activité ou d'une interruption pour éliminer les sources d'incertitudes temporelles.

Page 25: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

ExercicesExercices

Répondre par oui ou par non.

Un système temps réel est un système classique mais qui va plus vite.

Le système qui contrôle un ascenseur est un système temps réel.

On peut exécuter une application temps réel sur n'importe quel système.

Page 26: Introduction 1.Qu'est ce que le temps-réel ? 2.Exemples d'applications temps-réel 3.Limites des systèmes classiques pour le temps réel 4.Exercices

ConclusionConclusion

Classement des systèmes temps réel selon :Leur besoin en garantie de service.

Il existe plusieurs niveaux de contraintesSystème temps réel dur ou critiqueSystème temps réel souple

Leur environnementSystème embarqués ou enfouisSystème répartis