Onyest dossier - Implémentation d’un moniteur Ajouter à mes favoris
Sommaire
Systèmes parallèles
Cours
Atomicité et processus
Exclusion mutuelle
Les sémaphores
Approche "langage"
Moniteur
Implémentation d’un moniteur
Lecteur(s)-Rédacteur(s)
Priorité forte à la lecture
Préférence aux lecteurs
Le problème des voies
TDs
TPs
Probabilités appliquées aux systèmes
Théorie des langages et compilation
VHDL
Suite : Lecteur(s)-Rédacteur(s)

Implémentation d’un moniteur

Pour implémenter un moniteur, on utilise des sémaphores. C'est un changement de niveau. On fait une traduction manuelle des moniteurs aux sémaphores.
Règle : une file d'attente donne 1 sémaphore et 1 entier.

exemple : on a x file : f1, f2, ... fx.
on crée donc :
sémaphore : Semi init 0 (i de 1 à x)
entier : nb i init 0 (i de 1 à x)
sémaphore mutex init 1 (exclusion mutuelle)
sémaphore urgent init 0
entier nburg init 0.

entrée dans le moniteur P(mutex)
sortie du moniteur si nburg > 0 alors V(urgent) sinon V(mutex)
fi.WAIT nb ++
si nburg > 0 alors V(urgent) sinon V(mutex)
P(Semi)
nb--
fi.SIGNAL si nbi <> 0 alors nburg ++ ; V(Semi) ; P(urgent) ; nburg --
fi.vide nbi = 0
fi.queue  

Suite : Lecteur(s)-Rédacteur(s)
Onyest dossier - cours ingénieur informatique et électronique : SPAR, PAS, TLC, VHDL - http://www.onyest.free.fr/dossier/cours - webmaster : novis@chez.com

-