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





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 : (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 .

Page 1 / 5 Université de Chlef Février 2012

Département Informatique

Filière : 3

ème Année Licence TSW

Examen semestriel

Module de " Systèmes d"exploitation2 »

Corrigé

Exercice 1 :

(05 points)

Question 1 : Quelles critiques peut-on faire aux solutions matérielles du problème de l"exclusion mutuelle ?

Réponse : Ce sont des solutions spécifiques pour certains ordinateurs. Elles ne peuvent pas être appliquées dans

tous les cas. (1 point)

Question 2 : Les moniteurs sont considérés comme des outils de synchronisation "avancés" par rapport aux sémaphores.

Expliquez brièvement pourquoi.

Réponse : Car les moniteurs cachent les détails de synchronisation. Le code des processus devient moins lourd.

(1 point) Question 3 : Quelles critiques peut-on faire à l"algorithme du banquier ?

Réponse :

· Coûteux : L"algorithme est en effet très coûteux en temps d"exécution et en mémoire pour le système Puisqu"il

faut maintenir plusieurs matrices, et déclencher à chaque demande de ressource, l"algorithme de vérification

de l"état sain qui demande mxn

2 opération. (m est le nombre de types de ressources et n est le nombre de

processus).

· Théorique : L"algorithme exige que chaque processus déclare à l"avance les ressources qu"il doit utiliser, en

type et en nombre. Cette contrainte est difficile à réaliser dans la pratique.

· Pessimiste : L"algorithme peut retarder une demande de ressources dès qu"il y a risque d"interblocage (mais en

réalité l"interblocage peut ne pas se produire). (2 points)

Question 4 : Présentez brièvement le principe de la méthode "détection-guérison" des interblocages.

Réponse :

Le principe de la méthode consiste à lancer périodiquement un algorithme de détection d"interblocage. Lorsque

l"interblocage est détecté , on applique une méthode de guérison : manuelle, arrêt de processus ou réquisition de

ressources. (1 point)

Page 2 / 5 Exercice 2

: (10 points) Deux villes A et B sont reliées par une seule voie de chemin de fer.

Les règles de circulation sont les suivantes :

- La voie ne doit jamais être empruntée simultanément par deux trains allant en sens inverse

- La voie peut être empruntée par un ou plusieurs trains allant tous dans le même sens - La priorité de parcours est la même pour les deux sens.

On considère deux classes de processus : les trains allant de A vers B : " T-AB » et les trains allant de B vers A : " T-

BA ».

Processus T-AB

Début

Entree_A();

Sortie_B();

Fin.

Processus T-BA

Début

Entree_B();

Sortie_A();

Fin.

1) Quelle est la différence entre ce problème et le modèle des lecteurs/rédacteurs ?

Réponse :

La différence est que dans le modèle lecteur/rédacteur, on ne peut trouver qu"un seul rédacteur à la fois entrain

d"occuper la ressource partagée (fichier) alors que dans ce problème la ressource (la voie) peut être occupée par

plusieurs processus en même temps et ceci pour les deux classes T-AB et T-BA. (1 point)

2) En utilisant les sémaphores, écrire les codes des quatre procédures entree_A(), entree_B(), sortie_A() et sortie_B() de

façon à ce que les processus respectent les règles de circulation sur la voie. Précisez clairement vos déclarations et

initialisations.

Déclarations et initialisations :

nbA : entier (init à 0) Compte le nombre de trains allant de A vers B nbB : entier (init à 0) Compte le nombre de trains allant de B vers A.

S1 : Sémaphore (init à 1) pour permettre que des trains de sens contraire ne s"engagent pas dans la voie en même

temps.

M1 : Sémaphore (init à 1) pour protéger la mise à jour en exclusion mutuelle de la variable protégée nbA

M2 : Sémaphore (init à 1) pour protéger la mise à jour en exclusion mutuelle de la variable protégée nbB

(1 point)

Ville A Ville B

Page 3 / 5

Processus T-AB

Début

P(S1) P(M1) nbA++ si (nbA==1) alors P(S2) fsi V(M1) V(S1) P(M1) nbA - - si (nbA==0) alors V(S2) fsi V(M1) Fin.

Processus T-BA Début

P(S1) P(M2) nbB++ si (nbB==1) alors P(S2) fsi V(M2) V(S1) P(M2) nbB - - si (nbB==0) alors V(S2) fsi V(M1) Fin. (3 points)

3) Expliquer pourquoi la solution suivante (avec moniteurs) n"est pas correcte.

Moniteur AB ;

Int nbA=0, nbB=0 ;

