Mod4-Exercices

17
INF2610 Hiver 2012 Module 4 : Synchronisation 4. 1 Trad iti onn ell eme nt , les map hores ét aie nt impla nté s en mode noya u afi n de pouvoir érer les attentes et réveils lors!ue les sémaphores sont inférieurs ou éau" # 0. $st%&e essentiel' (ans !uels &as pourrait%on faire mieu"' )omment' 4.2 $st %&e !ue l*a lor ithme de l*att ente a&tive ave& alternan&e fon&tionne aussi sur un ordinateur multi%pro&esseur # mémoire partaée' 4.+ $st %&e !ue l*a lor ithme de ete rson po ur l*e" &lus ion mut uell e peut fo n&ti onner sur un syst-me ave& ordonnan&ement préemptif' Non préemptif' 4. 4 eut%on utiliser une in st ru&tion d* é& hane atomi!ue s /a p plut t !u *une instru&tion T3 test and set lo& afin de réaliser une fon&tion permettant de érer l*entrée dans une réion &riti!ue' 4.5 )omment peu t%o n pror amme r des sémapho res en ut ilis ant se ulement la &ap a&it é de l*ordinateur # désa&tiver les interruptions' 4.6 eut% on prorammer des sémap hores # l*a id e de mu te" et de varia les ordinaires' 4.7 eu t%il 8t re per tine nt d*utiliser un e arr i-re si on n*a !ue deu" p ro& essus' 4.9 $st%& e !ue deu " fils d*e&ution dans un m8me pro&e ssus peuvent se syn&hro niser # l*aide de sémaphor e, s*il s*ait de fils érés par le syst-me' :érés en mode usaer' 4. ; <n vou s prop ose de rempl a&e r /ait et si nal pour les &onditi ons par une for me plus énérale permettant d*attendre sur une e"press ion e.. /ait until " = 0 >> " ? y = n. )ette primitive serait plus fle"ile. $st%&e !ue &e serait avantaeu"' 1

Transcript of Mod4-Exercices

8/12/2019 Mod4-Exercices

http://slidepdf.com/reader/full/mod4-exercices 1/17

INF2610 Hiver 2012

Module 4 : Synchronisation

4.1 Traditionnellement, les sémaphores étaient implantés en mode noyau afin depouvoir érer les attentes et réveils lors!ue les sémaphores sont inférieurs ouéau" # 0. $st%&e essentiel' (ans !uels &as pourrait%on faire mieu"' )omment'

4.2 $st%&e !ue l*alorithme de l*attente a&tive ave& alternan&e fon&tionne aussi sur unordinateur multi%pro&esseur # mémoire partaée'

4.+ $st%&e !ue l*alorithme de eterson pour l*e"&lusion mutuelle peut fon&tionner surun syst-me ave& ordonnan&ement préemptif' Non préemptif'

4.4 eut%on utiliser une instru&tion d*é&hane atomi!ue s/ap plutt !u*une

instru&tion T3 test and set lo& afin de réaliser une fon&tion permettant de érerl*entrée dans une réion &riti!ue'

4.5 )omment peut%on prorammer des sémaphores en utilisant seulement la &apa&itéde l*ordinateur # désa&tiver les interruptions'

4.6 eut%on prorammer des sémaphores # l*aide de mute" et de varialesordinaires'

4.7 eut%il 8tre pertinent d*utiliser une arri-re si on n*a !ue deu" pro&essus'

4.9 $st%&e !ue deu" fils d*e"é&ution dans un m8me pro&essus peuvent sesyn&hroniser # l*aide de sémaphore, s*il s*ait de fils érés par le syst-me' :érésen mode usaer'

4.; <n vous propose de rempla&er /ait et sinal pour les &onditions par une formeplus énérale permettant d*attendre sur une e"pression e.. /ait until " = 0 >> " ?y = n. )ette primitive serait plus fle"ile. $st%&e !ue &e serait avantaeu"'

