introduction aux systèmes temps réel

Post on 05-Jan-2017

265 Views

Category:

Documents

11 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Introduction aux systèmes Temps Réel

M1UEF5 Systèmes embarqués 

2005­2006

Plan :

I.  Introduction

II. Mécanismes Fondamentaux

III. Maîtrise du temps

IV. Temps réel et industrie

I. Introduction

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

2. Propriétés

3. Exemples d'applications

4. Limite des systèmes classiques pour le temps réel

I.1 Qu'est­ce que le temps réel ?● Types de systèmes informatiques :

● Systèmes transformationnels (calcul scientifique, gestion de BD) 

­ les données sont disponibles au lancement   ­ les instants de productions des résultats ne sont pas    

contraints ●Systèmes interactifs (systèmes transactionnels ou outils bureautiques) 

­ les résultats dépendent de données produites par                 l'environnement  ­ les instants de production respectent des valeurs            statistiques (souvent peu contraints)

I.1 Qu'est­ce que le temps réel ?● Types de systèmes informatiques :

● Systèmes temps réel ou systèmes réactifs:­ Systèmes embarqués­ Systèmes où l'intervention humaine est limitée     

          (voire absente)­ Résultats entièrement conditionnés par  

          l'environnement connecté­ Les instants de production dépendent de la 

          dynamique du procédé (environnement +           traitement)

­ Les instants de production sont fortement           contraints  (survie du système) 

I.1 Qu'est­ce que le temps réel ?●Validité d'un programme TR

Outre la correction algorithmique le temps intervient dans la validité du programme: 

­le temps de réaction doit être adapté aux événements             externes (crucial pour les systèmes embarqués)

­Le programme doit pouvoir fonctionner en continu en             maintenant sa capacité à traiter le flux de données             d'entrée  ­les temps de calculs sont connus (estimés) et peuvent             être utilisés dans une analyse de réactivitéValider un système temps réel c'est démontrer rigoureusement que le système a le comportement spécifié

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

Définition (1):

 Le comportement d'un système informatique est qualifié de « temps réel » lorsqu'il est assujetti à l'évolution d'un    procédé qui lui est connecté et qu'il doit piloter ou suivre en réagissant à tous ses changements d'états .

Groupe CNRS sur la problématique temps réel 1988

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

Définition (2):

 Un système temps réel est défini comme un système dont le comportement dépend :

­ De l'exactitude des traitements effectuées

­ Du temps où les résultats sont produits

Un retard = le fait de rater une échéance = erreur du système.

Exemple : tâche périodique

Exemple : tâche périodique

Exemple : tâche périodique

Exemple : tâche périodique

● Temps réel dur et lâche :– Si le retard d' un traitement =  exception (traitement 

spécifique en cas d'erreur) : on parle d'échéance dure, et il s'agit d'une défaillance

– Si le retard ne provoque pas d'exception: échéance lâche

– Un système dont aucune échéance ne doit être dépassée: Temps réel dur (hard real time)

– Si un dépassement occasionnel ne met pas en danger le système  :  temps réel lâche, ou mou (soft real time) 

● Temps réel critique :– Terminologie qui met l'accent sur les conséquences 

d'une défaillance du système et concerne la sûreté de fonctionnement

– Le système est critique si :● Il y a des conséquences humaines en cas de défaillance 

(contrôle aérien, centrales nucléaires, etc...)● Le coût financier d'une défaillance du système est d'ordre 

supérieur à celui du système. (exploration spatiale, etc...)

● Système et environnement :– Système : ensemble d' « activités » correspondant à    

un où plusieurs traitements effectués en séquence ou en concurrence. Les traitements communiquent éventuellement entre eux. 

– Le système est en interaction avec son environnement

– Modélisation simple : [1­n] processeurs + périphériques (capteurs , actionneurs)

– Les capteurs : ● collecte des signaux (évènements) émis par 

l'environnement● Prélèvement de l'état fugitif de l'environnement (mesures)

