Вы находитесь на странице: 1из 17

INF2610

Module 4 : Synchronisation
4.1 Traditionnellement, les smaphores taient implants en mode noyau afin de pouvoir grer les attentes et rveils lors ue les smaphores sont infrieurs ou gau! " 0. #st$%e essentiel& 'ans uels %as pourrait$on faire mieu!& (omment& #st$%e ue l)algorithme de l)attente a%tive ave% alternan%e fon%tionne aussi sur un ordinateur multi$pro%esseur " mmoire partage& #st$%e ue l)algorithme de +eterson pour l)e!%lusion mutuelle peut fon%tionner sur un syst,me ave% ordonnan%ement premptif& Non premptif& +eut$on utiliser une instru%tion d)%hange atomi ue -s.ap/ plut0t u)une instru%tion T12 -test and set lo%3/ afin de raliser une fon%tion permettant de grer l)entre dans une rgion %riti ue& (omment peut$on programmer des smaphores en utilisant seulement la %apa%it de l)ordinateur " dsa%tiver les interruptions& +eut$on programmer des smaphores " l)aide de mute! et de varia5les ordinaires& +eut$il 7tre pertinent d)utiliser une 5arri,re si on n)a ue deu! pro%essus& #st$%e ue deu! fils d)e!%ution dans un m7me pro%essus peuvent se syn%hroniser " l)aide de smaphore, s)il s)agit de fils grs par le syst,me& 9rs en mode usager& ;n vous propose de rempla%er .ait et signal pour les %onditions par une forme plus gnrale permettant d)attendre sur une e!pression -e.g. .ait until -! < 0 == ! > y < n//. (ette primitive serait plus fle!i5le. #st$%e ue %e serait avantageu!&

4.2 4.* 4.4

4.4 4.6 4.6 4.8

4.:

