Des syst - PowerPoint PPT Presentation

About This Presentation
Title:

Des syst

Description:

Certains sont utilis s par les syst mes temps r els ; d'autres doivent tre abandonn s ... additionner R1 R2. Le s maphore S est initialis 1. Listes des ... – PowerPoint PPT presentation

Number of Views:133
Avg rating:3.0/5.0
Slides: 41
Provided by: DC2107
Category:
Tags: additionner | des | syst

less

Transcript and Presenter's Notes

Title: Des syst


1
Des systèmes classiques aux systèmes temps réels
  • Objectif
  • Nous revenons sur les principaux mécanismes mis
    en œuvre dans un système classique. Certains sont
    utilisés par les systèmes temps réels d'autres
    doivent être abandonnés car ils ne permettent pas
    la prise en compte de contraintes temporelles.

2
Plan
  • Services d'un système élémentaire
  • Services multitâches
  • Gestion du processeur
  • Gestion des interruptions et multitâches
  • Partage des ressources et exclusion mutuelle

3
Vue d'un ordinateur classique
Mémoire principale
Stockage Secondaire
Périphérique E/S
CPU
Bus
Registres
Unité de contrôle
Unité Arithmétique et Logique
4
Les services de base qu'un OS offre
  • Exécution d'un programme dans le processeur
  • Échange avec l'extérieur
  • Gestion mémoire
  • Partage des ressources
  • Gestion du temps
  • Nous allons étudier ces services en étudiants
    leurs limites vis à vis de la prise en compte des
    contraintes de temps réel.
  • Dans la suite, nous détaillons uniquement
    l'exécution du programme dans le processeur en
    étudiant les limites vis à vis de la prise en
    compte de contraintes temps réel.

5
Services d'un système élémentaire
  • Interaction par scrutation cyclique
  • Interaction par Interruption
  • Limites des approches précédentes
  • Nous allons voir l'interaction entre le programme
    et le monde extérieur. C'est à dire comment le
    programme réagit à un événement à des instants
    qu'il ne maîtrise pas.

6
Les interaction par scrutation cyclique
  • Le programme va interroger (ou scruter) ses
    périphériques régulièrement.

faire faire vérifier capteur tant que
(données non disponibles) lire capteurs traiter
les données démarrer les réactions faire vérif
ier les actionneurs tant que actions
effectuées jusqu'à arrêt du système
7
Les interactions par interruptions
  • Le programme est averti de la survenue d'un
    événement. Une interruption interrompt le cours
    du programme et lui permet de reprendre le
    programme là où il a été interrompu.

Programme de scrutation traitement
différé faire faire vérifier les capteurs tant
que (état données disponibles) lire données
mémorisées remettre à zéro état des
capteurs Jusquà arrêt du système Gestionnaire
d'interruption Prise en compte
immédiate Interruption lire et mémoriser les
données positionner (état capteur données
disponibles) acquitter linterruption
8
Les interactions
  • Avantages
  • Simple à programmer s'il y a peu des
    périphériques
  • Le temps de réaction d'un système est simple à
    déterminer. Il s'agit du temps de traitement
    d'une boucle. On peut s'avoir si le système
    satisfait les contraintes de temps.

9
Limitations des approches précédentes
  • Inconvénients
  • Va à l'encontre des pratiques du génie logiciel.
    Le programme mal structuré devient rapidement
    illisible et impossible à maintenir.
  • Un nouveau périphérique demande la remise en
    cause de l'existant.
  • Une grande partie du temps processeur est
    consacrée à autre chose qu'à l'application.

10
Exemple
  • Soit un programme émettant des caractères sur une
    liaison série à 9600 bauds via un UART. Il
    possède 2 séries de registres pour transférer et
    recevoir des caractères. L'UART cause des
    interruptions différentes pour l'émission et
    l'arrivée des caractères.
  • L'UART émet un caractère tout les millisecondes
    environ. L'ordinateur ne peut émettre le
    caractère suivant que quand l'UART est prêt.
  • Il perd donc beaucoup de temps à tester par
    scrutation s'il est autorisé à émettre le
    caractère suivant ou pas.

11
Exemple suite
  • Pour émettre un caractère, le programme se bloque
    en faisant appel à l'opération (Attendre). L'UART
    répond par une interruption (TxReady) lorsqu'il
    est prêt. Le gestionnaire d'interruption effectue
    l'opération (Signaler) et le programme suspendu
    peut rependre le processeur et réémettre un
    caractère immédiatement.
  • Il faut noter que pendant la milli-seconde qui
    s'est écoulée entre (Attendre) et l'interruption,
    d'autres programmes pourraient effectuer un
    travail utile.
  • C'est pour mieux répondre à ce besoin qu'on a
    introduit la notion de tâche.

