Bonjour ,
Je prepare un examen demain je cherche a faire cet exercice :
Considérons un système composé de m écrivain, de n lecteurs et de p correcteurs partageant une ressource commune. Le lecteur ne peut que lire la ressource, l’écrivain ne peut qu’écrire la ressource alors que le correcteur peut la lire et l’écrire. On admet qu’il peut y avoir un quelconque nombre de lecteurs accédant simultanément à la ressource mais l’écrivain et le correcteur doivent y accéder de manière exclusive.
On dispose des primitives suivantes (généralisation des primitives P() et V() de Dijkstra) :
P(sem, x) : décrémente la valeur du sémaphore sem de x (entier positif).
V(sem, y) : incrémente la valeur du sémaphore sem de y (entier positif).
1. Donner le nombre de sémaphores nécessaires, ainsi que leur valeur initiale, pour synchroniser les accès à la ressource partagée et expliquer l’utilité de chacun d’eux.
2. Donner en pseudo-code (utilisant les primitives P(…) et V(…)) le corps (avant et après chaque accès à la ressource) des processus lecteur, écrivain et correcteur.
aidez moi svp
Merci
Partager