introduction aux systèmes temps réel
Post on 05-Jan-2017
265 Views
Preview:
TRANSCRIPT
Introduction aux systèmes Temps Réel
M1UEF5 Systèmes embarqués
20052006
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'estce 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'estce 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'estce 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'estce 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'estce 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 : [1n] 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 luimême: il attend les sollicitations et réagit à cellesci: 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 nondéterminisme :● Charge de calculs (variations des durées d'exécution des
activités)● Entréessorties (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 ellesmê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