Condition ca, cb ;

Entree_A()

nbA++ ; si (nbB>0) alors ca.wait() fsi } Entree_B() { nbB++ ; si (nbA>0) alors cb.wait() fsi

Sortie_B()

nbA-- ; si (nbA==0) alors cb.signal() fsi } Sortie_A() { nbB - - ; si (nbB==0) alors ca.signal() fsi

4) Donnez une correction de la solution erronée.

M = Moniteur

Var

Int nbA, nbB, attA, attB;

Condition ca, cb ;

Procedure Entry Entree_A()

Begin si (nbB>0) alors attA++ ; ca.wait() fsi nbA++ ; si (attA>0) alors attA-- ; ca.signal() ; fsi

Réponse :

L"erreur dans la solution donnée

est qu"en utilisant un seul compteur (nbA et nbB) pour chaque classe on n"arrivera pas à différencier le nombre de processus entrain d"utiliser la voie de celui qui est attente. Et cette solution peut induire un problème d"interblocage. comme par exemple le cas où A1, B1, A2 arrivent successivement, à la sortie de A1, nbA sera égal à 1 et donc

B1 reste bloqué sur cb en attente

d"être débloqué et A2 reste bloqué sur ca en attente d"être débloqué par B1. (2 points)

Page 4 / 5

End;

Procedure Entry Sortie_B()

Begin nbA-- ; si (nbA==0) alors si (attB>0) alors attB-- ; cb.signal() fsi fsi End;

Procedure Entry Entree_B()

Begin si (nbA>0) alors attB++ ; cb.wait() fsi nbB++ ; si (attB>0) alors attB-- ; cb.signal() ; fsi End;

Procedure Entry Sortie_A()

Begin nbB-- ; si (nbB==0) alors si (attA>0) alors attA-- ; ca.signal() fsi fsi End;

Begin /*Initialisation */

nbA=0, nbB=0, attA=0, attB=0 ; End. (3 points)

Exercice 3

: (05 points)

Dans un système il y a 4 processus (Pi, i=0..4) qui partagent 6 types de ressources (Ri, i=0..6). Le système possède une

seule ressource de chaque type.

L"état courant du système est décrit par les matrices d"allocation (ALLOCATION) et de besoin (NEED) suivantes, ainsi

que le vecteur de disponibilité instantanée (AVAILABLE)=[0 1 0 0 0 0] :

ALLOCATION =

NEED=

1. L"état courant est-il sûr (sain) ? Justifier.

Réponse :

En appliquant l"algorithme de vérification de l"état sain, on trouve que le vecteur Finsh est entièrement égal à

Vrai :

V V V V

R1 R2 R3 R4 R5 R6

P1 1 0 1 0 0 0

P2 0 0 0 1 0 0

P3 0 0 0 0 1 0

P4 0 0 0 0 0 1

R1 R2 R3 R4 R5 R6

P1 0 1 0 0 0 0

P2 0 1 1 0 0 0

P3 1 1 0 0 0 0

P4 0 1 1 1 0 0

Page 5 / 5

L"état du système est donc sain.

(1 point)

2. Si P3 demande une ressource R2 peut on lui accorder immédiatement sa requête? Justifier.

Réponse :

On applique l"algorithme du banquier :

Etape 1 : Request3 <=Need3 ? oui

Etape2 : Request3<=Available ? oui

Etape3 : Sauvegarde de l"état du système.

Modification des matrices

Algorithme de vérification de l"état sain :

Work 0

0 0 0 0 0

Finish

F F F F

Le vecteur Finish final n"est pas entièrement fégal à Vrai .

L"état du système n"est pas sain. Annuler les modifications sur les matrices. On ne pas satisfaire la requête

immédiatement. (2 points)

3. Si P1 demande une ressource R2 peut on lui accorder immédiatement sa requête? Justifier.

Réponse :

On applique l"algorithme du banquier :

Etape 1 : Request1 <=Need3 ? oui

Etape2 : Request1<=Available ? oui

Etape3 : Sauvegarde de l"état du système.

Modification des matrices

Algorithme de vérification de l"état sain :

Work 0

0 0 0 0 0

Finish

F F F F

I=0 Work 1

1 1 0 0 0

Finish

V F F F I=2 Work 1

1 1 1 0 0

Finish

V V F F I=3 Work 1

1 1 1 1 0

Finish

V V V F I=4 Work 1

1 1 1 1 1

Finish

V V V V Le vecteur Finish final est entièrement égal à Vrai . L"état du système est sain. La requête peut être accordée. (2 pointsquotesdbs_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é