– Les actionneurs effectuent les réactions du système 

● Système et environnement :– Interaction système environnement :

● A des moments déterminés par une référence de temps interne au système : système pilotés par le temps (time driven system) , programmée pour exécuter les actions/lectures  à intervalles réguliers fixés par un timer (fonctionnement séquentiel) = systèmes synchrones

● A des moments déterminés par l'environnement lui­même: il attend les sollicitations et réagit à celles­ci:  système piloté par les évènements (event driven system) = systèmes asynchrones

● Un système temps réel est composé d'un système contrôlé et d'un système contrôleur

I.2 Propriétés

Prévisibilité

Déterminisme

Fiablité

● Prévisibilité– Conception afin que les performances soient définies 

dans le pire des cas 

– Permet de déterminer à l'avance si un système va respecter ses contraintes temporelles

– Nécessite un bonne connaissance des paramètres liés aux calculs des activités   = déterminisme

● Déterminisme– Enlever toute incertitude (= conserver la prévisibilité)

● Sur le comportement des activités individuelles● Sur le comportement des activités groupées dans le 

contexte d'exécution (+ordonnancement)

– Sources de non­déterminisme :● Charge de calculs (variations des durées d'exécution des 

activités)● Entrées­sorties (temps de réaction, durée des 

communications)● Interruptions (temps de réaction du système)● Fautes et exceptions matérielles ou logicielles = Fiabilité

● Fiabilité– Intervention humaine directe difficile (syst temps réel 

embarqués)   

– Conception tolérante aux fautes, pour garantir le comportement du système et de ses composants (prévisibilité => déterminisme => fiabilité)

– Temps de réaction cruciaux : conception de système dédiés

● Compromis hardware/software– Capacités, propriétés natives (rapidité), fiabilité du 

hardware● Mémoire, cpu, com 

– Poids des différents traitements pour mener à bien une tâche donnée

● Algo, complexité

– Gestion du hardware pour permettre l'execution des traitements (noyau temps réel)

● ordonnancement, gestion de la mémoire, préemption, etc...

I.3 Exemples

● Logiciel  de contrôle d'un Combiné GSM:– Embarqué

– Gestion des opérations de la couche physique● Émission, réception, mesure des niveaux de réception, etc...

– Gestion des procédures logiques ● Localisation, mesures de qualité du lien radio, 

– Gestion de la conversation● Relais entre deux reseaux

– IHM● Redaction, navigation, etc...

● Système de Video conférence sur réseau local– Numérisation du signal video

● Séquence de 30 images/s● Compression

– Reseau● Accès, envoi, réception

● Robot Autonome– Robot type mars explorer: 

– Aller du point A au point B sans être bloqué● Navigation●  évitement d'obstacle

– Contrainte importantes car il en découle la « survie »    de la mission : le robot ne doit pas rester bloqué

– échantillonnage des capteurs de proximité

– Vitesse de déplacement

– Architecture de subsomption pour ordonnancer navigation et évitement d'obstacles

I.3 Limites des systèmes classiques:

● Ordonnancement: temps partagé● Gestion des entrées sorties et des interruptions 

sous optimales● Gestion de la mémoire virtuelle très souple : 

engendre des fluctuations des temps d'exécution des activités d'un système

● Résolution temporelle pas assez fine

Plan :

I.  Introduction

II. Mécanismes Fondamentaux

III. Maîtrise du temps

IV. Systèmes Temps Réel

II. Mécanismes Fondamentaux

● Idée générale : revoir les mécanismes fondamentaux d'un OS classique pour comprendre les origines de la latence d'un système.

● Latence : – Délai global de bout en bout entre le changement 

d'état dans un environnent et la réaction correspondante en sortie du système

II. Mécanismes Fondamentaux

● Il s'agit d'un délai composite qui comprend :– Les délais de scrutation du système

– Les délais dus à l'os

– Les délais du calcul applicatif

– Les délais de transmission du message

II. Mécanismes Fondamentaux

