Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Adouane 1
La synchronisation des processus permet de définir et de
réaliser :
Exclusion Mutuelle
Régions Critiques
Sémaphores
Moniteurs
Dans le système d’exploitation, les processus (thread) peuvent
partager des ressources communes, plusieurs problèmes peuvent
survenir.
si nbplace > 0
alors
réserver une place;
nbplace = nbplace – 1;
Save
La variable nbplace, qui représente le nombre de places
restantes dans l’avion par exemple, est ici une variable d’état
du système (de réservation).
Solutions
Instructions Spéciales
Matérielles
Réalisation
de l’EM Attente Active
Solutions Verrous
Logicielles
Sémaphores
Attente Passive
Moniteurs
L’attente active : un processus boucle sur une condition et l’évaluer
de manière répétitive jusqu’à ce qu’elle change d’état.
Cette solution n’ai pas très viable, car si le processus ne réactive pas les
interruptions tout le système sera en panne !
Masquage des Interruptions: Il faut rendre les SC indivisibles en
inhibant, durant leur exécution, les interruptions par masquage.
L’Alternance stricte
L’algorithme de Peterson
Il est question de faire passer les processus tour à tour ou en
alternance
les verrous,
les sémaphores,
les moniteurs
les verrous: Un verrou v est une variable booléenne sur
laquelle deux opérations sont définies, Verrouille(v) et
Déverrouille(v).
void Verrouille(verrou v)
{
if v == 1;
◦ V=0
◦ Rentre en SC
else
suspendre le processus appelant dans la file associée à v
}
Opération Deverrouille(v):
P(Park)
N= N- 1
si (N< 0) alors
◦ étatProcessus = Bloqué
◦ mettre processus en file d’attente
finSi
invoquer l’ordonnanceur
V(Park)
N= N+ 1
si (N<= 0) alors
◦ extraire processus de file d’attente
◦ étatProcessus = Prêt
finSi
invoquer l’ordonnanceur
procedure entrer {
if (compteur = 0) {
entrée.wait;
}
compteur := compteur - 1;
}
procedure sortie {
compteur := compteur + 1;
entrée.signal;
}
}
Bien que les moniteurs simplifie la programmation des SC, ils
ont besoin d’un langage qui les prennent en charge
nativement grâce à un compilateur qui connais le type
Moniteur