1

8/12/2019 Mod4-Exercices

http://slidepdf.com/reader/full/mod4-exercices 2/17

4.10 )onsidére@ un syst-me multi&ou&he &omposé de trois &ou&hes 0, 1 et 2. 3es&ou&hes sont des pro&essus &on&urrents !ui &ommuni!uent au moyen de deu"

tampons T0 et T1 de m8me taille NA 0 et 1 partaent le tampon T0 et 1 et 2partaent le tampon T1. )ha!ue &ou&he se &hare dBun traitement parti&ulier A

3e pro&essus 0 se &hare de lire du &lavier des messaes !uBil traite avant deles déposer dans le tampon T0. 3e traitement dBun messae par la &ou&he 1&onsiste # lBen&rypter. Il est réalisé par la fon&tion $n&rypter suivante A

Message Encrypter (Message);

3a fon&tion Message Lire (); permet de lire un messae du &lavier.

3e pro&essus 1 se &hare de transférer dire&tement les messaes du tamponT0 vers le tampon T1.

3e pro&essus 2 ré&up-re les messaes du tampon T1 pour les envoyer # undestinataire. 3Benvoi dBun messae est réalisé par la fon&tion $nvoyer A

Envoyer (Message );

2

clavier  P0

P1

P2

T0

T1

Envoyer (m)

8/12/2019 Mod4-Exercices

http://slidepdf.com/reader/full/mod4-exercices 3/17

$"pli!ue@ &omment les pro&essus peuvent utiliser les sémaphores pour &ontrlerles a&&-s au" tampons partaés e"&lusion mutuelle, pas dBinterlo&ae.(onne@ les pseudo&odes des trois pro&essus.

4.11 émaphores

1. $"pli!ue@ &e !ui peut arriver si la file dBattente dBun sémaphore est érée selon ladis&ipline 3IF< last in first out.

2. $"pli!ue@ un avantae de lButilisation de moniteurs sur les sémaphores pour lasyn&hronisation de pro&essus.

+. )ompléte@, en aCoutant les sémaphores et les opérations et D né&essaires, les

&odes du produ&teur et du &onsommateur suivants. 3e produ&teur produitplusieurs ressour&es # la fois alors !ue le &onsommateur &onsomme une seuleressour&e # la fois.

&har TENG taleau de N &ara&t-resemaphore lein 0, DideN, Jute"1

rodu&teur Kint ip0, JG&har &hENG

  Lepeter   K  J3ire&h,NG

(eposer&h, J, ipG

ip ip ? J M NG

 

)onsommateur Kint i&0G

&har &G  Lepeter   K

& Letirer i&Gi& i&?1 MN

Traiter&G   

3a fon&tion O int 3ire&har &hE, int NG P &onstruit, dans &h, une &haQne de &ara&t-res delonueur &omprise entre 1 et N in&lusivement. $lle retourne la lonueur de la &haQne.

3a fon&tion O void (eposer&har &hE, int J, int ipG P ins-re, dans le tampon T, la &haQnede &ara&t-res &h. J est la lonueur de la &haQne.

3a fon&tion O &har Letirerint i&G P retire un &ara&t-re du tampon T. $lle retourne le&ara&t-re retiré.

+

8/12/2019 Mod4-Exercices

http://slidepdf.com/reader/full/mod4-exercices 4/17

3a fon&tion O void Traiter&har &G P traite le &ara&t-re.

4.12 Trois pro&essus &on&urrents 1, 2 et + e"é&utent &ha&un le prorammesuivantA

i i 1,2,+

K int n0G

/hiletrue

printfR&y&le Md de MdR, n??, iG

Synchronisez les &y&les des pro&essus # lBaide de sémaphores de mani-re # &e !ue A

• )ha!ue &y&le de 1 sBe"é&ute en &on&urren&e ave& un &y&le de 2.

