Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James...

35
Temps Réel Barat Christian 2005-2006

Transcript of Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James...

Page 1: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Temps Réel

Barat Christian

2005-2006

Page 2: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Définitions

• On retrouve un ensemble de définitions• James Martin dans Real-Time computer system

– Un calculateur temps réel peu être défini comme contrôlant son environnement en recevant des informations, les traitant et agissant en retournant les résultats suffisamment vite pour affecter, modifier le fonctionnement de l’environnement à chaque instant.

• Kaiser– On dit qu’il y a traitement en temps réel lorsque le temps de

réponse à des interrogations, généralement aléatoires, est soumis à des contraintes du système.

Page 3: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Définition

• On prendra cette définition:– Un système temps réel est un système qui permet l’exécution de

tâches ayant des contraintes temporelles. Il doit garantir des réponses à des stimuli avec des échéances fixées (contraintes strictes) ou des temps de réponse bornés (contraintes relatives)

Page 4: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Les systèmes d’exploitation

Une machine informatique doit gérer ses différents organes : clavier, écran, mémoire centrale, disque dur, etc…C’est le programme de gestion de la machine appelé système d’exploitation qui s’occupe de cela (Disk Operating System: gère les accès au disque).

Exemples : MS-DOS, UNIX

1. Système d’exploitation monoprocesseur, mono tâche:Le système alloue le CPU (Central Processing Unit) à un seul

programme. Tant que celui-ci s’exécute aucune autre application ne peut s’exécuter (MS-DOS).

Page 5: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Les systèmes d’exploitation

• Système d’exploitation monoprocesseur, multitâche– Le système d’exploitation peut préempter le CPU au profit d’une

application en fonction de situations diverses. Le multitâche à pour objectif d’exploiter le plus efficacement possible toutes les ressources d’un système informatique. Exemples:

• L’application se suspend elle-même pour attendre la fin d’une opération E/S qu’elle a préalablement lancé. Le CPU est alloué à une application en attente d’exécution.

• Un évènement urgent nécessite un traitement immédiat se traduisant par l’exécution d’un programme associé.

– Systèmes d’exploitations : OS/2 (IBM), WINDOWS NT (Microsoft) , UNIX (ATT)

Page 6: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Les systèmes d’exploitation

• Système d’exploitation multiprocesseur, multitâche– Les tâches sont exécutées respectivement sur des cartes CPU

distinctes. On a un parallélisme des activités. Cela implique une coopération entre tâches : communication, synchronisation, partage des ressources. D’où l’utilisation d’un bus système avec gestion multi-maitres.

– Bus VME (Motorola), Multibus (Intel), MCA (IBM), EISA, PCI.

– On utilise un système d’exploitation de type UNIX ou des exécutif multitâches temps réel de type (VRTX), RTC, A6MTR.

Page 7: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Systèmes d’exploitation

• Structuration d’un système informatique classique.

matérielNoyau

Services du système d’exploitation

Plate-formeProfessionnelle

Application

Sémaphore

Gestion IT

Gestion Horloge

OrdonnanceurGestionMV

PilotesGestionTâches

Gestionmémoire

Gestionfichiers

Gestion Objets

Messagerie

BaseDonnées

BiblioProgrammes

InterfaceHM

Page 8: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Le multitâche

• But : Exploiter le plus efficacement possible toutes les ressources d’un système informatique.

• Le système d’exploitation doit mettre en œuvre les règles de possession et de partage de ressources, définir les compétiteur (prg en mémoire centrale) et les contrôler tout au long de leur exécution.

• Plusieurs prgs coexistent en mémoire centrale et sont exécuté alternativement dans le temps par l’unité centrale.

Page 9: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

La tache

• Une tache comporte en général 3 zones:– Une zone de programme contenant les instructions et certaines

constantes (accessible en R).– Une zone de données contenant les données variables et les

données constantes ou initialisées (accessible en R/W).– Une zone de pile permettant de ranger les informations

temporaires (accessible R/W).

• Contexte de la tache : état des registre du processeur, l’état des pointeurs (programme, données, pile), le nom, la priorité, les droits d’accès, identificateur de l’état de la tache.

Zonedonnées

Zone Pile

ZoneProgramme

Page 10: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

ETATS DES TACHES

• Une tache est une unité logicielle dynamique : le noyau la place dans un des 4 états possibles.

• Active : La tache est en cours d’exécution (1 seule, priorité + grande)• Prête : Elle attend le processeur (ll peut y en avoir plusieurs)• Suspendue : Attente d’un événement pour passer dans l’état prêt.• Inactive: Elle ne participe plus à l’activité du système.• La gestion des taches par l’Ordonnanceur s’effectue par l’intermédiaire

d’un automate logiciel.

Page 11: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Automate logiciel

active

inactiveattente

Prêt

Arrêttâche

Occurrencecondition

Attentecondition

sélection

préemption

Terminer

ArrêttâcheDémarrer

tâche

Page 12: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Communication et synchronisation

• En environnement multitâche, les processus coopèrent en vue de la réalisation d’une activité commune.– Coopération temporelle : notion de blocage et déblocage