12
Plan
  • Services d'un système élémentaire
  • Services multitâches
  • Gestion du processeur
  • Partage des ressources et exclusion mutuelle

13
Introduction à la notion de tâches
  • Le traitement d'un événement externe est partagé
    entre un traitement immédiat effectué par le
    gestionnaire d'interruption et le traitement
    différé confié à une tâche (c'est à dire un code
    séquentiel dédié à une tâche).
  • Plusieurs tâches peuvent s'exécuter
    concurremment, on peut donc récupérer les temps
    morts. C'est cette récupération qui fait tout
    l'intérêt des modèles multitâches.

14
Système Multitâches
  • Un programme seul n'occupe pas la capacité totale
    d'un processeur en particulier lors des E/S.
  • L'idée une exécution concurrente pour récupérer
    les temps morts.
  • Le système d'exploitation va gérer l'exécution
    concurrente des programmes.

15
Plan
  • Services d'un système élémentaire
  • Services multitâches
  • Gestion du processeur
  • Partage des ressources et exclusion mutuelle

16
La gestion du processeur
  • Tâches
  • Gestion multitâches
  • Politiques d'ordonnancement classiques
  • Limites de ces mécanismes pour le temps réel

17
Les tâches Définitions
  • Un programme est composé d'une suite
    d'instructions qui agissent sur un ensemble de
    données objet statique
  • Processus lorsque l'on déclenche l'exécution
    d'un programme, il devient un objet dynamique
    géré par l'OS.
  • Le contexte d'un processus est l'ensemble des
    informations qui caractérisent son exécution
    (Registres, son nom, état )
  • Un processus est dit lourd lorsque le contexte
    est volumineux.
  • Un processus est légers lorsqu'il s'exécutent
    avec d'autre processus au sein d'un même contexte.

18
États d'une tâche opérationnelle
Blocage
En_attente
Courant
Allocation
Réveil
Préemption
Prêt
Tâche Active
19
Etat pour un noyau temps réel
Attente d'une durée
Exécutée
Endormie
Suppression
Préemption
Suppression
Election
Réveil
Prête
Attente blocante
Suppression
Arrivée evt
Bloquée
Suppression
Initialisation
Existante
Créée
Existante non initialilsée
20
L'ordonnancement
  • La partie du système qui fait évoluer les états
    des tâches et qui alloue le processeur aux tâches
    s'appelle l'ordonnanceur (Scheduler).
  • L'OS manipule les tâches aux travers de
    structures de données appelées descripteurs de
    tâches (task control block).

21
L'ordonnancement
Code T3
Code T1
Code T2
Contexte T1 état PRET
Contexte T2 état PRET
Contexte T3 état PRET
Liste des tâches prêtes Liste des tâches en
attente Tâche courante
T4 état Attente
T5 état Attente
T6 étatCourant
22
Les politiques d'ordonnancement classiques
  • Ordonnancement préemptif
  • Un ordonnancement est dit  avec réquisition  ou
    préemptif si le processus courant peut être
    désalloué par décision de l'ordonnanceur.
  • Dans le cas d'un système préemptif, une
    interruption peut survenir en n'importe quel
    point du déroulement d'une tâche et provoquer une
    préemption.

23
Modèle de tâches
ID Depart C D T Etat C_restante
P Deadline T1 2 3 5 5
  • Période d'activation T
  • Borne sur le temps d'exécution C
  • Arrivée Depart
  • Délai critique relatif à T D

24
Modèle de tâches
ID Depart C D T Etat C_restante
P Deadline T1 2 3 4 5
25
Lois d'ordonnancement classique
  • Premier arrivé, premier servi
  • Le tour de rôle ou tourniquet
  • Lordonnancement par priorité

26
Exemple FIFO
  • ID Pr C Depart Critère ID croissant
  • T1 2 6 0
  • T2 1 3 0
  • T3 2 4 0

1 2 3 4 5 6 7 8 9 10 11 12 13 14
T1 T1 T1 T1 T1 T1 T2 T2 T2 T3 T3 T3 T3 nop nop
T1 T1 T1 T1 T1 T1 T1
T2 T2 T2 T2
T3 T3 T3 T3 T3
27
Robin
  • ID Robin C Depart Critère RR croissant
  • T1 1 6 0
  • T2 1 3 0
  • T3 1 4 0