• 3e pro&essus + e"é&ute un &y&le, lors!ue 1 et 2 terminent tous les deu"

lBe"é&ution dBun &y&le.

• 3ors!ue + termine un &y&le, les pro&essus 1 et 2 entament &ha&un un

nouveau &y&le et ainsi de suiteS

4.1+ 3a ville de Jontréal veut restru&turer la &ir&ulation sur son territoire. 3e &onseilmuni&ipal dé&ide don& de resyn&hroniser les interse&tions pour réduire le trafi&

au" heures de pointe. 3a ville vous enae pour réaliser un mod-le desyn&hronisation, # lBaide de sémaphores, dBune interse&tion typi!ue de la ville. Ilest important de noter !ue le virae # droite sur le feu roue nBest pas léal surlBQle de Jontréal. 3Binterse&tion &hoisie poss-de + voies nord%sud et 2 voies est%ouest.

3 voies nord-sud :

armi les + voies nord%sud, la plus # droite permet de tourner # droite et dBallertout droit. 3a &entrale permet dBaller tout droit tandis !ue &elle de au&he est unevoie réservée pour le tournant # au&he. 3es &ondu&teurs enaés dans &ettevoie doivent attendre la fl-&he verte pour tourner, tandis !ue le feu vert dans lesdeu" autres voies sont des feu" pleins feu" ronds. 3es voies opposées sontsoumises au" m8mes r-les.

2 voies est-ouest :

4

8/12/2019 Mod4-Exercices

http://slidepdf.com/reader/full/mod4-exercices 5/17

3a voie la plus # droite de &es deu" voies permet au" &ondu&teurs de tourner #droite ou dBaller tout droitG par &ontre, la plus # au&he de &es voies permetseulement dBaller tout droit. )omme dans la maCorité des interse&tions de la ville,le virae # au&he nBest pas permis dans &e sens de la &ir&ulation. 3e feu !ui

permet de traverser lBinterse&tion pour &es voies est un feu plein.  3es voiesopposées sont soumises au" m8mes r-les.

3e s&héma suivant illustre lBe"pli&ation A

<n suppose !ue lBinterse&tion est touCours lire A d-s !uBun &ondu&teur sBenae,il sera apte # traverser enti-rement lBinterse&tion. 3es feu" du sens est%ouestouest%est sont initialement verts. 3es feu" opposés sont touCours dans le m8meétat A si la fl-&he est verte lBautre fl-&he lBest aussi. 3a sé!uen&e de passae auvert doit suivre lBordre suivant A le feu est%ouest, puis le feu" nord%sud, et la fl-&hepour finir. eulement un des trois énumérés peut 8tre vert # la fois.)ha!ue voie poss-de sa file de voitures en attente du feu vert. )es files serontmodélisées par des listes de la T3. (e plus, un pro&essus léer sera en &harede syn&hroniser les feu" # lBaide de sémaphores. 3Battente a&tive dans le mod-lenBest pas a&&eptale.

denti!ier  les mod-les de syn&hronisation &lassi!ues présents dans &e syst-me."#ter$inez le nomre de pro&essus léers né&essaires, le nomre desémaphores et de mute" ave& leurs valeurs initiales. ndi%uez le rle de &ha&un.

5

8/12/2019 Mod4-Exercices

http://slidepdf.com/reader/full/mod4-exercices 6/17

