bonjour, quelqu'un peut m'aider à résoudre ce problème, moi suis vraiment coincé !
Dans un système, on a un processus qui produit des boules blanches (représentant des atomes
d’hydrogène), et un processus qui produit des boules rouges (représentant des atomes d’oxygène).
Ils utilisent pour cela la fonction CreerBoule qui prend en entrée le type de boule (Oxy ou Hydro) et
renvoie une boule (de type Tboule). Les boules sont placées dans deux récipients séparés, suivant
leur couleur :
RecipHydro pour les blanches (l’hydrogène), RecipOxy pour les rouges (l’oxygène). Deux processus
assembleur construisent (chacun indépendamment) des ensembles de trois boules, toujours une
rouge et deux blanches (ça donne une molécule d’eau), et placent le résultat dans un troisième
récipient de nom RecipEau. La molécule d’eau est renvoyée par la fonction SyntheEau, qui prend en
paramètres d’entrée 2 boules blanches et une rouge.
Les récipients intermédiaires sont de taille finie ; ils contiennent MaxHydro et MaxOxy boules. Le
troisième est de taille infinie. On dispose des primitives prendre et mettre, qui prennent en
paramètre le nom du récipient et qui permettent de prendre ou de mettre 1 boule (en paramètre).
L’accès à un récipient ne peut se faire que par un processus à la fois (mais 2 processus doivent
pouvoir accéder en même temps à des récipients différents).
Question: Proposer des algorithmes pour chaque processus du système (utilisant les sémaphores)








Répondre avec citation




Partager