1 2 3 4 5 6 7 8 9 10 11 12 13 14
T1 T2 T3 T1 T2 T3 T1 T2 T3 T1 T3 T1 T1 nop nop
T1 T1 T1 T1 T1 T1 T1
T2 T2 T2 T2
T3 T3 T3 T3 T3
28
Robin avec priorité
ID Robin C Depart Critère Robin et 2 critère
RR T1 1 3 1 T2 2 3 0 T3 2 3 0
29
Robin incrément de priorité
ID Depart C Robin
T1 10 1
T2 11 1
T3 2 2
T4 2 3
T5 2 3
30
Exemple Priorité
  • ID Pr C Depart Critère Pr croissant
  • T1 2 6 0
  • T2 1 3 0
  • T3 2 4 0

1 2 3 4 5 6 7 8 9 10 11 12 13 14
T2 T2 T2 T1 T1 T1 T1 T1 T1 T3 T3 T3 T3 nop nop
T1 T1 T1 T1 T1 T1 T1
T2 T2 T2 T2
T3 T3 T3 T3 T3
31
Ordonnancement avec interactions entre les tâches
Tâche 1 (prio2) T1.1 Attendre1s T1.2 Signaler
(tache2,evt) T1.3
Tâche 2 (prio1) T2.1 Attendre(evt) T2.2
1s
T1.1
T1.2
T1.3
Tâche1 Tâche2 Tâche de fond
Attendre evt
T2.2
T2.1
fournit le minimum d'exécution sous forme d'une
boucle infinie.
32
Limitations de ces mécanismes pour le temps réel
  • Un exécutif temps réel multitâches offre une
    politique d'ordonnancement préemptive basée sur
    les priorités.
  • Lapplication est testée pour contrôler le bon
    respect des contraintes temporelles.
  • Limites
  • Affecter des priorités n'est pas toujours une
    garantie de maîtrise des contraintes temporelles
    (variables partagées).

33
Plan
  • Services d'un système élémentaire
  • Services multitâches
  • Gestion du processeur
  • Partage des ressources et exclusion mutuelle

34
Partages des ressources et exclusion mutuelle.
  • Une application temps réel est découpée en
    tâches. Ces tâches mettent en œuvre des
    algorithmes portant sur un ensemble de ressources
    qui peuvent être partagées.
  • Problème

T1 LireA AA10 EcrireA
T2 LireA AA30 EcrireA
Si T2 préempte T1 suite à une interruption
LireA LireA AA30 EcrireA AA10 EcrireA
35
Des solutions
  • Les problèmes viennent du fait que l'exécution
    des séquences est intérrompue
  • 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 du système à un
    autre état cohérent sans possibilité
    d'interruption.
  • On appelle section critique, une séquence
    d'opérations qu'il faut effectuer de façon
    atomique.
  • Les sections critiques portant sur des ressources
    communes doivent être exécutées en exclusion
    mutuelle.
  • Solutions Masquage et sémaphore.

36
Les sémaphores binaires
  • Un sémaphore est une entité logique gérée par le
    système d'exploitation associé de manière
    univoque à une ressource.
  • Deux primitives P et V permettent de manipuler le
    sémaphore

P Compteur Compteur-1 si compteurlt0 mettre
la T en fille d'attente sinon accorder la
ressource V Compteur Compteur1 si
compteur lt0 sortir une tâche de la fille
d'attente
37
Exemple
  • Le sémaphore S est initialisé à 1.

T1 P(s) IIJ V(s)
T2 P(s) II-k V(s)
Lire I dans R1 Lire J dans R2 additionner R1 à
R2
38
Listes des mécanismes sémaphores pour le temps
réel
  • A partir du moment où une tâche a acquis une
    ressource (passé le P), toutes les tâches
    parvenant à un P sur le même sémaphore resteront
    bloquées, quelle que soit leur priorité.
  • Ces cas de blocage posent un problème car il
    existe des cas où l'on ne sait pas donner de
    bornes temporelles à ce type de situation.

39
Conclusion
  • L'exclusion mutuelle, la communication et la
    synchronisation sont des problèmes généraux à
    prendre en compte dès que plusieurs tâches
    s'exécutent concurremment dans un système.
  • Le maintien de la cohérence des données et des
    codes du système conduit les tâches à utiliser
    des services qui génèrent des mises en file
    d'attente.
  • Un système qui attribue des priorités aux tâches,
    ne peut plus assurer qu'une tâche de plus faible
    priorité ne bloque pas une tâche de plus forte
    priorité.

40
Nous allons identifier et présenter les
mécanismes spécifiques qui permettent de prévoir
avec plus d'exactitude le comportement temporel
d'un système.
Write a Comment
User Comments (0)
About PowerShow.com