4.14 (eu" pro&essus et U &ommuni!uent au moyen dBun tampon T pouvant &ontenir!uBun seul messae # la fois. )e tampon est utilisé, de faVon alternée, pour la&ommuni&ation dans les deu" sens attention un seul pro&essus utilise # la fois &etampon. 3e pro&essus dépose un messae dans le tampon puis attend la

réponse de U avant de déposer # nouveau un autre messae et ainsi de suiteS.3ors!ue U reVoit un messae de , il dépose sa réponse dans le tampon puis semet en attente dBun autre messae de et ainsi de suiteS yn&hronise@ aumoyen de sémaphores les pro&essus et U pour répondre # la !uestion,&ompléte@ le &ode suivant

semaphore S.. G W0W&har TE256 Gvoid depot &har ufE Gvoid re&uperer&har ufE G

 ro&essus ro&essus U

  K &har messE256, repE256 G K &har messE256 , repE256 G

/hile 1 /hile 1K W 1 W K W 4 W  lire messG

  depot mess G re&uperer mess G  reponsemess,rep  W 2W W5W  re&upererrep G depotrepG

  W+W W 6W

 

uppose@ maintenant !uBun troisi-me pro&essus ) veuille &ommuni!uer ave& Uen utilisant lBuni!ue tampon T. 3es pro&essus et ) se &omportent de la m8memani-re. U peut don& re&evoir un messae de ou ), la réponse doit 8treré&upérée par le pro&essus e"péditeur du messae. yn&hroniser au moyen de

sémaphores les pro&essus , U et ).

4.15 yn&hronise@ au moyen de sémaphores lBen&haQnement des opérations defari&ation de stylos # ille. )ha!ue stylo est formé dBun &orps, dBune &artou&he,dBun ou&hon arri-re et dBun &apu&hon. 3es opérations # effe&tuer sont lessuivantes A

• remplissae de la &artou&he ave& lBen&re opération L),

6

8/12/2019 Mod4-Exercices

http://slidepdf.com/reader/full/mod4-exercices 7/17

• assemlae du ou&hon arri-re et du &orps opération U<,

• assemlae de la &artou&he ave& le &orps et le &apu&hon opération ,

• emallae opération $J.

)ha!ue opération est effe&tuée par une ma&hine spé&ialisée mL), mU<, m,m$J. 3es sto&s de pi-&es déta&hées et dBen&re sont supposés disponiles!uand la ma&hine est disponile. 3es opérations L) et U< se font en parall-le.3Bopération doit 8tre effe&tuée, apr-s &es deu" opérations, en prélevantdire&tement les éléments sur les ma&hines mL) et mU<. 3e produit assemléest déposé dans un sto& en attente de lBopération $J. 3Bopération $J se faitdon& apr-s , # partir du sto&. 3e sto& est supposé de taille N et de dis&iplineFIF<.

mRC( )

{ while (1){

RC( ) ;

  }

}

mBO( )

{ while (1){

  BO( ) ;

 

}

}

mAS( )

{ while (1){

  AS( ) ; 

}

}

mEM( )

{ while (1){

EM() ;

 

}

}

4.16 <n dispose dBune &arte éle&troni!ue # ase de mi&ro&ontrleurs pour &ontrler unensemle de roots. 3a &arte est livrée ave& un loi&iel sous 3inu", !ui permet de

&réer son propre proramme pour &ommander et &oordonner un ensemle deroots, et de le &harer ensuite dans la mémoire non volatile sur la &arte par unport série. <n vous solli&ite pour é&rire un pseudo&ode !ui &ontrle ledépla&ement de plusieurs roots sur les &hemins suivants A

