Synchronisation Systèmes temps réel et critiques INE Pr Safae DAHMANI dahmani inpt ac ma Bureau CChapitre II Partage des ressources et Synchronisation CSynchronisation ? Dé ?nition ? Objets de synchronisation ? Interblocage CSynchronisation Les processus
Systèmes temps réel et critiques INE Pr Safae DAHMANI dahmani inpt ac ma Bureau CChapitre II Partage des ressources et Synchronisation CSynchronisation ? Dé ?nition ? Objets de synchronisation ? Interblocage CSynchronisation Les processus ne sont pas toujours indépendants Accès partagés aux ressources mémoire partagée périphérique bus de communication Communications échange de données Y Y Y Y Y Y A Y X Y CSynchronisation Synchronisation c ? est le mécanisme qui permet de Garantir la cohérence des données partagées Contrôler l ? échange d ? informations entre processus selon un protocole dé ?ni Synchronisation et temps réel La synchronisation engendre la mise en attente des processus Attendre la ?n d ? un traitement attendre la libération d ? une ressource respect de l ? ordre d ? exécution notion de précédence ? A prendre en considération dans l ? ordonnancement CSynchronisation Section critique un ensemble d ? instructions manipulant une ou plusieurs ressources partagée Plusieurs t? ches peuvent accéder en concurrence à une ressource partagée Ex variable globale Task count count Task Task count count - Count Task Read count count count ?? count Changement de contexte Changement de contexte count vaut pas Read count count count ?? ?? count CSynchronisation Section critique Maintenir un statut cohérent des ressources partagées par le biais de mécanisme d ? exclusion mutuelle ?? Utilisation d ? un objet de synchronisation CSynchronisation La synchronisation entre les t? ches nécessite un objet particulier qui permet de gérer cette synchronisation L ? objet de synchronisation est partagé entre les t? ches nécessitant la synchronisation Il permet de réveiller réactiver les t? ches mises en attente Parmi les objets de synchronisation Mutex Ready Sémaphore Variable condition Blocked CSynchronisation Mutex Mutual Exclusion Mécanisme de verrou pour la protection d ? une section critique Lorsqu'une t? che souhaite accéder à une section critique elle doit d ? abord acquérir le verrou Le verrou doit être libre ouvert aucune autre t? che n ? est dans la section critique La t? che devient momentanément propriétaire du verrou Le verrou est ouvert de nouveau a la ?n du traitement Si le verrou est fermé au moment de l ? acquisition la t? che est suspendue jusqu ? à réouverture du verrou CSynchronisation Mutex Mutual Exclusion Variable Booléenne Possède une liste d ? attente Manipulée par deux opérations atomiques ? Acquire V void acquire verrou v if v v false else Ajouter la t? che à la liste d ? attente de v ? Release V void release verrou v if ?le attente v vide Débloquer une t? che en attente dans ?le else v true CSynchronisation Mutex Mutual Exclusion Initialiser verrou acquire verrou Section critique release verrou CSynchronisation Mutex Mutual Exclusion Exemple POSIX include int pthreadmutexinit pthreadmutext mutex pthreadmutexattrt attr int pthreadmutexdestroy pthreadmutext mutex int pthreadmutexlock pthreadmutext mutex int pthreadmutextrylock pthreadmutext mutex int pthreadmutexunlock pthreadmutext mutex CSynchronisation Mutex Mutual Exclusion Quand utiliser les Mutex Lorsque plusieurs t? ches accèdent à une variable partagée non seulement en lecture Pour protéger l ?
Documents similaires
-
26
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise- Détails
- Publié le Oct 05, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 66kB