4.10 (onsidre? un syst,me multi%ou%he %ompos de trois %ou%hes +0, +1 et +2. 2es %ou%hes sont des pro%essus %on%urrents ui %ommuni uent au moyen de deu! tampons T0 et T1 de m7me taille N@ +0 et +1 partagent le tampon T0 et +1 et +2 partagent le tampon T1. (ha ue %ou%he se %harge dAun traitement parti%ulier @ 2e pro%essus +0 se %harge de lire du %lavier des messages uAil traite avant de les dposer dans le tampon T0. 2e traitement dAun message par la %ou%he +1 %onsiste " lAen%rypter. Il est ralis par la fon%tion #n%rypter suivante @ Message Encrypter (Message); 2a fon%tion Message Lire (); permet de lire un message du %lavier. 2e pro%essus +1 se %harge de transfrer dire%tement les messages du tampon T0 vers le tampon T1. 2e pro%essus +2 r%up,re les messages du tampon T1 pour les envoyer " un destinataire. 2Aenvoi dAun message est ralis par la fon%tion #nvoyer @ Envoyer (Message );

clavier

P0 T0 P1 T1

P2 Envoyer (m)

#!pli ue? %omment les pro%essus peuvent utiliser les smaphores pour %ontr0ler les a%%,s au! tampons partags -e!%lusion mutuelle, pas dAinter5lo%age/. 'onne? les pseudo%odes des trois pro%essus.

4.11 1maphores 1. #!pli ue? %e ui peut arriver si la file dAattente dAun smaphore est gre selon la dis%ipline 2IF; -last in first out/. 2. #!pli ue? un avantage de lAutilisation de moniteurs sur les smaphores pour la syn%hronisation de pro%essus. *. (omplte?, en aBoutant les smaphores et les oprations + et C n%essaires, les %odes du produ%teur et du %onsommateur suivants. 2e produ%teur produit plusieurs ressour%es " la fois alors ue le %onsommateur %onsomme une seule ressour%e " la fois. %har TDNEF GG ta5leau de N %ara%t,res 1emaphore +lein H0, CideHN, Iute!H1 +rodu%teur J int ipH0, IF %har %hDNEF Kepeter J IH2ire-%h,N/F 'eposer-%h, I, ip/F ip H -ip > I/ L NF M (onsommateur J int i%H0F %har %F Kepeter J % H Ketirer- i%/F i% H -i%>1/ LN Traiter-%/F M

M M 2a fon%tion N int 2ire-%har %hDE, int N/F O %onstruit, dans %h, une %haPne de %ara%t,res de longueur %omprise entre 1 et N in%lusivement. #lle retourne la longueur de la %haPne. 2a fon%tion N void 'eposer-%har %hDE, int I, int ip/F O ins,re, dans le tampon T, la %haPne de %ara%t,res %h. I est la longueur de la %haPne. 2a fon%tion N %har Ketirer-int i%/F O retire un %ara%t,re du tampon T. #lle retourne le %ara%t,re retir. *

2a fon%tion N void Traiter-%har %/F O traite le %ara%t,re. 4.12 Trois pro%essus %on%urrents +1, +2 et +* e!%utent %ha%un le programme suivant@ +i -/ GG i H 1,2,* J int nH0F .hile-true/ printf-Q%y%le Ld de LdQ, n>>, i/F M Synchronisez les %y%les des pro%essus " lAaide de smaphores de mani,re " %e ue @ (ha ue %y%le de +1 sAe!%ute en %on%urren%e ave% un %y%le de +2. 2e pro%essus +* e!%ute un %y%le, lors ue +1 et +2 terminent tous les deu! lAe!%ution dAun %y%le. 2ors ue +* termine un %y%le, les pro%essus +1 et nouveau %y%le et ainsi de suiteR +2 entament %ha%un un

4.1* 2a ville de Iontral veut restru%turer la %ir%ulation sur son territoire. 2e %onseil muni%ipal d%ide don% de resyn%hroniser les interse%tions pour rduire le trafi% au! heures de pointe. 2a ville vous engage pour raliser un mod,le de syn%hronisation, " lAaide de smaphores, dAune interse%tion typi ue de la ville. Il est important de noter ue le virage " droite sur le feu rouge nAest pas lgal sur lAPle de Iontral. 2Ainterse%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 dAaller tout droit. 2a %entrale permet dAaller tout droit tandis ue %elle de gau%he est une voie rserve pour le tournant " gau%he. 2es %ondu%teurs engags dans %ette voie doivent attendre la fl,%he verte pour tourner, tandis ue le feu vert dans les deu! autres voies sont des feu! pleins -feu! ronds/. 2es voies opposes sont soumises au! m7mes r,gles. 2 voies est-ouest : 4

2a voie la plus " droite de %es deu! voies permet au! %ondu%teurs de tourner " droite ou dAaller tout droitF par %ontre, la plus " gau%he de %es voies permet seulement dAaller tout droit. (omme dans la maBorit des interse%tions de la ville, le virage " gau%he nAest pas permis dans %e sens de la %ir%ulation. 2e feu ui permet de traverser lAinterse%tion pour %es voies est un feu plein. 2es voies opposes sont soumises au! m7mes r,gles. 2e s%hma suivant illustre lAe!pli%ation @

;n suppose ue lAinterse%tion est touBours li5re @ d,s uAun %ondu%teur sAengage, il sera apte " traverser enti,rement lAinterse%tion. 2es feu! du sens est$ouest ouest$est sont initialement verts. 2es feu! opposs sont touBours dans le m7me tat @ si la fl,%he est verte lAautre fl,%he lAest aussi. 2a s uen%e de passage au vert doit suivre lAordre suivant @ le feu est$ouest, puis le feu! nord$sud, et la fl,%he pour finir. 1eulement un des trois numrs peut 7tre vert " la fois. (ha ue voie poss,de sa file de voitures en attente du feu vert. (es files seront modlises par des listes de la 1T2. 'e plus, un pro%essus lger sera en %harge de syn%hroniser les feu! " lAaide de smaphores. 2Aattente a%tive dans le mod,le nAest pas a%%epta5le. denti!ier les mod,les de syn%hronisation %lassi ues prsents dans %e syst,me. "#ter$inez le nom5re de pro%essus lgers n%essaires, le nom5re de smaphores et de mute! ave% leurs valeurs initiales. ndi%uez le r0le de %ha%un.

4.14 'eu! pro%essus S et T %ommuni uent au moyen dAun tampon T pouvant %ontenir uAun seul message " la fois. (e tampon est utilis, de faUon alterne, pour la %ommuni%ation dans les deu! sens -attention un seul pro%essus utilise " la fois %e tampon/. 2e pro%essus S dpose un message dans le tampon puis attend la rponse de T avant de dposer " nouveau un autre message et ainsi de suiteR. 2ors ue T reUoit un message de S, il dpose sa rponse dans le tampon puis se met en attente dAun autre message de S et ainsi de suiteR 1yn%hronise? au moyen de smaphores les pro%essus S et T -pour rpondre " la uestion, %omplte? le %ode suivant/ semaphore R.. F GV0VG %har TD246E F void depot -%har 5ufDE / F void re%uperer-%har 5ufDE / F +ro%essus S J %har messD246E, repD246E F .hile -1/ J GV 1 VG lire -mess/F depot -mess / F GV 2VG re%uperer-rep/ F GV*VG M M M M J +ro%essus T %har messD246E , repD246E F

.hile -1/ J GV 4 VG re%uperer- mess/ F reponse-mess,rep/ GV4VG depot-rep/F GV 6VG

1uppose? maintenant uAun troisi,me pro%essus ( veuille %ommuni uer ave% T en utilisant lAuni ue tampon T. 2es pro%essus S et ( se %omportent de la m7me mani,re. T peut don% re%evoir un message de S ou (, la rponse doit 7tre r%upre par le pro%essus e!pditeur du message. 1yn%hroniser au moyen de smaphores les pro%essus S, T et (. 4.14 1yn%hronise? au moyen de smaphores lAen%haPnement des oprations de fa5ri%ation de stylos " 5ille. (ha ue stylo est form dAun %orps, dAune %artou%he, dAun 5ou%hon arri,re et dAun %apu%hon. 2es oprations " effe%tuer sont les suivantes @ remplissage de la %artou%he ave% lAen%re -opration K(/, 6

assem5lage du 5ou%hon arri,re et du %orps -opration T;/, assem5lage de la %artou%he ave% le %orps et le %apu%hon -opration S1/, em5allage -opration #I/.

(ha ue opration est effe%tue par une ma%hine sp%ialise -mK(, mT;, mS1, m#I/. 2es sto%3s de pi,%es dta%hes et dAen%re sont supposs disponi5les uand la ma%hine est disponi5le. 2es oprations K( et T; se font en parall,le. 2Aopration S1 doit 7tre effe%tue, apr,s %es deu! oprations, en prlevant dire%tement les lments sur les ma%hines mK( et mT;. 2e produit assem5l est dpos dans un sto%3 en attente de lAopration #I. 2Aopration #I se fait don% apr,s S1, " partir du sto%3. 2e sto%3 est suppos de taille N et de dis%ipline FIF;. mRC( ) { while (1) { RC( ) ; } } } 4.16 ;n dispose dAune %arte le%troni ue " 5ase de mi%ro%ontr0leurs pour %ontr0ler un ensem5le de ro5ots. 2a %arte est livre ave% un logi%iel sous 2inu!, ui permet de %rer son propre programme pour %ommander et %oordonner un ensem5le de ro5ots, et de le %harger ensuite dans la mmoire non volatile -sur la %arte/ par un port srie. ;n vous solli%ite pour %rire un pseudo%ode ui %ontr0le le dpla%ement de plusieurs ro5ots sur les %hemins suivants @ } mBO( ) { while (1) { BO( ) ; mAS( ) { while (1) { AS( ) ; } } mEM( ) { while (1) { EM() ; } }

2es ro5ots peuvent partir de S vers ( ou de ' vers S. +our viter tout ris ue de %ollision, il faut sAassurer ue %ha ue segment du %hemin -segments ST, T( et 'T/ est utilis par un ro5ot au plus.

+our rpondre " %ette uestion, %omplte? le pseudo%ode suivant afin ue les r,gles %i$dessus soient respe%tes. 'ans %e programme, %ha ue ro5ot est %ommand par un pro%essus. #st$%e ue votre solution prsente un pro5l,me de famine & inter5lo%age & Wustifie?. /*0*/ void TraverserSegAB ( ) ; // Traverser le segment AB void TraverserSegB ( ) ; // Traverser le segment B void TraverserSegB! ( ) ; // Traverser le segment B! Process"s #o$otA Process"s #o$ot!A J J GV 1 VG Traverser1egST - / F GV 2VG Traverser1egT(- / F GV*VG M M GV 4 VG Traverser1egT'- / F GV4VG Traverser1egST- /F GV 6VG

4.16 2a %ir%ulation dans une interse%tion de deu! voies " sens uni ue est rgle par des signau! lumineu! -feu vertGrouge/. ;n suppose ue les voitures traversent lAinterse%tion en ligne droite et ue l&intersection peut contenir au plus une voiture ' la !ois.

;n impose les %onditions suivantes @ 8

o o

toute voiture se prsentant " lAinterse%tion la fran%hit en un temps fini F

les feu! de %ha ue voie passent alternativement du vert au rouge, %ha ue %ouleur tant maintenue pendant un temps fini -'ureeXduXfeu/ F
o

les arrives sur les deu! voies sont rparties de faUon uel%on ue.

2e fon%tionnement de %e syst,me peut 7tre modlis par un ensem5le de pro%essus parall,les@


o o

un pro%essus P

ui e!%ute la pro%dure Changement

ui %ommande les feu!F

un pro%essus est asso%i " %ha ue voitureF la traverse du %arrefour par une voiture ui %ir%ule sur la voie i -i H 1, 2/ %orrespond " l)e!%ution d)une pro%dure Traverseei() par le pro%essus asso%i " la voiture. +our simuler un tel syst,me, on vous demande, dans un premier temps, de %omplter, en aBoutant les smaphores et le %ode n%essaires, les pro%dures suivantes (attention @ vous ne deve? pas aBouter de varia5les dAautres types/ @

GG Feu H 1 si le feu! de la voie 1 est vert, Feu H2 si le feu! de la voie 2 est vert GG%ir%uler simule la traverse de lAinterse%tion 'ans une se%onde tape, il vous est demand de %omplter le moniteur suivant, en aBoutant les varia5les de %ondition et le %ode n%essaires @

GG Feu H 1 si le feu! de la voie 1 est vert, Feu H2 si le feu! de la voie 2 est vert GG N5.1 est le nom5re de voitures .R. sur la voie 1 GGN5.2 est le nom5re de voitures ..R..sur la voie 2.

4.18 ;n souhaite implmenter au moyen de smaphores les %ompteurs dAvnements. Yn %ompteur dAvnements est un %ompteur asso%i " un vnement. 1a valeur indi ue le nom5re dAo%%urren%es de lAvnement asso%i. 9nralement, %e %ompteur est partag entre plusieurs pro%essus et sert " les syn%hroniser. 'ans %e sens, trois oprations atomi ues sont dfinies pour un %ompteur dAvnement #@ Kead-#/ @ retourne la valeur de # au pro%essus appelant. Sdvan%e-#/ @ in%rmente de 1 la valeur de # et d5lo ue tous les pro%essus en attente ue # atteigne %ette nouvelle valeur. S.ait-#, v/ @ 5lo ue le pro%essus appelant, si la valeur de # est stri%tement infrieure " v. Il nAy a pas de 5lo%age du pro%essus appelant si la valeur de # est dB" gale ou plus grande ue v. (o$pl#tez) au moyen de s#$aphores, la stru%ture et les pro%dures S.ait, Kead et Sdvan%e suivantes -sous forme de pseudo%ode/. ndi%uez %lairement les stru%tures de donnes aBoutes dans la stru%ture (ompteur#venement ainsi ue les oprations asso%ies. str"ct om%te"rEvenement & int val ; /* 0 */ ' 10

void A(ait ( 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 pro5l,me du passage " niveau " voie uni ue. +our simuler le fon%tionnement de %e syst,me, on se propose de le modliser par un ensem5le de pro%essus parall,les @ un pro%essus (ontr0leur ui se %harge de %ommander la fermeture et lAouverture des 5arri,res. 2es 5arri,res doivent 7tre fermes lors uAun train traverse le passage " niveau. 2e %ontr0leur ouvre les 5arri,res sAil nAy a au%un train en attente du passage " niveau. un pro%essus Train est asso%i " %ha ue train. Il est %r de faUon alatoire pour simuler lAarrive dAun train ainsi ue la traverse du passage " niveau. (o$pl#tez) en aBoutant les s#$aphores et le code n%essaires, les pro%dures suivantes e!%utes par les pro%essus (ontr0leur et Train (attention @ vous ne deve? pas aBouter de varia5les dAautres types/. 1i 5esoin est, vous pouve? utiliser lAopration int +NT-semaphore s/ ui est lA uivalent de semXtry.ait-Zs/. E*pli%uez le r0le de %ha ue smaphore - indi%uez lAutilit de sa %ueue ainsi ue sa valeur initiale/. +ttention : Cous ne deve? pas aBouter de varia5les autres ue les smaphores.

11

Semaphore

GV0VG Train() & ////////// /***/ Traverser(); /////////// /*,*/

ontr-le"r () & (.ile(1) & /////////// /*1*/ 0ermerBarrieres() ; /////////// /*2*/ 1"vrirBarrieres() ; ' '

'

4.20 ;n dispose d)un m%anisme d)enregistrement " un ensem5le de %ours, tel ue tout tudiant ne peut 7tre ins%rit u)" au plus trois %ours, et ue %ha ue %ours a un nom5re limit de pla%es. Yn tudiant ins%rit dB" " trois %ours peut sAil le souhaite en a5andonner un, pour en %hoisir un autre dans la limite des pla%es disponi5les. 1i %et %hange nAest pas possi5le, lAtudiant ne doit pas perdre les %ours au! uels il est dB" ins%rit. 2e 5ureau des affaires a%admi ues souhaite don% mettre en pla%e un syst,me de permutation de %ours, permettant " un tudiant de %hanger de %ours. Il vous solli%ite pour vrifier si lAimplmentation ue vous ave? propose il y a un an -avant se suivre le %ours INF*600/ est %orre%te @ void #%hange(ours -+utilisateur utilisateur, +(ours %ours1, %ours2/ J %ours1$[verrouille -/F GG verrouille lAa%%,s " lAo5Bet %ours1 %ours1$[desins%rit -utilisateur/F if -%ours2$[est+lein HH false/ J %ours2$[verrouille -/F GG verrouille lAa%%,s " lAo5Bet %ours2 %ours2$[ins%rit -utilisateur/F %ours2$[deverrouille -/F GGdverrouille lAa%%,s " lAo5Bet %ours2 M %ours1$[deverrouille -/F GGdverrouille lAa%%,s " lAo5Bet %ours2 12

M ,#ri!iez si l-i$pl#$entation est correcte @ 1i elle est %orre%te, e*pli%uez pour%uoi, en montrant %omment est gr le %as o\ deu! tudiants -ou plus/ veulent a%%der en m7me temps au syst,me. 1i elle est in%orre%te ) listez et e*pli%uez les pro.l/$es, et proposez une solution ui fon%tionne.

4.21 ;n vous solli%ite pour implmenter en utilisant les smaphores un autre m%anisme de syn%hronisation appel N Tarri,res O. (e m%anisme est tr,s utile pour syn%hroniser un groupe de pro%essus %omposs %ha%un de plusieurs phases ui fon%tionnent selon la r,gle suivante @ Su%un pro%essus ne peut entamer sa phase suivante tant ue les autres nAont pas fini leurs phases %ourantes. +our raliser une telle syn%hronisation, une 5arri,re est pla%e " la fin de %ha ue phase. 2ors uAun pro%essus atteint une 5arri,re, il est 5lo u Bus uA" %e ue tous les autres pro%essus atteignent la 5arri,re. 2es pro%essus peuvent alors e!%uter leurs phases suivantes. +ar e!emple, les trois pro%essus S, T et ( suivants %onsistent en deu! phases N a% uisition O et N traitement O de param,tres. Sve% la 5arri,re ], il ne peut y avoir un pro%essus " lAtape a% uisition de param,tres et un autre " lAtape de traitement. (ette 5arri,re permet au! trois pro%essus de se syn%hroniser avant dAentamer une autre phase. TarrierXt ] -*/ F GG * est le nom5re de pro%essus utilisant la 5arri,re ]. +ro%essus T J .hile -1/ J S% uis+aram-2/ F ].Tarriere- / F Trt+aram-2/ F ].Tarriere- / F M M +ro%essus ( J .hile -1/ J S% uis+aram-*/ F ].Tarriere- / F Trt+aram-*/ F ].Tarriere- / F M M

+ro%essus S J .hile -1/ J S% uis+aram-1/ F ].Tarriere- / F Trt+aram-1/ F ].Tarriere- / F M M

'onne? une implmentation au moyen de smaphores de %e m%anisme de syn%hronisation -sous forme de pseudo$%ode/. +our rpondre " %ette uestion, dfinisse? une %lasse dAo5Bet TarrierXt en pr%isant ses attri5uts et ses mthodes. 1*

;n veut maintenant utiliser les 5arri,res pour syn%hronise? une %haPne de produ%tion de stylos " 5ille. (ha ue stylo est form dAun %orps, dAune %artou%he, dAun 5ou%hon arri,re et dAun %apu%hon. 2es oprations " effe%tuer pour fa5ri uer un stylo sont les suivantes @ remplissage de la %artou%he ave% de lAen%re -opration K(- //, assem5lage du 5ou%hon arri,re et du %orps -opration T;- //, assem5lage de la %artou%he ave% le %orps et le %apu%hon -opration S1- //, em5allage -opration #I- //.

(ha ue opration est effe%tue par une ma%hine sp%ialise %ommande par un pro%essus -mK(, mT;, mS1, m#I/. 2es sto%3s de pi,%es dta%hes et dAen%re sont supposs disponi5les uand la ma%hine est disponi5le. 2es oprations K( et T; se font en parall,le. Svant dAentamer lAopration S1, la ma%hine mS1 doit prlever les lments sur les ma%hines mK( et mT; -opration 9+-//. 2e produit assem5l est ensuite prlev par m#I pour lAem5allage. 'onne? le pseudo$%ode de %ha ue pro%essus. Indi ue? %lairement les 5arri,res utilises, leurs valeurs ainsi ue leurs r0les. 0arrier1t $5(( ) 6 7hile (8) 6 23832 5(( ) ; 23232 9 9 $0:( ) 6 7hile (8) 6 23332 0:( ) ; 23432 9 9 23432

14

$+S( ) 6 7hile (8) 6 23;32 <=( ) ; 23>32 +S( ) ; 23?32 9 9 $EM() 6 7hile (8) 6 23@32 <=( ) ; 23A32 EM( ) ; 238432 9 9 Yne mauvaise utilisation des 5arri,res peut$elle mener vers des inter5lo%ages & Wustifie? & 4.22 1oient trois pro%essus %on%urrents +1, +2 et +* ui partagent les varia5les n et out. +our %ontr0ler les a%%,s au! varia5les partages, un programmeur propose les %odes suivants@ 1emaphore mute!1 H 1 F 1emaphore mute!2 H 1 F (ode du pro%essus p1 @ +-mute!1/ F +-mute!2/ F outHout>1 F nHn$1 F C-mute!2/ F C-mute!1/ F (ode du pro%essus p2 @ +-mute!2/ F outHout$1 F 14

C-mute!2/ F (ode du pro%essus p* @ +-mute!1/ F nHn>1 F C-mute!1/ F (ette proposition est$elle %orre%te & 1inon, indi uer parmi les 4 %onditions re uises pour raliser une e!%lusion mutuelle %orre%te, %elles ui ne sont pas satisfaites & +roposer une solution %orre%te. ;n veut effe%tuer en parall,le le produit de deu! matri%es S et T dAordre n -n!n/. +our se faire, on %re m -m<n/ pro%essus lgers -threads/. (ha ue pro%essus lger se %harge de %al%uler uel ues lignes de la matri%e rsultat K @ +our B H 0 " n$1 KDi,BE H 3H0,n$1 SDi,3EVTD3,BE F 'onner sous forme de %ommentaires -en utilisant les smaphores et les oprations + et C/, le %ode des pro%essus lgers @ (al%ul2ignes - /. +r%iser les smaphores utiliss et les varia5les partages.

4.2* 'eu! villes S et T sont relis par une seule voie de %hemin de fer. 2es trains peuvent %ir%uler dans le m7me sens de S vers T ou de T vers S. Iais, ils ne peuvent pas %ir%uler dans les sens opposs. ;n %onsid,re deu! %lasses de pro%essus @ les trains allant de S vers T -Train SversT/ et les trains allant de T vers S -Train TversS/. (es pro%essus se d%rivent %omme suit @ Train SversT @ 'emande dAa%%,s " la voie par S F (ir%ulation sur la voie de S vers TF 1ortie de la voie par TF 'emande dAa%%,s " la voie par T F (ir%ulation sur la voie de T vers SF 1ortie de la voie par SF

Train TversS @

+armi les mod,les tudis en %lasse -produ%teurG%onsommateur, le%teurGrda%teur, les philosophes/, %e pro5l,me %orrespond " uel mod,le & #%rire sous forme de %ommentaires en utilisant les smaphores, les oprations + et C, les %odes de demandes dAa%%,s et de sorties, de faUon " %e ue les pro%essus respe%tent les r,gles de %ir%ulation sur la voie uni ue. 16

4.24 (onsidrons le pro5l,me produ%teurG%onsommateur, vu en %lasse. Sdapte? la solution suivante @ Su %as de n produ%teurs, n %onsommateurs et un seul tampon de taille -Ia!, il peut %ontenir au plus Ia! messages/. 2es produ%teurs produisent des messages et les dposent dans le tampon. (ha ue message dpos dans le tampon est r%upr -%onsomm/ par un seul %onsommateur. Su %as dAun seul produ%teur, n %onsommateurs et n tampons de m7me taille -Ia!/. (ha ue message produit par le produ%teur est dpos dans tous les tampons en %ommenUant par le premier. 2e %onsommateur i r%up,re -%onsomme/ les messages dposs dans le tampon i. 1emaphore Iute! H1, CideHIa!, +leinH0 F Iessage tampon DIa!E F +rodu%teur - / J int ip H0 F Iessage m F Kepeter J m H %reermessage-/ F +-Cide/ F +-Iute!/ F TamponDipEHmF C-Iute!/ F ip>> F C-+lein/ F Mtant ue vrai F M (onsommateur- /J int i% H0 F Iessage m F Kepeter J +-+lein/ F +-Iute!/ F m H TamponDi%EF C-Iute!/ F i%>> F C-Cide/ F Mtant ue vrai F M 16

Вам также может понравиться

  • Intro
    Intro
    Документ3 страницы
    Intro
    Ilham Yacine
    Оценок пока нет
  • 1 - Introduction - Classification Et Analyse Des Données
    1 - Introduction - Classification Et Analyse Des Données
    Документ10 страниц
    1 - Introduction - Classification Et Analyse Des Données
    Ilham Yacine
    Оценок пока нет
  • Doosan 60
    Doosan 60
    Документ88 страниц
    Doosan 60
    Ilham Yacine
    Оценок пока нет
  • E Des Exos Pour Excel
    E Des Exos Pour Excel
    Документ26 страниц
    E Des Exos Pour Excel
    Ilham Yacine
    Оценок пока нет
  • Introduction RDP
    Introduction RDP
    Документ20 страниц
    Introduction RDP
    Wassim Sn
    100% (1)
  • Guide Modelisation Par Objets Types Mot
    Guide Modelisation Par Objets Types Mot
    Документ21 страница
    Guide Modelisation Par Objets Types Mot
    Ilham Yacine
    Оценок пока нет
  • Mini Projet C Recherche Dans Un Fichier Word
    Mini Projet C Recherche Dans Un Fichier Word
    Документ1 страница
    Mini Projet C Recherche Dans Un Fichier Word
    Ilham Yacine
    Оценок пока нет
  • Cours ENSTBr
    Cours ENSTBr
    Документ82 страницы
    Cours ENSTBr
    f4res
    Оценок пока нет
  • Master Fadjra GHERAB
    Master Fadjra GHERAB
    Документ59 страниц
    Master Fadjra GHERAB
    Ilham Yacine
    Оценок пока нет
  • Uml
    Uml
    Документ85 страниц
    Uml
    Med Amine Haddouti
    Оценок пока нет
  • Cours UML
    Cours UML
    Документ63 страницы
    Cours UML
    Fabien Guillaume
    Оценок пока нет
  • Uml
    Uml
    Документ44 страницы
    Uml
    Mahdi Kellouch
    Оценок пока нет
  • SpecificationEtConceptionUML - Copie
    SpecificationEtConceptionUML - Copie
    Документ132 страницы
    SpecificationEtConceptionUML - Copie
    Swissi Ouma
    Оценок пока нет
  • Exercices Corriges: Merise MCD
    Exercices Corriges: Merise MCD
    Документ38 страниц
    Exercices Corriges: Merise MCD
    Brahim Tebbaâ
    87% (110)
  • Exercice Et Solutions
    Exercice Et Solutions
    Документ44 страницы
    Exercice Et Solutions
    Ilham Yacine
    Оценок пока нет
  • Courssql 1
    Courssql 1
    Документ28 страниц
    Courssql 1
    Akram Boukhari
    Оценок пока нет
  • Courssql 1
    Courssql 1
    Документ28 страниц
    Courssql 1
    Akram Boukhari
    Оценок пока нет
  • Master Fadjra GHERAB
    Master Fadjra GHERAB
    Документ59 страниц
    Master Fadjra GHERAB
    Ilham Yacine
    Оценок пока нет
  • Master Fadjra GHERAB
    Master Fadjra GHERAB
    Документ59 страниц
    Master Fadjra GHERAB
    Ilham Yacine
    Оценок пока нет
  • Syn Tre Covo Cale
    Syn Tre Covo Cale
    Документ10 страниц
    Syn Tre Covo Cale
    Ilham Yacine
    Оценок пока нет
  • Theorie Des Graphes-Extrait
    Theorie Des Graphes-Extrait
    Документ29 страниц
    Theorie Des Graphes-Extrait
    Ilham Yacine
    100% (1)
  • Efd 06 Pert
    Efd 06 Pert
    Документ0 страниц
    Efd 06 Pert
    requiem2
    100% (1)
  • Methodes Integration Gecif
    Methodes Integration Gecif
    Документ1 страница
    Methodes Integration Gecif
    Ilham Yacine
    Оценок пока нет
  • Cours 2 Math App
    Cours 2 Math App
    Документ52 страницы
    Cours 2 Math App
    Don Yassir
    Оценок пока нет
  • Exercice S 3
    Exercice S 3
    Документ3 страницы
    Exercice S 3
    tariq
    Оценок пока нет
  • TC0102fr PDF
    TC0102fr PDF
    Документ18 страниц
    TC0102fr PDF
    mohvoice
    100% (1)
  • Less03 Composants Instance
    Less03 Composants Instance
    Документ29 страниц
    Less03 Composants Instance
    khalil
    Оценок пока нет
  • Soccsp
    Soccsp
    Документ108 страниц
    Soccsp
    مجدي زويتن
    Оценок пока нет
  • Configuration Du Routage RIP
    Configuration Du Routage RIP
    Документ2 страницы
    Configuration Du Routage RIP
    King Stone King
    Оценок пока нет
  • Travaux Pratiques
    Travaux Pratiques
    Документ19 страниц
    Travaux Pratiques
    fouad LPRT
    Оценок пока нет
  • Method Crisp D.W
    Method Crisp D.W
    Документ14 страниц
    Method Crisp D.W
    Hassan Imad
    Оценок пока нет
  • Exam Chap 1 Ccna 1 v4
    Exam Chap 1 Ccna 1 v4
    Документ18 страниц
    Exam Chap 1 Ccna 1 v4
    TDMA2009
    67% (6)
  • Systeme de Numeration
    Systeme de Numeration
    Документ10 страниц
    Systeme de Numeration
    bigtouf85
    Оценок пока нет
  • Guide Pratique de LVM
    Guide Pratique de LVM
    Документ59 страниц
    Guide Pratique de LVM
    kth79
    Оценок пока нет
  • La Connexion Sécurisée À Distance Avec SSH
    La Connexion Sécurisée À Distance Avec SSH
    Документ26 страниц
    La Connexion Sécurisée À Distance Avec SSH
    PeyoBouBou
    Оценок пока нет
  • Slides Analyse Num
    Slides Analyse Num
    Документ235 страниц
    Slides Analyse Num
    Mehdi Anis
    Оценок пока нет
  • Plan de Numérotation
    Plan de Numérotation
    Документ17 страниц
    Plan de Numérotation
    Karim
    Оценок пока нет
  • All NEW 4.6a
    All NEW 4.6a
    Документ283 страницы
    All NEW 4.6a
    aplatoon
    Оценок пока нет
  • 06 Segmentation
    06 Segmentation
    Документ62 страницы
    06 Segmentation
    Mohamed Bakouk
    Оценок пока нет
  • Chapitre ConceptionDynamique
    Chapitre ConceptionDynamique
    Документ66 страниц
    Chapitre ConceptionDynamique
    Mohamed Amine Baccar
    Оценок пока нет
  • Td8 Corrige
    Td8 Corrige
    Документ10 страниц
    Td8 Corrige
    Lamrani Mohamed
    Оценок пока нет
  • 3437 7 Labview Et Arduino
    3437 7 Labview Et Arduino
    Документ13 страниц
    3437 7 Labview Et Arduino
    kach
    Оценок пока нет