3es roots peuvent partir de vers ) ou de ( vers .

our éviter tout ris!ue de &ollision, il faut sBassurer !ue &ha!ue sement du

&hemin sements U, U) et (U est utilisé par un root au plus.

7

8/12/2019 Mod4-Exercices

http://slidepdf.com/reader/full/mod4-exercices 8/17

our répondre # &ette !uestion, &ompléte@ le pseudo&ode suivant afin !ue lesr-les &i%dessus soient respe&tées. (ans &e proramme, &ha!ue root est&ommandé par un pro&essus.

$st%&e !ue votre solution présente un prol-me de famine ' interlo&ae 'Xustifie@.

/*0*/

void TraverserSegAB ( ) ; // Traverser le segment ABvoid TraverserSegB ( ) ; // Traverser le segment B

void TraverserSegB! ( ) ; // Traverser le segment B!

 Process"s #o$otA Process"s #o$ot!A

  K K

W 1 W W 4 WTraversereU G TraversereU( GW 2W W5W

TraversereU) G TraversereU G  W+W W 6W

4.17 3a &ir&ulation dans une interse&tion de deu" voies # sens uni!ue est rélée par

des sinau" lumineu" feu vertroue. <n suppose !ue les voitures traversentlBinterse&tion en ligne  droite et !ue l&intersection peut contenir au plus unevoiture ' la !ois.

<n impose les &onditions suivantes A

9

8/12/2019 Mod4-Exercices

http://slidepdf.com/reader/full/mod4-exercices 9/17

o toute voiture se présentant # lBinterse&tion la fran&hit en un temps fini G

o les feu" de &ha!ue voie passent alternativement du vert au roue, &ha!ue&ouleur étant maintenue pendant un temps fini (ureeYduYfeu G

o les arrivées sur les deu" voies sont réparties de faVon !uel&on!ue.

3e fon&tionnement de &e syst-me peut 8tre modélisé par un ensemle depro&essus parall-lesA

o un pro&essus P !ui e"é&ute la pro&édure Changement !ui &ommande les feu"G

o un pro&essus est asso&ié # &ha!ue voitureG la traversée du &arrefour par unevoiture !ui &ir&ule sur la voie i i 1, 2 &orrespond # l*e"é&ution d*une pro&édureTraverseei() par le pro&essus asso&ié # la voiture.

our simuler un tel syst-me, on vous demande, dans un premier temps, de&ompléter, en aCoutant les sémaphores et le &ode né&essaires, les pro&éduressuivantes (attention A vous ne deve@ pas aCouter de variales dBautres types A

Feu 1 si le feu" de la voie 1 est vert, Feu 2 si le feu" de la voie 2 est vert

&ir&uler simule la traversée de lBinterse&tion

(ans une se&onde étape, il vous est demandé de &ompléter le moniteur suivant,en aCoutant les variales de &ondition et le &ode né&essaires A

;

8/12/2019 Mod4-Exercices

http://slidepdf.com/reader/full/mod4-exercices 10/17

Feu 1 si le feu" de la voie 1 est vert, Feu 2 si le feu" de la voie 2 est vert N/1 est le nomre de voitures .S. sur la voie 1

N/2 est le nomre de voitures ..S..sur la voie 2.

4.19 <n souhaite implémenter au moyen de sémaphores les &ompteurs dBévénements.Zn &ompteur dBévénements est un &ompteur asso&ié # un événement. a valeurindi!ue le nomre dBo&&urren&es de lBévénement asso&ié. :énéralement, &e&ompteur est partaé entre plusieurs pro&essus et sert # les syn&hroniser. (ans&e sens, trois opérations atomi!ues sont définies pour un &ompteur dBévénement

$ A

◦ Lead$ A retourne la valeur de $ au pro&essus appelant.

◦  dvan&e$ A in&rémente de 1 la valeur de $ et délo!ue tous les pro&essusen attente !ue $ atteine &ette nouvelle valeur.

◦  /ait$, v A lo!ue le pro&essus appelant, si la valeur de $ est stri&tementinférieure # v. Il nBy a pas de lo&ae du pro&essus appelant si la valeur de $est déC# éale ou plus rande !ue v.

o$pl#tez  au moyen de s#$aphores, la stru&ture et les pro&édures /ait,

Lead et dvan&e suivantes sous forme de pseudo&ode. ndi%uez  &lairementles stru&tures de données aCoutées dans la stru&ture )ompteur$venement ainsi!ue les opérations asso&iées.

str"ct om%te"rEvenement& int val ; /* 0 */ '

10

8/12/2019 Mod4-Exercices

http://slidepdf.com/reader/full/mod4-exercices 11/17

void Aait (om%te"rEvenement *E; int ale"r)

& /*1*/ '

void Advance (om%te"rEvenement *E)

& /* 2 */ '

int #ead (om%te"rEvenement *E)

& /* * / '

  om%te"rEvenement E + /* ,*/ ;

4.1; <n &onsid-re le prol-me du passae # niveau # voie uni!ue. our simuler lefon&tionnement de &e syst-me, on se propose de le modéliser par un ensemlede pro&essus parall-les A

• un pro&essus )ontrleur !ui se &hare de &ommander la fermeture et lBouverturedes arri-res. 3es arri-res doivent 8tre fermées lors!uBun train traverse lepassae # niveau. 3e &ontrleur ouvre les arri-res sBil nBy a au&un train enattente du passae # niveau.

• un pro&essus Train est asso&ié # &ha!ue train. Il est &réé de faVon aléatoirepour simuler lBarrivée dBun train ainsi !ue la traversée du passae # niveau.

o$pl#tez en aCoutant les s#$aphores et le code né&essaires, les pro&éduressuivantes e"é&utées par les pro&essus )ontrleur et Train (attention A vous ne

deve@ pas aCouter de variales dBautres types. i esoin est, vous pouve@ utiliserlBopération int NUsemaphore s !ui est lBé!uivalent de semYtry/ait[s.E*pli%uez le rle de &ha!ue sémaphore indi%uez lButilité de sa %ueue ainsi !uesa valeur initiale.

+ttention : Dous ne deve@ pas aCouter de variales autres !ue les sémaphores.

11

8/12/2019 Mod4-Exercices

http://slidepdf.com/reader/full/mod4-exercices 12/17

Semaphore ………………  W0Wontr-le"r () Train()

& &

.ile(1) /**/& /*1*/

  Traverser();

/*,*/

ermerBarrieres() ; ' /*2*/

"vrirBarrieres() ; '

'

4.20 <n dispose d*un mé&anisme d*enreistrement # un ensemle de &ours, tel !uetout étudiant ne peut 8tre ins&rit !u*# au plus trois &ours, et !ue &ha!ue &ours a unnomre limité de pla&es. Zn étudiant ins&rit déC# # trois &ours peut sBil le souhaiteen aandonner un, pour en &hoisir un autre dans la limite des pla&es disponiles.i &et é&hane nBest pas possile, lBétudiant ne doit pas perdre les &ours au"!uelsil est déC# ins&rit.

3e ureau des affaires a&adémi!ues souhaite don& mettre en pla&e un syst-mede permutation de &ours, permettant # un étudiant de &haner de &ours. Il voussolli&ite pour vérifier si lBimplémentation !ue vous ave@ proposée il y a un anavant se suivre le &ours INF+600 est &orre&te A

void $&hane)ours utilisateur utilisateur, )ours &ours1, &ours2 K  &ours1%\verrouille G verrouille lBa&&-s # lBoCet &ours1  &ours1%\desins&rit utilisateurG  if &ours2%\estlein false K  &ours2%\verrouille G verrouille lBa&&-s # lBoCet &ours2  &ours2%\ins&rit utilisateurG  &ours2%\deverrouille G déverrouille lBa&&-s # lBoCet &ours2    &ours1%\deverrouille G déverrouille lBa&&-s # lBoCet &ours2

12

8/12/2019 Mod4-Exercices

http://slidepdf.com/reader/full/mod4-exercices 13/17

,#ri!iez si li$pl#$entation est correcte A i elle est &orre&te, e*pli%uezpour%uoi, en montrant &omment est éré le &as o] deu" étudiants ou plusveulent a&&éder en m8me temps au syst-me. i elle est in&orre&te listez ete*pli%uez les pro.l/$es, et proposez une solution !ui fon&tionne.

4.21 <n vous solli&ite pour implémenter en utilisant les sémaphores un autremé&anisme de syn&hronisation appelé O Uarri-res P. )e mé&anisme est tr-s utilepour syn&hroniser un roupe de pro&essus &omposés &ha&un de plusieurs phases!ui fon&tionnent selon la r-le suivante A u&un pro&essus ne peut entamer saphase suivante tant !ue les autres nBont pas fini leurs phases &ourantes. ourréaliser une telle syn&hronisation, une arri-re est pla&ée # la fin de &ha!ue

