Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
1 Principes de bases
La conception multitâche fait coexister en mémoire plusieurs programmes, les programmes s’exécutent
sous le contrôle du SE et se partagent les différentes ressources du système. Le système d’exploitation
multitâche doit alors mettre en œuvre les règles de possession et partage des ressources, définir les
compétiteurs (programmes en mémoire) et les contrôler tout le long de leur exécution. L’objectif principal
de la programmation multitâche est d’exploiter le plus efficacement possible toutes les ressources d’un
système informatique.
www.espacetechnologue.com - 22 -
L’ordonnanceur connait les tâches uniquement par leurs descripteurs. En effet, toutes les opérations
réalisées sur une tâche sont effectués au niveau de son descripteur (TCB).
Dans la pratique, tous les descripteurs sont reliés entre eux selon le principe du double chaînage dans une
file, de façon à intervenir rapidement sur un processus donné.
synchronisation.
Sélection
Inactive Ar
Attente
rê - Préemption, Sélection : décision de
te r
Dé er l’ordonnanceur
ma
rrer ébl oqu
D
Le processus élu est choisi parmi les
Prête
processus prêts par l’ordonnanceur.
Terminer
www.espacetechnologue.com - 23 -
Un sémaphore joue le rôle d’un distributeur de ticket, que les processus utilisent à l’aide de deux
opérations:
• Opération P (PRENDRE), correspond à une demande de ticket.
• Opération V (VENDRE), correspond à une libération de ticket.
A un sémaphore, on associe:
- Un compteur, qui peut prendre des valeurs entières, négatives, nulle ou positives;
- Une file d’attente de type FIFO, où sont stockés les processus en attente de ticket.
Tout processus qui prend possession de la ressource doit exécuter deux procédures:
- Une procédure P(s), au début;
- Une procédure V(s), lorsqu’il libère la ressource;
Procédure P(s) Procédure V(s)
Début Début
SS–1 SS+1
Si S ≥ 0 Alors Si S 0 Alors
Le processus prend la ressource Sélectionner un processus dans la
Sinon file et le rendre éligible.
Le processus est mis en attente Sinon
dans la file Rien de spécial, la tâche poursuit
Finsi son activité
Fin Finsi
Fin
Ces deux procédures sont appelées des primitives. Une primitive est une séquence programmée grâce à
laquelle l’utilisateur peut demander au moniteur l’exécution d’une fonction déterminée.
www.espacetechnologue.com - 24 -
- une file d’attente des tâches
Le mécanisme producteur-consommateur doit assurer une bonne régulation de la communication, c'est-
à-dire, éviter que le producteur dépose une donnée dans un tampon déjà plein. De même éviter que le
consommateur ne vienne lire une donnée dans un tampon vide.
Les tâches utilisent les primitives :
Déposer (donnée) pour la tâche de production
Prendre (donnée) pour la tâche de production.
ORDONNANCEMENT
www.espacetechnologue.com - 25 -
2.1 Modélisation des tâches périodiques
Le modèle d’une tâche périodique repose sur trois paramètres :
- r0 : date de réveil, c’est l’instant où elle demande le processeur.
- C = Cmax : durée d’exécution maximale d’une tâche.
- P : Période d’exécution de la tâche.
La date de réveil rk de la kième instance : rk = r0 + kP
Normalement la tâche doit avoir terminé son exécution avant la fin de la période. La tâche est dite à
échéance sur requête.
P
C
r0 r1 r2
L’échéance peut être plus courte que la fin de la période. Dans ce cas on définit un nouveau paramètre
«le délai critique D». Le délai critique correspond à la durée au bout de laquelle la tâche doit être terminée.
D P
C
r0 d0 r1 d1 r2
L’échéance dk de la kième instance : dk = rk + D = r0 + kP + D
www.espacetechnologue.com - 26 -
2.3.2 Les paramètres dynamiques
Le temps d’exécution restant
C(t) = C – Cexécuté
Délai critique dynamique
D(t) = d – t
Laxité dynamique
L(t) = D(t) – C(t) = d – t – C(t) = D + r – t – C(t)
Date de début d’exécution « s »
Date de fin d’exécution « e »
D
L(t)
r0 s0 t C(t) e0 d0
D(t)
2.3.3 Charge du processeur
Une tâche est définie par T( r0, C, D , P)
Facteur d’utilisation du processeur par Ti
ui = Ci/Pi
Facteur de charge du processeur par Ti
uhi = Ci/Di
Facteur d’utilisation du processeur
U = Ci/Pi
Facteur de charge du processeur
Uh = Ci/Di
www.espacetechnologue.com - 27 -
3.1.2 InverseDeadline ou DeadlineMonotonic (DM)
La priorité d’une tâche est inversement proportionnelle à son échéance relative. Condition suffisante
n
Ci 1n
d’acceptabilité : n 2 1
i 1 Pi
www.espacetechnologue.com - 28 -
3.2.2 Least Laxity (LLF)
La tâche de plus haute priorité à l’instant t est celle qui a la plus petite laxité dynamique Li (t).
www.espacetechnologue.com - 29 -