● Il s'agit d'un délai composite qui comprend :– Les délais de scrutation du système

– Les délais dus à l'os

– Les délais du calcul applicatif

– Les délais de transmission du message

II. Mécanismes Fondamentaux

● Il s'agit d'un délai composite qui comprend :– Les délais de scrutation du système

– Les délais dus à l'os

– Les délais du calcul applicatif

– Les délais de transmission du message

● Gigue sur la latence :– Décrit l'incertitude sur la latence

– Problèmes d'accès aux ressources

– ordonnancement

II. Mécanismes Fondamentaux

● Exemple (1) : système élémentaire● Soit un système simple qui exécute un 

programme unique :– Acquisition des données

– Traitement (calcul)

– Restitution des résultats

II. Mécanismes Fondamentaux

● Exemple (1) : système élémentaire

II. Mécanismes Fondamentaux

● Exemple (1) : phase 1

II. Mécanismes Fondamentaux

● Exemple (1) : phase 2

II. Mécanismes Fondamentaux

● Exemple (1) : phase 3

II. Mécanismes Fondamentaux

● Exemple (1) : système élémentaire– Traitement séquentiel suffisant

– Séquencement réglé par l'horloge

– Pas de concurrence entre les phases

– OS simple

– Seule la dimension des ressources matérielles/logicielles est à prendre en compte (faire face au pire des cas: simple)

II. Mécanismes Fondamentaux

● Exemple (2) : système plus complexe :– Un évènement survient à n'importe quel moment : 

instant d'apparition non maîtrisé (traitement déjà en cours, ...)

– Il doit être pris en compte dans un délais maximum donné

II. Mécanismes Fondamentaux

● Exemple (2) : système plus complexe :– Un évènement survient à n'importe quel moment : 

instant d'apparition non maîtrisé (traitement déjà en cours, ...)

– Il doit être pris en compte dans un délais maximum donné

● Deux grands modèles d'interaction :– Scrutation cyclique (polling)

– Interaction par interruptions

II. Mécanismes Fondamentaux

● Scrutation :– Le système prend l'initiative d'activer la fonction qui 

va lire une entrée à un instant programmé pour vérifier si un évènement  a eu lieu. Le plus souvent cette scrutation sera faite périodiquement.

II. Mécanismes Fondamentaux

● Scrutation :Boucle infinie :

Tant que données non disponibles

Vérifier les capteurs

Lire les capteurs

Traiter les données

Démarrer les réactions

Tant que action en cours

Vérifier les actionneurs

II. Mécanismes Fondamentaux

● Scrutation (2) :– Avantages :

● Latence du système = temps de traitement d'une boucle● Cas proche du système simple séquentiel vu précédemment● Simple à programmer

– Inconvénients● « Alignement » de la boucle de traitements sur le    

périphérique le plus lent● Programme difficile à maintenir

II. Mécanismes Fondamentaux

● Interaction par interruptions :– Un signal hardware associé à l'arrivée d'un événement 

déclenche l'activation de la fonction qui va lire la donnée d'entrée. Le cours normal de l'execution du programme est intérompu.

– Initialement introduit pour gérer les E/S d'un processeur

– Concept étendu à la notion d'interruption interne ou exception (trap) logicielle

II. Mécanismes Fondamentaux

● Interaction par interruptions :

II. Mécanismes Fondamentaux

● Interaction par interruption :● 1. Scrutation : 

Boucle infinie :

tant que (état = données diponibles)

vérifier état des capteurs

lire les données mémorisées

remettre à zéro état des capteurs

II. Mécanismes Fondamentaux

● Interaction par interruption :● 2 gestionnaire d'interuption: 

Lire et mémoriser la donnée

positionner (état = données diponibles)

acquitter l'interrupion

II. Mécanismes Fondamentaux

● Interaction par interruption:– Avantages :

● Le traitement d'un événement externe va être partagé entre un traitement immédiat effectué par le gestionnaire d'interruption et par une gestion différée, confié à une tâche: traitement multitâche possible.  