phase. 3ors!uBun pro&essus atteint une arri-re, il est lo!ué Cus!uB# &e !ue tousles autres pro&essus atteinent la arri-re. 3es pro&essus peuvent alors e"é&uterleurs phases suivantes.

ar e"emple, les trois pro&essus , U et ) suivants &onsistent en deu" phasesO a&!uisition P et O traitement P de param-tres. ve& la arri-re ^, il ne peut yavoir un pro&essus # lBétape a&!uisition de param-tres et un autre # lBétape detraitement. )ette arri-re permet au" trois pro&essus de se syn&hroniser avantdBentamer une autre phase.

UarrierYt ^ + G + est le nomre de pro&essus utilisant la arri-re ^.

ro&essus

K /hile 1

  K &!uisaram1 G

^.Uarriere G

Trtaram1 G

^.Uarriere G

 

ro&essus U

K /hile 1

  K &!uisaram2 G

^.Uarriere G

Trtaram2 G

^.Uarriere G

 

ro&essus )

K /hile 1

  K &!uisaram+ G

^.Uarriere G

Trtaram+ G

^.Uarriere G

 

(onne@ une implémentation au moyen de sémaphores de &e mé&anisme desyn&hronisation sous forme de pseudo%&ode. our répondre # &ette !uestion,définisse@ une &lasse dBoCet UarrierYt en pré&isant ses attriuts et sesméthodes.

1+

8/12/2019 Mod4-Exercices

http://slidepdf.com/reader/full/mod4-exercices 14/17

<n veut maintenant utiliser les arri-res pour syn&hronise@ une &haQne deprodu&tion de stylos # ille. )ha!ue stylo est formé dBun &orps, dBune &artou&he,dBun ou&hon arri-re et dBun &apu&hon. 3es opérations # effe&tuer pour fari!uerun stylo sont les suivantes A

• remplissae de la &artou&he ave& de lBen&re opération L) ,

