J'attend vos
gogo
-
KuKrApOk59 Messages postés 444 Date d'inscription Statut Membre Dernière intervention -
KuKrApOk59 Messages postés 444 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Exercice 2 : Synchronisation des processus
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 2.1 : Analyse
1. Quels sont les processus dans ce problème ?
2. Quelles sont les ressources critiques ?
3. Quels sont les problèmes d’exclusion mutuelle ?
Exercice 2 : Synchronisation des processus
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 2.1 : Analyse
1. Quels sont les processus dans ce problème ?
2. Quelles sont les ressources critiques ?
3. Quels sont les problèmes d’exclusion mutuelle ?