– Inconvénients● Une grande partie du temps cpu est consacré à autre chose 

que l'application● Programme difficile à maintenir

II. Mécanismes Fondamentaux

● Il s'agit d'un délai composite qui comprend :– Les délais de scrutation du système

– Les délais dus à l'os

– Les délais du calcul applicatif

– Les délais de transmission du message

II. Mécanismes Fondamentaux

● Services de base:– Execution d'un programme par le processeur 

(éventuellement en concurrence : ordonnancement)

– Gestion de la mémoire

– Partage des ressources

– Synchronisation, communication

– Gestion du temps, horloge 

II. Mécanismes Fondamentaux

● Services de base:– Execution d'un programme par le processeur 

(éventuellement en concurrence : ordonnancement)

– Gestion de la mémoire

– Partage des ressources

– Synchronisation, communication

– Gestion du temps, horloge 

II. Mécanismes Fondamentaux

● Les tâches :– Programme : 

● Objet statique : suite d'instructions agissant sur un ensemble de données

– Processus : ● Objet dynamique géré par l'OS : tâche ou process

– Espaces mémoires séparés– Communiquent par des canaux spéciaux– Création coûteuse en temps– Mécanismes de protection très coûteux– Passage d'un processus à l'autre : coûteux transferts de mémoire

II. Mécanismes Fondamentaux

● Processus : – Zone programme

– Zone de données

– Zone de pile (données temporaires)

● Ensemble des informations caratérisant l'execution d'un processus : contexte du processus– Processus lourds (contexte important)

– Processus légers (contexte partagé/propre)

II. Mécanismes Fondamentaux

● Gestion multitâche et ordonnancement :– Un processus peut avoit plusieurs états:

● Courant : tâche élue, qui possède le processeur● Prêt : tâche éligible, demande le processeur● En attente : tâche bloquée en attente d'un événement

– Transition d'un état à un autre :● Réveil : « en attente » à « prêt »       

● Allocation : « prêt » à « courant »       

● Préemption : « courant » à « prêt »       

● Blocage : « courant » à « en attente »       

II. Mécanismes Fondamentaux

II. Mécanismes Fondamentaux

II. Mécanismes Fondamentaux

II. Mécanismes Fondamentaux

II. Mécanismes Fondamentaux

II. Mécanismes Fondamentaux

II. Mécanismes Fondamentaux

II. Mécanismes Fondamentaux

II. Mécanismes Fondamentaux

II. Mécanismes Fondamentaux

● La partie de l'OS qui fait évoluer les états des tâches et qui alloue le processeur s'appelle l'ordonnanceur (scheduler)

● L'ordonnanceur est une procédure de service de l'OS

● Ordonnanceur :– Préemptif : le processus courant peut être désaloué  

par décision de l'ordonnanceur (ex : interruptions)

– Non préemptif: la tâche courante ne peur être interrompue par une autre tâche

II. Mécanismes Fondamentaux

● Lois d'ordonnancement (systèmes classiques)– Premier arrivé, premier servi (FIFO)

● Premier tâche de la file est allouée● Une tâche réveillée ou préemptée : fin de file

II. Mécanismes Fondamentaux

● Lois d'ordonnancement (systèmes classiques)– Tour de rôle (tourniquet)

● FIFO● Activation périodique des tâches● Pas de notion urgence vis a vis des traitement● Politique égalitaire : partage du temps

II. Mécanismes Fondamentaux

● Lois d'ordonnancement (systèmes classiques)– Par priorité

● Choix dans la liste des tâches en fonction de la priorité de la tâche

● La priorité la plus haute l'emporte (allocation) : pas de partage du temps 

● « totalitaire »   

II. Mécanismes Fondamentaux

● Lois d'ordonnancement (systèmes classiques)– Unix : priorités et partage du temps :

● Traitement des tâches de priorité les plus haute● Tourniquet parmi les tâches de même priorité● Traitement d'interruptions au détriment de tâches de fortes 