• assemlae du ou&hon arri-re et du &orps opération U< ,

• assemlae de la &artou&he ave& le &orps et le &apu&hon opération  ,

• emallae opération $J .

)ha!ue opération est effe&tuée par une ma&hine spé&ialisée &ommandée par unpro&essus mL), mU<, m, m$J. 3es sto&s de pi-&es déta&hées et dBen&resont supposés disponiles !uand la ma&hine est disponile. 3es opérations L)et U< se font en parall-le. vant dBentamer lBopération , la ma&hine m doitprélever les éléments sur les ma&hines mL) et mU< opération :. 3eproduit assemlé est ensuite prélevé par m$J pour lBemallae.

(onne@ le pseudo%&ode de &ha!ue pro&essus. Indi!ue@ &lairement les arri-resutilisées, leurs valeurs ainsi !ue leurs rles.

0arrier1t

$5( )

6 7hile (8)6

 8  5( ) ;  2  99

$0( )6 7hile (8)

6

  3  0( ) ;  4  99

14

8/12/2019 Mod4-Exercices

http://slidepdf.com/reader/full/mod4-exercices 15/17

$+S( )6 7hile (8)

  <=( ) ;  >  +S( ) ;  ?  99

$EM()

6 7hile (8)6

  @  <=( ) ;  A  EM( ) ;  8  99

Zne mauvaise utilisation des arri-res peut%elle mener vers des interlo&aes 'Xustifie@ '

4.22 oient trois pro&essus &on&urrents 1, 2 et + !ui partaent les variales n etout. our &ontrler les a&&-s au" variales partaées, un prorammeur proposeles &odes suivantsA

• emaphore mute"1 1 G

• emaphore mute"2 1 G

• )ode du pro&essus p1 A

