Information Technology Reference
In-Depth Information
Le processus Acquisition effectue toutes les t unités de temps la lecture de
mesures à partir de trois capteurs et dépose les 3 grandeurs lues dans un tampon de
3 cases. Une fois les 3 dépôts effectués par le processus Acquisition, le processus
Collecteur lit le contenu du tampon de 3 cases, enregistre les données collectées sur
le disque et imprime celles-ci. Le processus Bilan est quant à lui réveillé toutes les
semaines. Il lit depuis le disque toutes les mesures enregistrées sur la semaine,
effectue un traitement sur celles-ci et imprime le résultat de ce traitement.
1. Sachant que l'unité de transfert vers l'imprimante est la ligne de texte, que les
impressions envoyées sur l'imprimante par les processus comportent toutes
plusieurs lignes, montrez que des incohérences peuvent survenir sur les impres-
sions effectuées par les processus de ce système. Proposez une solution.
2. Voici les pseudo-codes des processus Collecteur et Bilan. Les sémaphores imp
et disque sont respectivement initialisés à 1. Montrez que ces codes peuvent
conduire à une situation d'interblocage entre ces deux processus puis proposez
une solution.
Collecteur
Bilan
début
boucle
lire_mesures(tampon, mesures);
P(imp);
P(disque);
enregistrer_disque(mesures);
imprimer(mesures);
V(disque);
V(imp);
fin boucle
fin
début
boucle
P(disque);
P(imp);
lire_disque(mesures);
res
traitement(mesures);
imprimer(res);
V(imp);
V(disque);
fin boucle
fin
=
3. Le processus Collecteur ne doit prélever les mesures dans le tampon de 3 cases
que lorsque les 3 dépôts ont été effectués par le processus Acquisition. Par
ailleurs, le processus Acquisition ne doit pas faire de nouveau dépôt tant que les
dépôts du cycle précédent n'ont pas été lus par le processus Collecteur. À l'aide
de sémaphores, établissez le schéma de synchronisation permettant de respecter
ces 2 contraintes.
16.8
Allocation de ressources et états des processus
On considère un ensemble de deux ressources R à accès exclusif et un type de
processus utilisateur de la ressource R dont le pseudo-code est de la forme :
 
Search WWH ::




Custom Search