Bonjour,
Voilà, j'ai un très gros problème. J'ai un exercice à faire pour l'université en programmation système mais je suis totalement perdu. Je vous donne l'énoncé au cas où vous pourriez m'éclairer et me donner des pistes. je ne sais pas du tout par où commencer. Je suis complètement largué dans cette matière. Je ne comprend que très peu de chose.
L'énoncé :
Un boulanger B fabrique deux sortes de pains, le P1 et le P2. Il est ne produit pas plus de 20 pains par jour. Il fournit un pâtissier qui peut stocker jusqu’à 100 pain. Le pâtissier emploie de deux apprentis : A1, qui reçoit les pains, et A2, qui les vends aux clients. Il y a 30 clients achète 0 ou 1 pain par jour (avec probabilité 1/2). Un client a droit d’acheter 1 seul pain par jour, la quantité étant limitée.
Modélisez ce problème en utilisant :
- un processus par client, un pour le boulanger B, un pour A1 et un pour A2,
- une seconde pour modéliser une journée,
- alarm() pour gérer le passage du temps,
- une file IPC entre B et A1,
- un message IPC pour représenter chaque pain envoyé,
- deux entiers partagés entre A1 et A2 pour représenter le stock du revendeur en P1 et en P2,
- deux sémaphores pour éviter des accès simultanés en écriture aux zones de mémoire partagée,
- une file IPC entre A2 et l’ensemble des clients.
Les clients réalisent leurs commandes en envoyant un message IPC à A2. On simule l’envoi du pain par
un message de A2 vers le client dans cette même file. A1 envoie des commandes à B pour lui demander de produire des pain quand les stocks de P1 ou P2 sont bas. La fréquence et le format de ces commandes est libre pour cet exercice.
Merci pour vos réponses.
Partager