[PDF] Corrigé Corrigé. Exercice 1 : (7 points).





Previous PDF Next PDF



1 Notes de cours

sémaphores définies par Dijkstra (voir notes de cours section 1.1)



TD : synchronisation de processus par des Sémaphores

Vous pouvez utiliser deux sémaphores (n'oubliez pas leur initialisation). Une solution utilisant un seul sémaphore existe. Debut. Parbegin ProgA ; ProgB ; 



Partie 4 : Synchronisation Le corrigé

Les sémaphores : Mutex0 et mutex1 pour contrôler les accès aux tampons. Vide1 Vide0



Systèmes dexploitation –Recueil dexercices TD-Synchronisation et

En utilisant 2 sémaphores complétez prendre() et liberer() pour synchroniser entre les N processus. 2) Comment corriger cette solution ? Exercice I.6. (DS 11 ...



Untitled Untitled

Exercices supplémentaires : Exercice 1 : L'algorithme d'un ensemble de processus est exprimé ainsi : var S : sémaphore init N.



Systèmes dexploitation INF3600 Exercices + Corrigés Gestion des

Préciser les sémaphores utilisés et les variables partagées. Exercice 6 : Synchronisation des processus. Deux villes A et B sont reliés par une seule voie de 



Corrigé

Exercice 1 : (05 points). Question 1 : Quelles critiques peut-on faire aux S1 : Sémaphore (init à 1) pour permettre que des trains de sens contraire ne ...



Corrigé

Exercice 1 : (7 points). On considère le problème classique de Mutex : semaphore (init=1) SMax : semaphore (init à. NMax)



TD3: Programmation concurrente et synchronisation

1 Exercices avec les interblocages. 击 Exercice 1: Considérez le programme suivant qui utilise deux sémaphores pour obtenir une exclusion mutuelle 



1 Notes de cours

Un sémaphore est un mécanisme de synchronisation de processus inventé par le 2.1 Exercice 1 : synchronisation ... 3 Entraînement : exercice corrigé.



TD : synchronisation de processus par des Sémaphores

Complétez le code pour réaliser le graphe des dépendances 2. Vous pouvez utiliser deux sémaphores (n'oubliez pas leur initialisation). Une solution utilisant un.



Partie 4 : Synchronisation Le corrigé

Le corrigé. Solution 1 Un sémaphore binaire mutex suffit : ... 1 semaphore de productions par liste : 10 semaphores de production (initialisé a 0).



Corrigé

Corrigé. Exercice 1 : (07 points) Question 2 : Corrigez le problème en utilisant des sémaphores. Réécrivez le code des deux processus. Réponse :.



Corrigé

Corrigé. Exercice 1 : (05 points). Question 1 : Quelles critiques peut-on comme des outils de synchronisation "avancés" par rapport aux sémaphores.



Corrigé

Examen de rattrapage Corrigé. Exercice 1 : La solution au problème du coiffeur endormi suivante présente un problème. ... Mutex : sémaphore initialisé.



Partie 4 : Synchronisation Exercice 1 :

a) Expliquez comment les processus peuvent utiliser les sémaphores pour contrôler les accès aux tampons partagés (exclusion mutuelle pas d'interblocage). b) 



Corrigé

Corrigé. Exercice 1 : (7 points). On considère le problème classique de synchronisation Donnez la solution à ce problème en utilisant les sémaphores.



ED9 : Synchronisation par Sémaphores

Vérifiez que votre solution garantit les propriétés de l'exclusion mutuelle. Exercice 2. Pour faciliter l'utilisation des sémaphores Posix et des threads Unix 



1 Notes de cours - u-strasbgfr

>1 Notes de cours - u-strasbg frWebUn sémaphore est un mécanisme de synchronisation de processus inventé par le physicienet informaticien hollandais Edsger Dijkstra en 1965 Il s’agît d’une structure de



TD : synchronisation de processus par des Sémaphores

>TD : synchronisation de processus par des SémaphoresWebDonnez le nouveau graphe des dépendances 3 Retirez dans le graphe des dépendances une dépendance qui est redondante 4 Donnez deux exécutions respectant les



TD 4 Sémaphores et Exclusion Mutuelle Exercice 1

>TD 4 Sémaphores et Exclusion Mutuelle Exercice 1

Comment utiliser un sémaphore ?

Le concept peut être généralisé à l’aide de sémaphore. Un sémaphore est un mutex généralisé. Au lieu d’un seul tampon, nous pouvons diviser le tampon de 4 Ko en quatre tampons de 1 Ko (ressources identiques). Un sémaphore peut être associé à ces quatre buffers.

Qu'est-ce que le sémaphore ?

Un sémaphore est un mutex généralisé. Au lieu d’un seul tampon, nous pouvons diviser le tampon de 4 Ko en quatre tampons de 1 Ko (ressources identiques). Un sémaphore peut être associé à ces quatre buffers. Le consommateur et le producteur peuvent travailler sur différents tampons en même temps.

Qui a construit le sémaphore ?

La première pierre de l'actuel sémaphore est posée le 21 mars 1986. Le bâtiment est inauguré moins d'un an plus tard, le 24 février 1987, par le contre-amiral Sajous, commandant la Marine nationale française à Lorient, en présence de Jean-Louis Delhumeau, maire de Piriac-sur-Mer 3 .

1

Université de Chlef Février 2015

Département Informatique

Filière : 1 ère Année Master - Ingénierie des Logiciels

Examen semestriel

Module de Systèmes d"exploitation

Corrigé

Exercice 1 :

(7 points)

On considère le problème classique de synchronisation des "Lecteurs-Rédacteurs", avec priorité aux Lecteurs, mais en

ajoutant la règles suivante : les Lecteurs présents dans le fichier peuvent être plusieurs mais ne doivent pas dépasser N

(un certain entier). Donnez la solution à ce problème en utilisant les sémaphores.

Réponse :

Wrt : semaphore (init=1), ReadCount : entier (init=0), Mutex : semaphore (init=1), SMax : semaphore (init à

NMax),

Processus Lecteur

Début

Wait(Mutex) ;

ReadCount :=ReadCount+1 ;

Si ReadCount=1

Alors

Wait(Wrt)

Finsi ;

Signal(Mutex) ;

Wait (SMax)

/* Lire dans le fichier

Signal(SMax);

Wait(Mutex) ;

ReadCount :=ReadCount-1 ;

Si ReadCount=0

Alors

Signal(Wrt)

Finsi

Signal(Mutex)

Fin.

Processus Redacteur Début

Wait(Wrt)

/* Ecrire dans le fichier

Signal(Wrt) ;

Fin. (7 points)

Exercice 2 :

(7 points) Reprendre le même problème , mais en utilisant les moniteurs de Hoare : 2

Réponse :

M : étant une instance du moniteur.

lecteur_rédacteur : moniteur ; . var ecr : booléen ; . nl : entier ; . I : entier ; . c_ecr, c_lect : condition ;

NMax : entier;

C_LectMax : condition;

procédure début_lire ; début nl := nl + 1; si ecr alors . c_lect.attendre ; . c_lect.signaler ;

I:=I+1

Si I=NMax alors c_lectMax.wait

fin ; procédure fin_lire ; début

I:=I - 1;

c_lectMax.signal nl := nl - 1; si nl = 0 alors . c_ecr.signaler ; fin ; procédure début_écrire ; début si ecr ou nl > 0 alors . c_ecr.attendre ; ecr := vrai ; fin ; procédure fin_écrire ; début ecr := faux ; si nl > 0 alors . c_lect.signaler ; sinon . c_ecr.signaler ; fin ; début ecr := faux ; nl := 0 ; fin Processus Rédacteur Début

M. Debut_ecrire

/* Ecrire dans le fichier */

M.Fin_ecrire

Fin Processus Lecteur Début M. Debut_Lire /* Lire dans le fichier */

M.Fin_Lire

Fin. (7 points) 3

Exercice 3 :

(6 points)

Question 1 : Souvent, les processus sont obligés de communiquer entre eux . Dites quelles sont les principales situations

Réponse :

Coopération : Les processus coopèrent pour la réalisation d'une certaine tâche. Dans ce cas ils doivent

communiquer pour échanger des données.

Concurrence : Les processus sont en compétition pour l'occupation d'une certaine ressource. Les processus

doivent communiquer pour réglementer l'accès à cette ressource. (1 points) Question 2 : Expliquez le principe de la méthode de communication dite "mémoire partagée".

Réponse :

Les processus voulant communiquer réservent en mémoire une zone (mémoire partagée) qui servira de

"boite aux lettres" . Un processus qui veut envoyer un message à un autre va le déposer dans la boite aux

lettres. Le processus destinataire ira le récupérer dans la boite. (1 points)

Question 3 : Dans la méthode de communication de la "Mémoire partagée", que doit contenir un message au minimum ?

Réponse :

Le message doit contenir 3 éléments au minimum : l'identifiant du processus émetteur, l'identifiant du

processus destinataire et le message lui-même. (1 points)

Question 4 : Dans la méthode de communication de la "Mémoire partagée", lorsqu"n processus Pi envoie un message à

un autre processus Pj, dites comment ce dernier peut-il savoir qu"il y"a un message qui lui a été envoyé.

Réponse :

Le processus destinataire va consulter régulièrement le contenu de la boite aux lettres. (1 points)

Question 5 : Dans la méthode de communication de la "Mémoire partagée", expliquez comment un processus peut

"diffuser" un message. Expliquez le problème qui se pose alors, et donnez une solution.

Réponse :

Le message diffusé comporte dans sa partie destinataire une marque qui symbolise le fait que le message

concerne tous les processus (par exemple une étoile *).

Le problème est que le message déposé dans la boite doit être lu par tous les processus qui iront le lire à

des temps différents. Comment alors savoir que le message a été lu par tous les processus ?.

La solution serait d'utiliser un compteur de processus ayant lu le message. Lorsque ce compteur est égal à

N (le nombre de processus) , on peut alors savoir que le message a été lu par tous les processus et donc il

peut être supprimé de la boite. (2 points)quotesdbs_dbs9.pdfusesText_15
[PDF] exercice corrigé série harmonique alternée

[PDF] exercice corrigé servlet jsp

[PDF] exercice corrigé seuil de rentabilité pdf

[PDF] exercice corrigé sig et caf

[PDF] exercice corrigé sollicitation composée

[PDF] exercice corrigé spectre de latome dhydrogène

[PDF] exercice corrigé spectroscopie uv visible pdf

[PDF] exercice corrigé statistique a deux variables

[PDF] exercice corrigé statistique bivariée

[PDF] exercice corrigé statistique descriptive a deux variables pdf

[PDF] exercice corrigé statistique descriptive bivariée pdf

[PDF] exercice corrigé statistique tableau de contingence

[PDF] exercice corrigé structure langage c

[PDF] exercice corrigé suite arithmétique géométrique

[PDF] exercice corrigé sur la part de marché