– Coopération spatiale : échange d’informations

• 4 catégories de relations : – Processus indépendants

– Processus ayant accès à des ressources communes

– Processus liés

– Processus à contrainte de temps

Page 13: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Partage de ressources

• Le Pb de partage de ressources est crucial : c’est un problème d’ordonnancement de taches.

• Exemple : – Tache P1 :

• Prendre la ressource R2 et l’occuper

• Prendre la ressource R1 quand P2 la libère

– Tache P2• Prendre la ressource R1 et l’occuper

• Prendre la ressource R2 quand P1 la libère

• Inter blocage

Page 14: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Condition d’inter blocage

• [Coffman71] :– Les ressources ne sont pas partageables– Il n’est pas possible de préempter un

processus en possession de la ressource à un instant donné.

– Un processus en possession d’un ressource peut faire une requête d’une autre ressource.

– Il existe une file de n processus pour laquelle le processus Pi attend la ressource allouée à Pi+1, Pn étant en attente de Po.

Page 15: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

L’exclusion mutuelle

• Deux processus en phase d’impression sont en exclusion mutuelles vis-à-vis de l’imprimante.

• L’exclusion mutuelle de 2 processus/ressource partageable suppose une phase pendant laquelle un seul processus est en possession de la ressource.

– Section critique (dans le code c’est la région critique)

• La région critique correspond à une zone de code dans laquelle il ne peut y avoir de prise en main par l’Ordonnanceur du système pour l’exécution d’une tache plus prioritaire.

• Solutions : Sémaphore/Evenements

Page 16: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Sémaphore

• Objet jouant le rôle de distributeur de tickets– Opération P (Prendre) : demande de ticket, le

processus est bloqué jusqu’à ce qu’un ticket soit disponible.

– Opération V (Vendre) : signale la disponibilité d’un ticket, parmi tout les processus en attente d’un ticket un processus est chois et réveillé.

• Peut être utilisé pour la synchronisation ou l’exclusion mutuelle.

Page 17: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Synchronisation par sémaphore

• Valeur initiale nulle• Exemple : P2 édite

les résultats de P1

Processus P1

Début

//traitement

V(S_P2)

/*..*/

P(S_P1)

/*..*/

Fin

Processus P2

Début

/*..*/

P(S_P2)

/*affiche*/

V(S_P1)

/*..*/

Fin

P1 P2

P(S_P2)

V(S_P2)

P(S_P1)

V(S_P1)

affic

he

trai

tem

ent

Page 18: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Exclusion mutuelle par sémaphore

• Valeur initiale 1 • On encadre la section

critique

Processus n

Début

/*..*/

P(Sémaphore)

//section critique

V(Sémaphore)

/*..*/

Fin

Page 19: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Les événements

• Autre méthode de synchronisation• Signal logiciel asynchrone/processus récepteur• Représenté par une variable booléenne

– Ev = 0 : Non arrivé– Ev = 1 : Arrivé

• Trois opérations :– Positionnement de l’événement (Ev = 1) : SET– Mise à zéro de l’événement (Ev = 0) : RESET– Attente de l’événement (Mise dans la file d’attente) : WAIT

Page 20: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Les files d’attentes

• La manière de gérer les files de processus à une grande incidence sur les performances d’un système.

• LIFO (pile) ou FIFO (liste, file, queue).Tableau pointeursur les différentesfiles

File des processus prêts

File des processus en attented’événement

Processus en cours

Ordonnanceur

File des processus enAttente sur sémaphore

Page 21: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Les files d’attente

• Les processus actif sont chaînés par priorité. Cette file est susceptible d’être modifiée dynamiquement au cours du temps en fct de la stratégie adoptée.

• La file des processus en attente d’événement est statique (ne dépend pas des priorités). On peut avoir une file d’attente distincte à chaque type d’événements.

• Les files d’attente sur sémaphore (mutex) sont généralement gérés par ordre d’arrivée.

Page 22: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Ordonnancement

• L’Ordonnanceur sélectionne les taches. C’est le chef d’orchestre. Il est invoqué chaque fois qu’une modification intervient sur l’ensemble des taches actives.– Il alloue le processeur à une tache parmi N

taches éligibles.– Assure la gestion des commutations de

taches de l’état bloqué à l’état éligible.

Page 23: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Le dispatcher/répartiteur

• Il réalise l’élection effective d’un processus et e changement de contexte associé.

Ordonnanceur Processeur

dispatcher

Processus élu

File d’attente des processus éligibles

File d’attente Des processus bloqués

Page 24: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Commutation des taches

• Commutation contexte différent de commutation des taches:• Commutation de contexte

– Sauvegarde de l’état des registres du processus courant

– Restauration de l’état des registres relatif au nouveau processus

– Effectuées lors d’un appel noyau ou lors de l’occurrence d’une interruption

• Commutation des taches– Abandon du traitement de la tache en cours pour le traitement d’une

autre tache.

– Provoquée par la demande explicite de la tache en cours (attente,..)

– Provoquée sur décision de l’Ordonnanceur (tache + prioritaire active).