priorités

II. Mécanismes Fondamentaux

● Lois d'ordonnancement (systèmes TR)– Limiter le partage du temps

– Limiter les préemptions (très coûteux)

– Utiliser les priorités

– Ordonner les priorités a priori lors des tests de faisabilité, en fonction des situations/charges du système possibles

– Grande importance de l'ordonancement/traitement des préemptions

II. Mécanismes Fondamentaux

● Rappel :– Les délais de scrutation du système

– Les délais dus à l'os

– Les délais du calcul applicatif

– Les délais de transmission du message

II. Mécanismes Fondamentaux

● Gestion des ressources :– Problème d'accès concurrent à une même ressource

– Ex: Tâches 1 et 2

II. Mécanismes Fondamentaux

● Gestion des ressources :– On appelle séquence atomique une suite d'opérations 

exécutées par un système qui permet de passer d'un état cohérent à un autre état cohérent sans possibilité d'interruption de la séquence (ex : tâches 1 et 2)

– On appelle section critique une séquence d'opérations qu'il faut effectuer de façon atomique

– Les sections critiques opérant sur des ressources communes doivent être exécutées en exclusion mutuelle

II. Mécanismes Fondamentaux

●  Pour assurer l'atomicité d'un séquence :– Masquage matériel : on assure que la séquence ne sera 

préemptée en masquant toutes les interruptions  et les appels au système pouvant provoquer une préemption

– Masquage logiciel : inhibition de l'ordonnanceur pendant le déroulement de la section critique.

– Utilisation de sémaphores d'exclusion mutuelle

II. Mécanismes Fondamentaux

●  Sémaphore binaire ou d'exclusion mutuelle :– Entité logique associée à une ressource 

– Deux primitives P et V permettent de manipuler le sémaphore.

● Entrée d'une tâche en section critique : elle invoque le P● Fin du traitement protégé : elle effectue le V

II. Mécanismes Fondamentaux

●  P :Compteur = compteur – 1

Si compteur < 0

Mettre la tâche en file d'attente (FIFO)

Sinon accorder la ressource 

– Compteur est initialisé à 1

– Si plusieurs taches requiers le P (déjà à 0) constitution de la file d'attente

– Une tâche qui acquiers la ressource « passe le P »   

II. Mécanismes Fondamentaux

●  V :Compteur = compteur + 1

Si compteur <= 0

sortir une tâche de la file d'attente (FIFO)

– Lorsqu'une tâche à effectuée le V, le choix parmi les tâches en attente peut s'effectuer avec les mêmes critères que pour l'ordonnancement

– Mécanisme qui peut être étendu à plusieurs ressources:

● Seule la valeur d'initialisation du compteur change

II. Mécanismes Fondamentaux

●  Limites pour le TR:– Attention aux blocages !

– Une tâche de faible priorité ne peut bloquer une tâche haute

– Solutions :● Gestion des attentes par priorité● Fournir des primitives de type « test de disponibilité »   

● Associer un temps d'attente maximum aux primitives bloquantes

Plan :

I.  Introduction

II. Mécanismes Fondamentaux

III. Maîtrise du temps

IV. Systèmes Temps Réel

III. Maîtrise du temps 

● Ordonnancement● Tests de faisabilité● Analyse de l'interaction entre processus● Inclusion de processus apériodiques

III. Maîtrise du temps 

● Ordonnancement : « dans quel ordre exécuter les  tâches ? » – Satisfaire les contraintes de temps des transactions TR 

en allouant de façon efficace les ressource cpu.

– Différentes catégories d'algorithmes :● Off line : les décisions d'ordonnancement sont prises avant 

l'exécution du système : algorithme statique● On line : réévaluation en ligne de l'ordonnancement en 

