• Aucun résultat trouvé

FINAL LO41 – Printemps 2011

N/A
N/A
Protected

Academic year: 2022

Partager "FINAL LO41 – Printemps 2011"

Copied!
1
0
0

Texte intégral

(1)

Nom : Prénom : GI :

FINAL LO41 – Printemps 2011

Devoir avec documents (Cours, TD et TP ) et d’une durée de 2 heures.

PARTIE I. Synchronisation avec sémaphores Barème 10 points N’oubliez pas d’initialiser les variables, les sémaphores et commentez votre pseudocode.

Le bureau de poste

C'est le jour de la distribution des bottins à la poste. Pour retirer les bottins, les abonnés se présentent au bureau de poste, qui peut accueillir jusqu'à 25 personnes. Le bureau comporte 3 guichets et 8 employés y travaillent.

Lorsqu'un abonné se présente, il attend qu'un guichet soit disponible, puis il doit remplir une fiche, qu'il dépose ensuite sur une pile. Il retourne alors attendre dans la salle d'attente. Lorsqu'un employé est disponible, il prend la fiche qui est en bas de pile et prépare le bottin. Puis il fait signer à l'abonné le récipissé et lui donne le bottin.

Les processus abonné et employé sont décrits ci-après.

Processus Abonné

S'il y a de la place, entrer dans le bureau, sinon attendre jusqu'à ce qu'il y ai de la place;

Attendre qu'un guichet soit disponible, Remplir une fiche;

La poser dans le panier;

Attendre qu'un employé appelle;

Prendre le bottin et partir

Processus Employé Attendre une fiche;

Préparer le bottin;

Attendre qu'un guichet se libère;

Appeler le client;

Lui donner le bottin;

a - Donner les conditions de synchronisation mises en oeuvre ici.

b - Le modéliser en utilisant des sémaphores soigneusement définis (sémantique et valeur initiale) et les primitives suivantes : entrer, remplir_une_fiche, préparer_bottin, prendre_bottin, partir, donner_bottin.

1

(2)

PARTIE II. Programmation en C avec les IPC Barème 10 points

Ecrire un programme qui permet à plusieurs threads de s’exécuter à l’intérieur d’un moniteur. Le programme vise à calculer la somme de deux matrices carrées, générées aléatoirement, d’ordre n et d’afficher le résultat.

Pour permettre un traitement pseudo-parallèle, les threads calculent à tour de rôle les valeurs des matrices par lignes et par colonnes.

Exemple :

(i,j) représente le numéro de la ligne et le numéro de la colonne

M1[i][j] + M2[i][j] calculé par le Thread 1, M1[i][j+1] + M2[i][j+1] calculé par le Thread 2, M1[i][j+2] + M2[i]

[j+2] calculé par le Thread 1, etc.

Une attention particulière devra être apportée à la définition du moniteur ainsi qu’au choix de(s) condition(s).

2

Références

Documents relatifs

+ vitamine B12, Les différences significatives de croissance ou de stockage vitaminique dans le foie observées dans le lot recevant de l’auréomycine. et de la vitamine

- Quel sera d’autre part l’impact des phénomènes récemment entrevus : les nouvelles poli- tiques de distribution, l’apparition de produits de substitution

pour faire peur aux lapins ; les lapins se sauvent. à toute vitesse par

~Nous avons montrfi qu'elle a pour premifire origine, les fonctions algfibriques, leurs proprifit~s et celles de leur intfigrales, telles que Riemann les a fait

- Au rez de chaussée, si une personne souhaite se rendre dans l’un des quatre premiers étages, il appelle l’ascenseur A.. De la même façon, si une personne souhaite se rendre dans

Lors d'un examen de TP, les candidats doivent attendre dans une salle d'attente de capacité 12.Quand ils sont appelés par un examinateur, ils passent dans une salle de préparation

Les orbitales occupées par les électrons dans les différentes sous- couches sont differentes les unes des autres tant par la grosseur, par la forme et par

Les calculatrices sont autorisées, toutefois, tous les calculs formels nécessaires pour obtenir un résultat doivent fignrer sur la copie.. Si, au cours de l'épreuve,