– Provoquée par la nécessité de réponse à un phénomène externe.

Page 25: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Commutation de tache et de contexte

Tache 1 Tache 2

Mise en sommeilTache 1

RestaurationContexte tache 2

Sauvegarde Contexte tache 1

Recherche de laTache de plusHaute priorité

Page 26: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Les critères de sélection

• A l’Ordonnanceur est associé une technique de gestion des différentes taches avec des contraintes :– Garantir à chaque tache un temps d’allocation donné

– Respecter un ordre de priorité entre tache

– Respecter un temps de réponse donné

– Annuler de manière préemptive une tache qui monopolise le processeur

• Généralement l’invocation de l’Ordonnanceur s’effectue sur :– Mise en attente ou réveil d’une tache

– Changement de priorité d’une tache

– Réquisition du processeur au profit d’une tache plus prioritaire

Page 27: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Ordonnancement

• Ordonnancement par file descripteurs :– Les taches actives sont organisées en files doublement

chaînées par l’intermédiaire de leur descripteur.

Tableau pointeursur les différentesfiles Ordonnanceur

Page 28: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Le temps partagé/time sharing

• Ordonnanceur préemptif• Chaque processus est interrompu toute les x

millisecondes par le système (horloge temps réelle).• Round robin : s’effectue sur une unique file d’attente de

processus eligiblent.• Le choix de l’unité de temps est primordial pour une

bonne optimisation des temps d’attente et/ou d’occupation de l’unité centrale.

Page 29: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Choix du quantum de temps

• Si temps trop court :– Overhead (temps du à la commutation des taches)

• Si temps trop long– Temps alloué à des processus pour rien.

• Files multiples:

P3 PnP1P2…sélection

processeur

P7 PiP6P4…

Quantum 2Q

Quantum Q

arrivées

Parcours : F1,F1,F2,F1,F1,F2

Page 30: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Approche temps réel

• Multitâche : Round robin ou file multiple OK

• Temps réel : Assurer un déterminisme entre 2 utilisations successives d’un processeur par un processus.

– Associer une priorité au processus

P3 -- P2 P1 Pn

41 12 8 1

sélectionprocesseur

Processus De priorité 30

priorité

Page 31: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Contraintes temps réel

• Un système temps réel doit induire, de par ses caractéristiques la mise en œuvre d’un certain nombre d’éléments, lui permettant de répondre aux critères temps réels. Cela impose des contraintes sur le système, le matériel et les logiciels.

• Contraintes Système : datation, sûreté et sécurité de fonctionnement. Il faut minimiser l’effet de défaillance en exigeant que l’arrêt d’un processus ne doit pas traduire par l’arrêt de tous les processus présents dans le système.

• Contraintes matériel : horloge temps réel, mécanisme d’interruption, instruction spécialisées, interfaces adaptés aux processus mis en jeu, un mécanisme de priorité d’interruption en tenant compte des différentes cadences et délais.

• Contraintes logicielles : mise en œuvre aisée de la gestion des relations entre processus (instructions spécialisées)

Page 32: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Le facteur temps

• Le déterminisme (délai) : impose le traitement l’exécution dans un temps limite définit.

• Un exécutif temps réel sera dit déterministe s’il est indépendant de la charge du système (nb de taches actives) et si l’on peut répondre le plus vite possible à une requête externe et la traiter dans un temps indépendant de l’environnement extérieur.

• La préemption est l’un des outils mise en œuvre pour assurer l’aspect déterministe d’un système. Cela permet de prendre en compte l’urgence de traitement.

Page 33: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Multitâche et temps réel

• Un exécutif temps réel reprend tout ce qui caractérise un système multitache :– Exécution concurrente de taches– Synchronisation et communication

• Temps réel implique principalement l’adoption de stratégie différentes dans le cadre des traitements:– Déterminisme – Urgence

• Multitâche = optimisation du processeur• Temps réel = déterminisme des actions

Page 34: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Idées reçues• Toute application temps réel est multitâche:

– Est-ce que les contraintes de temps sont respectées.

• Tout exécutif temps réel réalise des traitements en temps réel quelque soit le domaine d’application

• On évalue la puissance d’un exécutif temps réel sur la base de ses temps critiques

• Dans une application temps réel, c’est l’aspect déterministe qui compte le plus

Page 35: Temps Réel Barat Christian 2005-2006. Définitions On retrouve un ensemble de définitions James Martin dans Real-Time computer system –Un calculateur temps.

Références

• Le temps réel en milieu industriel : concepts, environnements, multitâches– A. Dorseuil, P. Pillot , Editions DUNOD 1991

• Gestion des processus industriels temps réel : Des interruptions électroniques aux exécutifs multitâches.

– J.J. Montois, ellipses/édition marketing S.A. 1999

• Ordonnancement temps réel : cours et exercices corrigés– F. Cottet, J. Delacroix, C. Kaiser, Z. Mammeri, Edition Hermes Sciences

Publications, 2000

• Meeting Deadlines in Hard Real-Time Systems: The Rate Monotonic Approach

– L. P. Briand, D. M. Roy, Editions IEEE Computer Society, 1999