Synchronisation Flashcards
Quelles sont les 3 raisons pourquoi on a besoin de synchronisation?
- Variables globales
- ES
- Vitesse inconnue du OS
Quels sont les 3 types d’interaction entre les processus
- Compétition
- Coopération par partage (indirecte)
- Coopéraion par communication (directe)
Qu’est-ce que la compétiton?
2 processus tentent d’accéder à la même ressource sans savoir que l’autre existe
Qu’est-ce que la coopération par partage?
Write must be mutex
Access to shared data, but knows there are other processes and that data integrity must be preserved
Qu’est-ce que la coopération par communication?
Les processus travaillent ensemble
Font un effort pour être connectés
S’envoient des messages
Pas de partage
Quels sont les 3 problèmes potentiels?
- Exclusion mutuelle
- Interblocage
- Famine
Qu’est-ce que l’exclusion mutuelle?
Un seul processus dans une section critique
Qu’est-ce que l’inteblocage?
Un ou plusieurs processus sont bloqués car ils s’attendent
Qu’est-ce que la famine?
Un processus n’est jamais choisi par le répartiteur
Qu’est-ce qu’une race condition?
La valeur finale d’une variable dépend de l’ordre d’exécution
Quelles sont les 5 conditions qui doivent être respectées afin d’assurer l’exclusion mutuelle?
- Un seul processus dans la section critique à la fois
- Un processus interrompu dans une section non-critique ne doit pas interférer avec les autres
- Un processus qui attend à l’entrée d’une section critique ne peut l’attendre indéfiniement
- Lorsqu’il n’y a aucun processus dans la section critique, alors tout processus qui en fait la demande peut y accéder sans attente.
- Un processus demeure dans la section critique pour un temps fini
Qu’est-ce que l’algorithme de Peterson?
sCritA = 1
tour = 1
wait while scritb and tour
scritb = 1
tour = 0
wait while scrita and not tour
scrit is false after crit sect
Qu’est-ce qu’une opération atomique?
Une opération qui s’exécute sans interuption
Que fait semwait
décrémente, rajoute a la file de blocked si négatif après
Que fait semsignal
incremente, si valeur negative, on débloque un processus bloqué
Que représente une valeur négative de sem
Le nombre de processus en attente