fonction de la modification des critères de choix (prise en  compte d'évènements non prévus): algorithme dynamique

III. Maîtrise du temps 

● 4 types d'algorithmes d'ordonnancement:– Statiques pilotés par table :

● Hors ligne● L'application va être découpée en séquences élémentaires

   qui ne seront jamais interrompues● Une séquence est une procédure définie par l' utilisateur,

   C'est l'unité de base● Un processus est une suite ordonnée de séquences● l'ordonnancement des processus est régit par un calendrier

   C'est une table spécifiant le liste des processus à activer● Application systématique par ordonnancement cyclique● ABCABCABC

III. Maîtrise du temps 

● 4 types d'algorithmes d'ordonnancement:– Statiques pilotés par table :

● Les processus sont indépendants les uns des autres● L'ordonnancement des processus est régi par une horloge● Il n'existe pas de préemption● Le découpage en séquences non interruptibles assure la protection● Des données partagées entre les processus● Il est aisé de certifier le comportement de l'application

III. Maîtrise du temps 

● 4 types d'algorithmes d'ordonnancement:– Statiques préémptifs basés sur les priorités

● Hors ligne● Permet d'assigner les priorités aux tâches● Une fois en cours d'exécution, le système utilise un 

ordonnancement préemptif (analyse rate monotonic) basée sur la notion de priorité fixée apriori.

III. Maîtrise du temps 

● 4 types d'algorithmes d'ordonnancement:– Dynamique avec planification à l'exécution

● Analyse en ligne● Choix de l'ordonnancement en fonction de critères 

d'analyse :– HPF : Highest Priority First– EDF : Earliest Deadline First : échéance la plus proche– LLF : Least Laxity First (marge la plus courte) EDF + notion de 

durée de travail● Prise de décision quand le système est actif● Les critères peuvent varier durant l'exécution

III. Maîtrise du temps 

● 4 types d'algorithmes d'ordonnancement:– Dynamique avec notion du meilleur effort :

● En ligne● Pas d'analyse● Le système fait de son mieux

III. Maîtrise du temps 

● Les tâches :– Périodiques

– Sporadiques

– Apériodiques

III. Maîtrise du temps 

● Les tâches :– Périodiques : doivent être activées à intervalles 

réguliers

– Sporadiques : irrégulières mais il existe un temps minimal entre deux activations

– Apériodiques : irrégulières

III. Maîtrise du temps 

● Les tâches :– Périodiques

– Sporadiques

– Apériodiques

● Et aussi :– Tâches indépendantes

– Tâches dépendantes

III. Maîtrise du temps 

● Rappel :– C:  coût d'une tâche

– D: échéance (deadline), la tâche doit être exécutée avant  que D soit écoulé

– T: période d'activation de la tâche

Exemple : tâche périodique

III. Maîtrise du temps 

● Ordonnancement● Tests de faisabilité● Analyse de l'interaction entre processus● Inclusion de processus apériodiques

III. Maîtrise du temps 

●  Test de faisabilité : Déterminer s'il existe un algorithme qui satisfait les contraintes du système. 

● S'il existe un ordonnancement d'un ensemble de tâches qui respecte les contraintes associées à ces tâches, alors l'ensemble des tâches est dit faisable

● Implique la connaissance du coût des tâches dans le pire des cas

III. Maîtrise du temps 

III. Maîtrise du temps 

●  Test de faisabilité :  Analyse Rate Monotonic (RM).● Méthode d'affectation hors ligne de priorité statiques à une 

ensemble de tâches.

● Ordonancement optimal si HPF est utilisé

● Critères :

– Tâches périodiques à l'état Prêt au début de chaque période

– Échéance = Fin de Période (D=T)

– Les tâches ne se suspendent pas elles­mêmes en cours d'exécution

– Préemtion possible, temps de Préemption négligeable

– Temps d'ordonancement négligeable

– Tâches indépendantes, C connu

III. Maîtrise du temps 

●  Test de faisabilité :  Analyse Rate Monotonic (RM).● L'affectation de priorité se fait en fonction de la fréquence des 

tâches:

– Plus la fréquence est forte, plus la priorité est élevée

– Priorité de la tâche i :   Pi = 1/Ti

– Ordonnancement avec HPF

III. Maîtrise du temps 

●  Test de faisabilité :  Analyse Rate Monotonic (RM).

● Condition suffisante :

– Métrique : taux d'utilisation du processeur = quantité de temps de traitement consommé par les tâches par rapport au temps total :

U=∑i=1

n

dureei/ périodei

III. Maîtrise du temps 

●  Test de faisabilité :  Analyse Rate Monotonic (RM).

● Condition suffisante :

– Métrique : taux d'utilisation du processeur = quantité de temps de traitement consommé par les tâches par rapport au temps total :

– Pour toute tâche i, avec Ci connu, et Ti=Di, on a:

U=∑i=1

n

dureei/ périodei

pour tout i , 1≤i≤n ,U i=∑j=1

i

C j /T j≤i×21 /i−1

III. Maîtrise du temps 

●  Test de faisabilité :  Analyse Rate Monotonic (RM).

● Condition suffisante :

– En particulier pour n tâches on a:

– Partie de gauche : taux d'utilisation par les n tâche

– Partie droite : temps cpu allouable au max, en fonction du nombre de tâche, n

pour tout i , 1≤i≤n ,U=∑i=1

n

C i /T i≤n×21/n−1

III. Maîtrise du temps 

III. Maîtrise du temps 

●  Théorème de la zone critique

● Si toutes les tâches arrivent initialement dans le système simultanément et si elles respectent leur première échéance, alors toutes échéances seront respectée par la suite quelle que soit l'instant d'arrivé des tâches

– Avec t : instant d'arrivée de la tâche

– Prend en compte le retar imputable au déroulement des tâches de plus forte priorité

pour tout i , 1≤i≤n , min0 ≤t≤Di∑j=1

i

C j / t .ceil t /Tj ≤1  

III. Maîtrise du temps 

●  Théorème de la zone critique

● Plus généralement :

–  On considère un temps de simulation donnée.

–  On réveille toutes les tâches périodiques en même temps à l'instant 0 (pire des cas)

– Si toutes les tâches sont ordonnancées par HPF sur le temps de simulation sans qu'aucune échéance soit manquée, alors le test est considéré comme validé

III. Maîtrise du temps 

●  Propriété harmonique : 

– Cas particulier de tâches où toutes les périodes sont multiples entre elles:

pour tout i , 1≤i≤n ,U=∑i=1

n

C i/T i≤1

III. Maîtrise du temps 

●  Test de faisabilité :  Analyse Deadline Monotonic (DM).

● Dérivée de RM

● Condition suffisante :

– L'echéance est str inférieure à la période (Di < Ti)  

– La priorité est fixée par ordre inverse de l'échéance

– Affectation statique des priorités, on applique HPF

pour tout i , 1≤i≤n ,U i=∑j=1

i

C j /D j≤i×21/i−1

III. Maîtrise du temps 

●  Test de faisabilité :  Analyse Dynamique : EDF

● Ordonnancement dynamique : variation des priorités des tâches lorsque le système est en fonctionnement

● Condition suffisante :

– Priorité : tâche qui possède l'échéance la plus proche

– En cas d'egalité : la tâche en cours reste en execution

pour tout i , 1≤i≤n ,U i=∑j=1

i

C j /T j≤1

III. Maîtrise du temps 

● Exemple : HPF

III. Maîtrise du temps 

● Exemple : HPF

III. Maîtrise du temps 

● Exemple : HPF

III. Maîtrise du temps 

● Exemple : HPF

III. Maîtrise du temps 

● Exemple : HPF

III. Maîtrise du temps 

● Exemple : HPF

III. Maîtrise du temps 

● Exemple : HPF

III. Maîtrise du temps 

● Exemple : EDF

III. Maîtrise du temps 

● Exemple : EDF

III. Maîtrise du temps 

● Exemple : EDF

III. Maîtrise du temps 

● Exemple : EDF

III. Maîtrise du temps 

● Exemple : EDF

III. Maîtrise du temps 

● Exemple : EDF

III. Maîtrise du temps 

● Exemple : EDF

III. Maîtrise du temps 

●  Test de faisabilité :  Analyse Dynamique : LLF

● Ordonnancement dynamique : variation des priorités des tâches lorsque le système est en fonctionnement

● Condition suffisante :

– Priorité : tâche qui possède la marge la plus faible

– Marge = echeance – temps de calcul restant

pour tout i , 1≤i≤n ,U i=∑j=1

i

C j /T j≤1

III. Maîtrise du temps 

III. Maîtrise du temps 

III. Maîtrise du temps 

●  Interaction entre processus :

– Dans certains cas, les tâches peuvent être potentiellement dépendantes : cas d'accès en exclusion mutuelle à des ressources communes

– Pb de l'inversion de priorité : ● Une tâche de plus faible priorité bloque une tâche 

plus importante● Le système doit temporairement inverser les 

priorités pour éviter le préemption (section critique)

● Coûteux et lourd à gérer

III. Maîtrise du temps 

●  Solution: héritage de priorité :

– Le possesseur du sémaphore est la tâche qui a eu le droit d'accéder à la ressource en exclusion mutuelle

– Héritage simple : c'est le sémaphore qui gère les priorités dans sa file d'attente

– La tâche qui détiens le sémaphore hérite de la priorité de la tâche qui réclame la ressource

– Limite à 1 le nombre d'inversion de priorités

III. Maîtrise du temps 

●  Solution: héritage de priorité (pour info):

– Héritage par verrou le plus haut

– Héritage par plafond de priorité

III. Maîtrise du temps 

●  Inclusion de processus apériodiques :– Un processus périodique assimilé à un serveur est 

intégré dans le système.

– Il contrôle les tâches apériodiques

– Ce serveur possède :● Une priorité Pm (à définir)● Un coût Cm dans le pire des cas définit en fonction du 

profil d'arrivée des tâches apériodiques● Une période Tm

III. Maîtrise du temps 

●  Fonctionnement en 2 phases:– Scrutation des évenements périodiques à utiliser

– Déclenchement de l'exécution s'il y a au moins un événement en attente d'être traité. Dans ce cas, la capacité de traitement Cm est offerte.

● Donne un profil périodique à des événement apériodiques

● Peut être intégré dans RM, DM, etc...

III. Maîtrise du temps 

●  Résumé : analyse RM– Affectation des priorités statique

– Optimal : si un algorihtme statique arrive a produire un ordonnancement, alors RM y arrive aussi

– Peut être augmenté pour prendre en compte:● Les situations de blocage● Les tâches apériodiques

– Simple

– Ne pas oublier de vérifier le cas harmonique

III. Maîtrise du temps 

●  Résumé : analyse DM– Idem RM

III. Maîtrise du temps 

●  Résumé : ordonnancement HPF– Simple

– Bien adapté aux tâches périodiques et apériodiques

– Très utilisé

– Indépendance impérative

– Sous optimal

III. Maîtrise du temps 

●  Résumé : ordonnancement EDF– Simple

– Optimise l'usage des ressource

– Bien adapté aux tâches périodiques et apériodiques

– Indépendance impérative

– Comportement délicat en cas de surcharge

– Commence à apparaître dans les nouveux OS

III. Maîtrise du temps 

●  Résumé : ordonnancement LLF– Priorités dynamiques

– Même hypothèses que EDF

– Optimal sur 1 cpu 

– Meileur qu'EDF en multiprocesseur

– Difficile à implanter: nécéssité de maintenir à jour le temps de calcul consommé pour chaque tâche

III. Maîtrise du temps 

●  Résumé général:● Faire le test: RM ou DM● Tester les différentes politique d'ordonacement:

– HPF vs EDF vs LLF

● Conclure sur la politique la moins coûteuse :– La plus simple: le moins de calculs dynamiques

– Le moins de préemption

top related