image/svg+xml
Les scripts:
P.sh
P.sh : — ferme le verrou associé à une ressource ; — est utilisé dans acquireresource.sh et releaseresource.sh ; — est fourni par le sujet.
V.sh
V.sh : — ouvre le verrou associé à une ressource ; — est utilisé dans acquireresource.sh et releaseresource.sh ; — est fourni par le sujet.
acquireresource.sh
acquireresource.sh : — sert à acquérir une ressource ; — est utilisé dans usager.sh ; — utilise P.sh et V.sh ; — est écrit lors des questions 1.a à 1.h.
P.sh
V.sh
releaseresource.sh
releaseresource.sh : — sert à libérer une ressource ; — est utilisé dans usager.sh ; — utilise P.sh et V.sh ; — est écrit lors des questions 1.a à 1.g.
P.sh
V.sh
usager.sh
usager.sh : — réalise le comportement d'un usager ; — est utilisé dans lancement.sh ; — utilise acquireresource.sh et releaseresource.sh ; — est écrit lors des questions 1.i et 1.l.
acquireresource.sh
releaseresource.sh
lancement.sh
lancement.sh : — réalise le scénario, c'est-à-dire : — fixe le nombre des ressources (paniers et cabines) ; — crée ces ressources ; — initialise les sémaphores ; — démarre les scripts des usagers ; — utilise usager.sh ; — est écrit lors des questions 1.j et 1.k.
usager.sh
Les fichiers : — les ressources : cabine1, cabine2, cabine3... , panier1, panier2... — contiennent 0 si la ressource est libre ou le numéro de processus de l'usager utilisant cette ressource ; — les compteurs de ressources disponibles : semaphore_counter_cabines et semaphore_counter_paniers — contiennent le nombre de ressources (cabines ou paniers) encore disponibles ; — les verrous : semaphore_counter_cabines.lock et semaphore_counter_paniers.lock — sont présents si un processus est dans une section critique utilisant le compteur de ce type de ressources ; — les files d'attente des sémaphores : semaphore_waiting_queue_cabines et semaphore_waiting_queue_paniers — contiennent les numéros de processus des usagers en attente d'une ressource correspondante.