mute"1 Gmute"2 G

outout?1 Gnn%1 GDmute"2 G Dmute"1 G

• )ode du pro&essus p2 A

mute"2 Goutout%1 G

15

8/12/2019 Mod4-Exercices

http://slidepdf.com/reader/full/mod4-exercices 16/17

Dmute"2 G

• )ode du pro&essus p+ A

mute"1 G

nn?1 GDmute"1 G

)ette proposition est%elle &orre&te ' inon, indi!uer parmi les 4 &onditionsre!uises pour réaliser une e"&lusion mutuelle &orre&te, &elles !ui ne sont passatisfaites ' roposer une solution &orre&te.

<n veut effe&tuer en parall-le le produit de deu" matri&es et U dBordre n n"n.our se faire, on &rée m m=n pro&essus léers threads. )ha!ue pro&essusléer se &hare de &al&uler !uel!ues lines de la matri&e résultat L A

our C 0 # n%1 LEi,C ∑0,n%1 Ei,WUE,C G

(onner sous forme de &ommentaires en utilisant les sémaphores et lesopérations et D, le &ode des pro&essus léers A )al&ul3ines . ré&iser lessémaphores utilisés et les variales partaées.

4.2+ (eu" villes et U sont reliés par une seule voie de &hemin de fer. 3es trainspeuvent &ir&uler dans le m8me sens de vers U ou de U vers . Jais, ils nepeuvent pas &ir&uler dans les sens opposés. <n &onsid-re deu" &lasses depro&essus A les trains allant de vers U Train versU et les trains allant de U vers

  Train Uvers. )es pro&essus se dé&rivent &omme suit A

Train versU A• (emande dBa&&-s # la voie par G

• )ir&ulation sur la voie de vers UG ortie de la voie par UG

Train Uvers A

• (emande dBa&&-s # la voie par U G

• )ir&ulation sur la voie de U vers G

• ortie de la voie par G

armi les mod-les étudiés en &lasse produ&teur&onsommateur,le&teurréda&teur, les philosophes, &e prol-me &orrespond # !uel mod-le '

$&rire sous forme de &ommentaires en utilisant les sémaphores, les opérations et D, les &odes de demandes dBa&&-s et de sorties, de faVon # &e !ue lespro&essus respe&tent les r-les de &ir&ulation sur la voie uni!ue.

16

8/12/2019 Mod4-Exercices

http://slidepdf.com/reader/full/mod4-exercices 17/17

4.24 )onsidérons le prol-me produ&teur&onsommateur, vu en &lasse. dapte@ lasolution suivante A

 u &as de n produ&teurs, n &onsommateurs et un seul tampon de taille Ja", il

peut &ontenir au plus Ja" messaes. 3es produ&teurs produisent des messaeset les déposent dans le tampon. )ha!ue messae déposé dans le tampon estré&upéré &onsommé par un seul &onsommateur.

 u &as dBun seul produ&teur, n &onsommateurs et n tampons de m8me tailleJa". )ha!ue messae produit par le produ&teur est déposé dans tous lestampons en &ommenVant par le premier. 3e &onsommateur i ré&up-re&onsomme les messaes déposés dans le tampon i.

emaphore Jute" 1, DideJa", lein0 GJessae tampon EJa" G

rodu&teur Kint ip 0 GJessae m GLepeter K

m &reermessae GDide GJute" GTamponEipmGDJute" G

ip?? GDlein G

tant !ue vrai G

)onsommateur Kint i& 0 GJessae m GLepeter K

lein G

Jute" Gm TamponEi&GDJute" Gi&?? GDDide G

tant !ue vrai G

17