La synchronisation des processus
ilyes19
Messages postés
24
Statut
Membre
-
loupius -
loupius -
Bonjour,
g un problème avec les sémaphores et je voudrais justement poser cette question:
si on initialise un sémaphore à 1 et dans le cas ou on veut synchroniser 4 processus on a :
• le premier exécute p() et le rend a 0 ;
• le deuxième exécute p() et le rend à -1 donc il entre dans la file ;
• le troisième même chose ;
• le 4eme même chose ;
mais quand le premier fini , il exécute v() et il le rend à -2, donc comment un autre processus peut ne pas se bloquer en exécutant p() ? c’est a dire en trouvant le compteur >0 ? alors qu’il est a -2 !!!
g un problème avec les sémaphores et je voudrais justement poser cette question:
si on initialise un sémaphore à 1 et dans le cas ou on veut synchroniser 4 processus on a :
• le premier exécute p() et le rend a 0 ;
• le deuxième exécute p() et le rend à -1 donc il entre dans la file ;
• le troisième même chose ;
• le 4eme même chose ;
mais quand le premier fini , il exécute v() et il le rend à -2, donc comment un autre processus peut ne pas se bloquer en exécutant p() ? c’est a dire en trouvant le compteur >0 ? alors qu’il est a -2 !!!
A voir également:
- La synchronisation des processus
- Synchronisation agenda google et outlook - Guide
- Processus déclaration tva rapport de stage ✓ - Forum compta / gestion
- Processus hote windows rundll32 c'est quoi ✓ - Forum Windows
- Synchronisation gmail ✓ - Forum Gmail
- Synchronisation favoris chrome - Guide
3 réponses
c'est pas un language!!!
c'est une methode pour les système d'exploitation de synchroniser les processus
c'est une methode pour les système d'exploitation de synchroniser les processus
En parlant des opérations P() et V(à, je suppose que tu parles de sémaphores Système V.
Dans l'exemple que tu prends, sémophore = 1 et, je suppose, demande de chaque opération P et V avec la valeur 1, alors:
• le premier exécute P() et le rend à 0 ;
• le deuxième ne pourra pas exécuter P() puisque le sémaphore est inférieur à la valeur demandée.
Si tu veux exécuter 4 processus en même temps, il sera nécessaire de partir avec sémaphore = 4.
Dans l'exemple que tu prends, sémophore = 1 et, je suppose, demande de chaque opération P et V avec la valeur 1, alors:
• le premier exécute P() et le rend à 0 ;
• le deuxième ne pourra pas exécuter P() puisque le sémaphore est inférieur à la valeur demandée.
Si tu veux exécuter 4 processus en même temps, il sera nécessaire de partir avec sémaphore = 4.