• Nenhum resultado encontrado

Notas de aula - S istemas Operacionais Capítulo 7 Sin cronização e Comunicação entre processos

N/A
N/A
Protected

Academic year: 2021

Share "Notas de aula - S istemas Operacionais Capítulo 7 Sin cronização e Comunicação entre processos"

Copied!
20
0
0

Texto

(1)

No t as de au la - S iste ma s Ope racio n ais

Capítu lo 7 – S in cro ni zação e Co mu n i cação en tre p ro ce sso s

1 . In t ro du ção

Co m o su r gi men to d o s si st em as mu l ti p ro gra máv ei s, p as so u a ser po ssí vel estr u tu r ar apl i caçõ e s d e m an ei ra qu e p ar t es di f eren te s do có d i go do pro g ram a pu d ess em ex ecu tar co n co rr en te men t e,

acarr et an do as.. .

Apl ica çõ es co n co rren t e s: execu ção co o per ati va d e mú l ti pl o s

pr o ce sso s o u th r ead s, qu e tr ab al h am em u ma me sm a tar ef a n a bu s ca de u m r esu l tado co mu m.

Nu m S O mu l ti pro gr am ável d e ú ni co U CP o s pr o c es so s al t er n am su a exe cu ç ão segu n do cr i téri o s de e sc al o n amen to est ab el eci do s pel o S O (p ar al el i smo ) .

Nu m S O de mú l ti pl o s U CP a p o ssi bi l i dade do par al el i smo n a ex ecu ção de i n stru çõ es d á mu i to mai s v an t ag en s.

P r o cesso s d e apl i ca çõ e s co n co r r en t es co mp ar ti l h am r ecu r so s do si st ema ( co mo ar qu i vo s, r egi str o s, di spo si ti vo s de E \ S , memó ri a). O co mp ar ti l h amen to d e r ecu r so s en tr e p r o cesso s p o d e ac ar r etar si tu açõ es i n des ej áv ei s c ap az es até d e co mpr o meter a ex ecu ção d as apl i caçõ es.

P ar a evi tar e sse pro bl ema, o s pr o c esso s co n co rr en te s d ev em t er su a s exe cu çõ es sin cro n i zada s, a p ar ti r de mec an i smo s o f er eci do s pel o S O co m o o bjeti vo de g ar an ti r o pr o ce ss amen to co r r eto do s p ro gra mas .

2 . Ap li ca çõ e s co n co rren tes

E m u ma apl i cação co n co r r en t e é n e ces sár i o qu e pr o cesso s s e co mu n i qu em en tr e si . E sta co mu n i cação po de s er i mpl emen t ad a atr a vés de di ver so s m ecan i smo s, co mo vari á vei s co mp ar ti l h adas n a memó r i a pr i n ci p al o u tro cas d e men sa g en s. P o r i sso é i mpo r tan t e h aver si n cr o n i zaç ão en tr e est es pr o c ess o s.

O s mec an i smo s qu e g ar an t em a co mu ni caç ão en tr e o s pro ces so s co n co r r en t es e o ace sso a r e cu r so s co mpar ti l h ad o s s ão ch amad o s ME CA NIS MOS DE S INCR O NIZ AÇ ÃO .

No pr o jeto do S O mul ti pr o g ramável é f un dam en t al a i mpl emen t ação des te mec an i smo par a g a r an ti r a i n tegri d ad e e a co n fi abi l i dade n a

(2)

exe cu ç ão d e apl i ca çõ e s co n co r r en t es. ( t amb é m val e p ar a su b pr o ces so s e th r ead s).

E x.: 2 p ro ces so s co n co r r en t es co mp ar ti l h am u m b u f f er p ar a tr o c ar i n fo r maçõ es atr a vés d e o per açõ es d e gr ava ção e l ei tu r a. Ne st e

exempl o u m pro ces so só po d er á gr avar dad o s n o bu ff er caso e st e n ão este ja ch ei o . Da m esm a f o r ma, u m p ro c esso só po der á l er da do s ar maz en ad o s n o b u f fer c aso h aj a al g u m dad o a ser l i do . E m amb a s as si tu açõ es, o s pr o c esso s d ever ão agu ar d ar at é qu e o bu f f er est ej a pr o n to (p ar a ser l i do o u par a ser g r av ad o ) .

3 . E spe ci fi ca ção de co n co rrên cia

Co n co r rên ci a e m pr o gr ama s, são as p ar t es d e u m pr o g ram a qu e dev em ser ex ecu tad as co n co r ren t emen te .

1 ª n o ta ção d e esp eci fi caç ão d e co n co rr ên ci a ( f o rk e jo i n ) :

O p ro grama A co meç a a ser e xecu tado e ao en co n trar o co man do FO RK , f az co m qu e s ej a cri ado u m o u tr o pr o cesso par a a e xecu ção do pr o gr ama B co n co r ren te men t e ao pr o gr ama A .

O co man do J O IN p er mi te q u e o pr o gr am a A si n cro ni ze - s e co m B , o u seja , q u an do o p ro grama A en co n tr ar o co m an do J O IN só co n ti n u ar á a ser pr o c ess ado a pó s o t ér mi n o da execu ç ão d o pro gr ama B .

(3)

2 ª n o t a ção de e spe ci fi ca ção de co n co r rên cia (pa rbegin pa ren d ): P r o gr ama ab ai xo re al i za o cál cu l o da expr es são ari tm éti ca

x: = sqr t ( 1 0 2 4 ) + (3 5 ,4 * 0 ,23 ) – (3 0 2 /7)

 2 ª n o tação d e es p eci fi caç ão d e co n co r rên ci a ( p arb egi n par en d ): O s co man d o s d e atr i bu i ção si tu ado s en tr e P A RB E GIN e P A RE ND são exe cu t ado s co n co rr en t em en t e.

O c ál cul o fi n al de X só po d er á ser r eal i zado q u an do to d as as var i áv ei s den tr o d a estru tu r a ti ver e m si d o cal cul ad as.

(4)

4 . Pro ble mas n o Co mpa rt ilh am en to d e R ecu r so s E x.1 : co mp ar ti l h amen to de u m arq u i vo em di sco

A tu al i za sal d o ban c ár i o de u m cl i en te ap ó s u m l an ç amen to d e d éb i to o u cr éd i to no ar qui vo da co n t a co r r en t e A RQ _ CO NTA S . Nest e ar qu i vo são ar maz en ado s o s sal do s de to d o s o s co r r en ti st as . O pr o g ram a l ê o regi str o do cl i en te n o arq u i vo ( RE G_ CLI) , l ê o val o r a ser d epo si tado o u r eti rado ( V A LO R_ DEP _ RE T) e em seg ui da a tu al i za o sal d o no A RQ _ CO NT A S .

E x.: co mp ar ti l h amen to de u m ar qu i vo em d i sco

S e 2 f u n ci on ár i o s do ban co es ti ver em atu al i zan do o sal do do mes mo cl i en te si mul tan eam en t e, o n d e 1 f u n c est á d eb i tan do e o u tr o est á cr edi tan do . Ten d o est e RE G_ CL I co mp ar ti l h ado , i n dep en den t e d e qu al pr o ce sso (d eb o u cr éd ) atu al i ze pr i mei ro o sal d o no ar qui vo , o dado gr avado est ar á i n co n si sten te .

(5)

5 . E xclu são Mú t u a

A sol u ção m ai s si mpl es p ar a e vi tar pro bl ema s d e co mp arti l h amen to apr es en t ado s n o i tem an t er i o r é i mped i r qu e 2 o u mai s pr o ce sso s ace ss em o m esmo re cu r so si mu l tan eam en te.

P ar a i sso , en q u an to u m p ro ces so e sti ver ac ess an do u m re cu r so , to d o s o s d emai s pr o ce sso s qu e qu ei r am a ces sar o me smo recu r so de ver ão agu ard ar o t érmi n o da u ti l i zação do r ecu rso . Is so é a excl u são mú tu a. A excl u são mú tu a d e ve af etar so men te o s pr o c esso s co n co rr en te s qu an do u m del es e sti ver f azen do ac esso ao recu r so co mp ar ti l h ado . A par t e do có di go do pro grama o n de é f ei to o acesso ao re cu r so co mp ar ti l h ado é ch amad a r eg i ão cr í ti ca .

A par t e do có di g o do p ro g rama o n de é f ei to o ac esso ao re cu r so co mp ar ti l h ado é ch amad a r eg i ão cr í ti ca .

S e f o r po ssí vel e vi tar qu e 2 pr o cesso s e n tre m em su as r eg i õ es cr í ti ca s si mul tan eamen t e, o u s ej a, s e f o r gar an ti da a e xecu ção mu tu amen t e excl u si va d as r egi õ es cr í ti cas, o s pr o bl emas d e co r r en t es do co mp ar ti l h amen to ser ão evi tado s.

U san do me can i smo d e pr o to co l o s d e en tr ad a e saí d a d e ac esso à regi ão cr í ti ca, po d emo s i mpl em en t ar a excl u são mú tu a.

(6)

E x. d a co n t a co rr en te: se mpr e qu e o pro ces so A f o r atu al i zar o sal do de u m RE G_ CL I, an t es d e l er o r eg i str o o ace sso excl u si vo ao ar qu i vo dev e ser g ar an ti do , atr av és do pro to col o d e en tr ad a d a su a r egi ão cr í ti ca. O pr o to co l o i n di ca se h á o u n ão al gu m p ro ces so ac es san do o re cu r so .

Caso o re cu r so est ej a l i vre o pro ces so A po de en tr ar n a r egi ão cr í ti ca e r eal i zar a atu al i zação . Du r an te est e p e rí o d o , caso o pr o cesso B t en t e ac ess ar o ar qu i vo , o pro to col o de en tr ad a f az co m q u e es se pr o ce sso per man e ça em esp er a at é qu e o p ro cesso A t er mi n e o acesso ao r ecu r so ( atu al i zação do ar qu i vo – sal d o do cl i en te) .

Q u an do o p ro ces so A ter mi n ar a e xecu çã o da su a r egi ão crí ti c a, dev er á si n al i zar ao s d emai s pr o c esso s c o n co r ren te s qu e o ace sso ao re cu r so fo i co n cl uí do atr av és d o pr o to co l o de saí da, l i ber an do assi m o re cu r so p ar a o s co n co r ren te s.

1 ª S i tu ação in de sej ada:

S TA RV ATIO N ( esp er a i n def i ni da): q u an do u m pr o ce sso n u n ca co n seg u e e xecu tar su a r egi ão cr í ti ca e co n seq ü en t emen t e ac es sar o re cu r so co m p ar ti l h ado .

Q u an do u m r ecu r so é l i ber ad o o S O sel e ci on a ( al eato r i amen t e o u p o r ex. atr avés d e cr i tér i o s de pr i o ri dad es) d en tr e o s pr o ce sso s e m esp er a qu al d el es d ever á ac ess ar t al r ecu r so , p o den d o o co r rer aí o S TA RV ATIO N.

P o de s er so l u ci o n ado cri an do fi l as de p ed i do s de al o c aç ão p ar a c ad a re cu r so u ti l i zan do FI FO – Fi r st i n Fi r st o u t ( pri mei ro qu e ch eg a é o pr i mei ro qu e sai ) .

S emp r e qu e u m pr o ces so so l i ci ta u m r ecu r so , o p edi d o é co l o cado n o fi m d a f i l a. Q u an do o re cu r so é l i ber ad o , o S O se l eci o n a o pr i mei ro pr o ce sso em esp er a d a f i l a.

(7)

U m pro ces so f o r a d a su a r egi ão cr í ti ca i mped e qu e o u tr o s pr o c esso s en tr em n as su as pr ó pr i as r eg i õ es cr í ti cas: n o c aso d ess a si tu aç ão , u m re cu r so est ar i a l i vre po r ém al o cad o a u m pr o ce s so . Co m i sso vár i o s pr o ce sso s es t ar i am s en do i mpedi d o s de u t ili za r t al recu rso , redu zin do o g rau de co m pa rti lh amen t o

E xclu são Mú tu a – so lu çõ e s de H AR D WARE

Desabi l i tação de In t er ru pçõ e s: f a zer co m qu e o p ro ces so d e sab i l i te as i n ter ru pçõ es an t es d e en tr ar em su a r eg i ão crí ti ca e a s r eabi l i te apó s dei x ar a su a r egi ão cr í ti ca. Co mo a mu d an ç a d e co n t exto d e p ro c es so s só p o de s er r eal i zad a atr a vés d e i n ter ru pçõ es, o pr o cesso qu e a s des abi l i to u ter á ac es so ex cl u si vo gar an ti do .

E x.: L IMITA ÇÕ E S : a mu l ti pr o gr am ação po de fi car seri am en t e

co mpr o meti da, já qu e a co n co rr ên ci a en tr e pr o c esso s t em co mo bas e o u so de i n ter r u pçõ es O U u m pr o c esso qu e n ão r eabi l i te a i n ter ru p ção cau san do pr o bl em as g r aví ssi mo s n o S O .

2 ) In stru ç ão TE S T -an d- S E T: l ê u ma v ar i ável , ar ma zen a seu c o n t eú d o em u m a o u tr a ár ea e a tr i bui u m no vo v al o r à me sma v ar i ável . E ssa i n str u ç ão é ex ecu t ad a sem i n ter ru p ção ( i n di vi sí vel ) . Gar an ti n d o assi m qu e 2 p ro ces so s n ão man i pul em u ma v ar i ável co mp ar ti l h ada ao

mesmo t empo , po s si bi l i tan do a ex cl u são mú tu a.

O u so do T est- an d- S et o f er ec e al gu mas v an t ag en s co mo a si mpl i ci d ade d e i mpl em en t aç ão d a e xcl u são mú tu a em mú l ti pl as regi õ es cr í ti ca s e o u so da so l u ção em a rqu i tetu r a s co m mú l ti pl o s pr o ce ss ado r es.

A pri n ci pal des van t ag em é a po ssi bi l i dad e do st ar vati o n (esp er a i n def i n i da) , p oi s a s el eç ão do p ro cesso p ar a o ace sso ao r ecu rso é ar bi tr ári a.

(8)

5 . E xclu são Mú t u a – so lu çõ es de S OF T WAR E

Di ver so s al go ri tmo s f o r am pro po s to s n a t en t ati va d e i mpl emen t ar a excl u são mú tu a atr av és d e so l u çõ es po r so f tw ar e.

A s p ri mei r as so l u çõ es tr at av am ap en as d a ex cl u são mú tu a p ar a 2 pr o ce sso s e i ni ci al men t e apr es en t ava m al gu n s pr o bl emas.

De f o r ma evo l u ti va, pr o cu r o u - s e o des en vo l vi men to de so l u çõ es def i ni ti va s p ar a a e xcl u são mú tu a d e N p ro ces so s , atr avés d e vár i o s al go ri tmo s:

6 . Sin c ro n i za ção Co n di cio n al

É u ma si tu ação em qu e o a ces so ao re cu r so co mp ar ti l h ado exi g e a si n cr o ni za ção de pr o ce sso s vi n cul ad a a u ma co n d i ção de ac esso . U m r ecu r so po de n ão se en co n tr ar P R O NTO p ar a u so devi d o a u m a co n di ção esp e cí fi ca. N e sse c aso o p ro ces so qu e d ese j a aces sá -l o dev er á p er man e cer bl o q u ead o at é qu e o r ecu r so f i qu e di spo ní vel . E x.: co mu ni cação en tr e 2 p ro ces so s atr a vés d e o p er aç õ es d e gr ava ção e l ei tu ra n u m bu ff er , o n de p ro ces so s ger a m i n fo r maçõ e s (pr o c esso s pr o du to r es) u ti l i zad a s po r o u tro s pr o c esso s (pr o c esso s co n su mi do r es).

Ness a co mu n i cação , en qu an to u m pr o ce sso gra va d ado s n u m bu f f er , o o u tr o l ê dad o s, co n co rr en t em en t e.

O s pr o ce sso s en vo l vi do s de vem e st ar si n cr o ni zado s a u ma va ri ável de co n di ção , de f o r ma qu e u m pr o ce sso n ão ten te g r a var d ado s em u m bu f f er ch ei o ou r eal i z ar u ma l ei tu r a em u m bu f f er va zi o .

E x.: o re cu r so co mp ar ti l h ado é u m bu f f er de t aman h o X e sen do co n tr o l ado po r u ma var i ável CONT. S em pr e qu e a v ar i ável CO NT=0 , si g n i f i ca qu e o bu f f er est á v azi o e o pr o ces so co n su mi d o r de ve

per man ecer agu ar d an d o at é qu e s e gr ave u m d ado . Q u an do a vari á vel CO NT =X , si gn i f i ca qu e o bu ff er es t á ch ei o e o pr o ce sso pr o du to r dev e agu ard ar a l ei tu ra d e u m n o vo d ad o . Ne ss a so l u ção , a t ar ef a d e

co l o car e r eti r ar d ado s do bu f f er é r eal i z ad a, r es p ecti v amen te , p el as o per açõ es d e gr ava ção e l ei tu r a do bu f f er , exe cu t ado s d e f o r ma mu tu am en t e ex cl u si va.

Reso l ve a si n cr on i zaç ão co n di ci o n al mas a e sp er a o cu p ad a se f a z pr esen t e, sen d o so l u ci o n ada p el o s s emá f o r o s e mo n i to res.

(9)

7 . SE MÁF OROS

U m se máf o r o é u m a var i áv el i n tei r a, n ão - n eg ati va, qu e só po d e ser man i pul ada po r 2 i n str u çõ es: DOW N e U P .

DOW N e UP são i n di vi sí vei s (n ão po de m ser i n ter r o mpi d as) , o n de U P i n cr em en t a 1 u ni d ade ao val o r do semáf o ro en qu an to DO WN

decr e men t a 1 u n i dade à var i ável .

P o r def i ni ção , val o r es n eg ati vo s n ão po dem s er atri bu í do s a u m sem áf o r o , a i n str u ç ão DO WN execu t ad a e m u m s emáfo ro co m v al o r 0 f az co m qu e o pr o ces so en tr e em es tado de e sp er a. P o dem s er

cl a ssi fi cado s em:

S E MÁ FO RO S B INÁ RIO S : só po de m assu mi r val o r es z er o o u u m. S E MÁ FO RO S CO NTA DO RE S : po dem assu mi r qu al qu er val o r i n tei ro P O S ITIV O al ém do z er o .

7 .1 - E xclu são mú tu a co m Se máfo ro s

Tem co mo van t ag e m a n ão -o co r r ên ci a d a esp er a o cu p ad a .

A s i n stru çõ es DOW N e UP f u n ci o n am co mo pr o to col o s de E n tr ad a e S aí da p ar a qu e u m pro cesso p o ss a en tr ar em su a r egi ão crí ti ca. O s emáf o r o fi ca as so ci ad o a u m r ecu r so co mp ar ti l h ado , i n di can do qu an do o r ecu rso est á s en do acessa do po r u m do s pr o cesso s co n co r r en t es.

O v al o r do semáf o r o =1 i n di ca qu e n en h u m pr o ce sso est á u ti l i zan do o re cu r so en qu an to sem áf o r o =0 i n di ca qu e o r ecu r so es t á em u so .

S emp r e q u e d esej a en tr ar n a su a r egi ão cr í ti ca, u m p ro ces so ex ecu t a u ma i n str u ção DO WN .

S e u m s emáf o r o =1 , e st e val o r é d ec rem en t ado e o pr o cesso qu e so l i ci to u a o p er ação po de e xecu t ar a s i nstr u çõ es d a su a regi ão crí ti ca. S e u m se máf o r o =0 , o p ro ces so fi ca i mpedi d o do ace sso , per man ecen do em es tado d e E S P E RA e co n s equ en t emen t e n ão ger an d o o ver h e ad ( p ro ces sam en to em e xce sso ) n o UCP .

O p ro ces so q u e es tá aces san do o r ec u rso , ao s ai r da su a r egi ão cr í ti ca, ex ecu ta u ma i n str u ç ão U P , i n cr em en t an d o o val o r do semáfo ro e l i beran do o ac esso ao r ecu r so .

S emp r e q u e d esej a en tr ar n a su a r egi ão cr í ti ca, u m p ro ce s so ex ecu t a u ma i n str u ção DO WN .

(10)

S e u m s emáf o r o =1 , e st e val o r é d ec rem en t ado e o pr o cesso qu e so l i ci to u a o p er ação po de e xecu t ar a s i nstr u çõ es d a su a regi ão crí ti ca. S e u m se máf o r o =0 , o p ro ces so fi ca i mpedi d o do ace sso , per man ecen do em es tado d e E S P E RA e co n s equ en t emen t e n ão ger an d o o ver h e ad ( pro ces sam en to em e xce sso ) n o UCP .

O p ro ces so q u e es tá aces san do o r ec u rso , ao s ai r da su a r egi ão cr í ti ca, ex ecu ta u ma i n str u ç ão U P , i n cr em en t an d o o val o r do semáfo ro e l i beran do o ac esso ao r ecu r so .

S e u m o u mai s p ro c es so s es ti ver em esp er an do p el o u so do recu r so (DO WN p en den tes) , o S O sel eci o n ar á po r o r dem n a fi l a de e sp er a asso ci ad a ao r ecu r so e al ter ar á o seu e st ado d e pr o n to .

7 .2 - S in cro n i za ção Co n di cio n al co m S em áfo ro s

E x.: q u an do u m pr o c es so so l i ci ta u ma o p er a ção d e E \S . O pedi do f az co m qu e o pr o c esso execu t e a i n stru ç ão DO WN n o se máf o r o as so ci ado ao even to e fi q u e n o est ado d e E S P E RA, at é qu e a o p er a ção E \ S sej a co mpl et ad a. Q u an d o a o p er ação t er mi na , a r o ti n a execu t a u m U P no sem áf o r o , l i ber an do o pr o cesso do esta d o de e sp er a.

S E MÁ FO RO S CONT A DO RE S s ão b ast an te ú t ei s q u an do apl i cado s em pr o bl em as d e si n cro n i zaç ão co n di ci o n al o n de h á pr o c esso s co n co r r en t es al o can do r ecu rso s d o mes mo ti po ( po o l d e r ecu r so s) . O s emáf o ro é i ni ci al i zad o co m u m n ú me ro to tal de r ecu r so s do po o l e, sempr e qu e u m pr o c esso des ej a al o car u m r ecu r so , exe cu t a u m

(11)

DOW N, su btr ai n do 1 ao nú mer o de r e cu r so s di spo ní vei s.  Q u an do l i ber a 1 re cu r so f az u m U P .  S e o sem áf o r o co n tad o r = 0 , si gni fi ca qu e n ão h á + r ecu r so s di spo ní vei s e o pr o ce sso dev e agu ar d ar at é qu e l i b er e al gu m.

7 .3 - P ro ble ma do s F iló so fo s

H á u ma mesa co m 5 pr ato s, 5 g ar f o s o nd e o s f i l ó so fo s po dem s en t ar , co m er e p en s ar .

To da v ez qu e u m f i l ó so fo p ár a d e p en s a r e d esej a co m er é n e ces sári o qu e el e u ti l i ze 2 g ar f o s, po si ci o n ado s à su a di rei ta e à su a esq u er d a. S e to d o s o s f i l ó so fo s e sti verem s egu r an do 1 g ar f o , n en h u m fi l ó so f o co n seg u i rá co mer, g er an d o u m DE A DLO CK ( bl o qu ei o ) . P ar a so l u ci on ar o deadl o ck, te mo s al gu ma s so l u çõ es:

a) p er mi ti r q u e ap en as 4 fi l ó so f o s sen te m à me sa si mul tan e amen te; b) per mi ti r qu e u m fi l ó so f o pegu e u m gar f o ap en as se o o u tr o garf o esti v er d i spo ní vel ;

c) p ermi ti r qu e u m fi l ó so f o í mpar p eg u e o pri mei ro o seu g ar f o da esqu er d a e de po i s o da di rei ta, en q u an to u m f i l ó so fo p ar p egu e pr i mei ro o garf o d a di r ei ta e d ep o i s o garf o d a esqu er d a.

7 .4 - P ro ble ma do Ba rbe i ro

U m bar b ei r o r ec eb e cl i en tes p ar a co rt ar o cab el o . Na b arb e ar i a h á 1 cad ei r a d e b arb ei ro e ap en as 5 c ad ei r as par a cl i en tes e sp er ar em. Q u an do u m cl i en te ch eg a, caso o barb ei ro est ej a tr ab al h an do , el e sen ta se h o u ver cad ei r a vazi a, o u vai e mbo r a s e to d as as c ad ei r as esti v er em o cu pad a s.

No caso do barb ei r o n ão ter cl i en tes p ar a a ten der , el e mesmo sen ta n a c ad ei r a e do rm e at é qu e u m n o vo cl i en te ap ar eç a.

8 - M ON IT OR E S

S ão mec an i smo s de si n cr o ni zaç ão estr u tu r ad a d e al to ní vel qu e to rn am mai s si mpl es o des en vo l vi men to de apl i caçõ es co n co r r en t es. O MO NITO R é fo rm ado p o r pr o cedi men to s e var i ávei s en cap su l ada s den tr o d e u m mó d u l o , on de so men te u m pr o ce sso po d e est ar exe cu t an d o u m d o s p ro cedi men to s do mo ni to r em u m d eter mi n ado i n st an te.

(12)

To da vez q u e u m p ro c es so f az u ma ch amad a a u m d ess es pr o cedi men to s, o mo n i tor ver i fi ca s e j á exi st e u m o u tro pro ces so exe cu t an d o al gu m pro ced i men to do mo ni to r .

Caso e xi st a, o pro ces so f i car á ag u ar d an do a su a v ez em u ma f i l a d e en tr ad a.

A s vari á vei s gl o bai s de u m mo ni to r são vi sí vei s ap en a s ao s

pr o cedi men to s d a su a es tru tu r a, sen do i n a ces sí vei s f o r a do co n texto do mo ni to r.

To da a i ni ci al i za ção d as vari á vei s é r e al i zad a po r u m b l o co d e

co m an do s do mo n i to r , sen d o execu t ado ap en as u ma v e z, n a ati v ação do pr o gr am a o n de e st á d e cl ar ado o mo ni to r

9 - T ro ca de Me nsa gen s

É u m mec an i smo d e co mu ni caç ão e si n cro ni za ção en tr e o s p ro c es so s . O S O po ssui u m su bsi st ema d e m sg qu e su po r ta es te m ecan i smo s em qu e h a j a n ec essi dad e d e u so de vari áv ei s c o mp ar ti l h ad as.

(13)

P ar a qu e h aj a co mu n i caç ão en tr e o s pr o ces so s d eve exi sti r u m can al de co mu n i caç ão , po d en do esse mei o ser u m bu f f er o u u m l i n k de u m a red e d e co mp u t ado r es.

P r o cesso s co o per a ti vo s p o dem f a zer u so de u m bu f f er p ar a tr o c ar msg s atr avés d e 2 r o ti n as: S E ND (tr an smi sso r ) o u RE CE IV E (r ec ep to r ) .

É n ecess ár i a a si n cro ni za ção en tr e o s 2 pr o ces so s ( s en d e re cei ve) j á qu e u m a msg so m en t e po d e ser tr ata d a po r u m pr o ces so ap ó s t er si do re ceb i da, o u o en vi o da msg só po d e ser u ma co n di ção p ar a a co n ti n ui dad e d e execu ç ão de u m pr o ce ss o .

S E ND per mi te en vi ar msg p ar a u m pr o cesso r ec epto r , en qu an to RE CE IV E po ssi bi l i ta o receb i men to da msg en vi ad a p o r u m tr an smi sso r.

Co mu n ica ção d i reta : exi ge qu e ao en vi ar o u re ceb er u ma msg , o pr o ce sso en d er ec e ex pl i ci tam en t e o n o me do p ro c es so r ec ep to r o u tr an smi sso r. U ma c ar act erí sti ca d e st e ti po de co mu n i caç ão é só per mi ti r a tro ca d e m sg en tr e 2 pr o ces so s. U m pro bl ema é a

n ec essi dad e d a esp eci fi caç ão do n o me do s pr o c esso s en vo l vi do s n a tro c a d e m gs. No ca so de mu d an ça d e n o me, o có di go do pr o gr ama dev e ser al ter ado e r e co mpi l ado .

(14)

Co mu n ica ção in d i reta: u ti l i za u ma ár e a co mp ar ti l h ada, o n de as msg s po d em s er co l o cad a s p el o p ro ces so tr an s mi sso r e r eti rad as p el o pr o ce sso re cep to r . E ss e ti po de b u f f er é co n h eci d o co mo MA ILB OX o u P O RT e su as c ar act er í sti cas co mo ID e cap aci dad e d e ar maz en am en to de men sag en s são d ef i ni das n o mo men t o de cr i ação .

V ár i o s p ro ces so s po de m est ar as so ci ado s a mai l bo x, e o s p ar âme tro s do s pro ced i men to s S E ND e RE CE IV E pas sar a ser n o mes d e mai l bo xe s e n ão d e pr o ce sso s

E squ ema s pa ra im plemen t a r Co m un ic ação in d i ret a:

G ar an ti r qu e u m pr o cesso , ao en vi ar u ma m en s ag em, p er m an eç a esp er an do a té qu e o pr o c esso r ece pto r a l ei a. N a mes ma co n di ção , u m pr o cesso ao ten tar r eceb er u ma m sg ai n da n ão en vi ad a, d eve per man ecer agu ar d an d o at é o en vi o da me sma . U m pro bl ema é qu e a

(15)

exe cu ç ão d e p ro c es so s fi ca l i mi tad a ao t empo de p ro c es sam en to n o tr ata men to d a s m en sag en s.

P er mi ti r qu e o pr o ces so tr an smi sso r n ão per man eç a bl o qu eado agu ard an do a l ei tu ra d a men sag e m p el o pro ces so r ec ep to r . Ne st e caso , u m pr o c esso en vi ar á men sag en s p ar a di ver so s d esti n at ár i o s t ão l o go sej a po ssí v el .

Fo r ma a ssí n cr o n a d e co mu n i cação , o n de n em o pr o cesso r ecep to r n em o tran smi sso r p erm an ec em agu ar d an do o en vi o ou r ecebi men to d e men sag en s. H á n ec essi da de d e bu ff er s p ar a ar maz en ar as m en s ag en s e me can i smo s de si n cr o ni zação qu e p er mi tam ao p ro ces so i den ti fi car se a men s ag em já fo i en vi ada o u r ec ebi da , au men t an do a ef i ci ên ci as das apl i c açõ e s co n co rr en t es.

1 0 - DE A DL OC K

É qu an do u m pr o ces so ag u ar d a po r u m r ecu r so qu e n u n ca est ar á di sp o ní vel ou u m even to qu e n ão o co r re rá. I sso é co n se qü ên ci a do co mp ar ti l h amen to de r ecu rso s , co mo d i spo si ti vo s, arq u i vo s, regi str o s en tr e pr o ce sso s co n co rr en t es em qu e a excl u são mú tu a é e xi gi da.

O p ro bl ema do deadl o ck to rn a - s e ca d a vez mai s f reqü en t e e cr í ti co n a med i da em q u e o s S O s evo l u em n o sen ti do de i mpl emen t ar o

par al el i smo d e f o r ma i n ten si va e p er mi ti r al o ca ção d i n âmi ca d e u m n ú mero m ai o r de r ecu r so s.

(16)

P A o btém ace sso excl u si vo de R1 as si m co mo P B de R2 . Du r an t e o pr o ce ss amen to , P A n ece ssi ta d e R2 p ar a pr o ssegu i r. Co mo R2 est á al o cado a P B , P A fi car á ag u ar d an do q u e o r ecu rso seja l i ber ado . E m segu i da P B n ece ssi t a d e R1 e d a m esm a f o rma, f i car á ag u ar d an d o at é qu e P A l i b er e o r ecu r so .

As 4 Co n d içõ e s pa ra o co rrer DE ADL OCK

1 - E X CLU SÃ O MÚ TUA : cad a r ecu rso só po de ser al o cado a u m ú n i co pr o ce sso em u m d et er mi n ad o i n st an te;

2 - E SPE RA P O R RE CU RS O : u m pr o ces so , al em do s r ecu r so s j á al o cado s, po d e e st ar esp er an do po r ou tr o s re cu r so s;

3 - NÃ O - P RE E MP ÇÃ O : u m r ecu rso n ão po de ser l i b er ado de u m pr o ce sso só po rqu e o u tr o s pr o cesso s d esej am o me smo r ecu r so ;

4 - E SPE RA CIRCU LA R: u m pr o cesso po de ter d e e sp er ar po r u m re cu r so al o cado a o u tr o pr o cesso e vi ce- ver sa.

DE A DLO CK h á em q u al qu er S O mul ti p ro gra mável , co n tu do as so l u çõ es i mpl emen t ad as d e vem co n si der ar o ti po do S O e o i mpacto e m seu des emp en h o . E x.: u m de adl o c k em u m S O d e t empo r eal d e u ma u si n a

(17)

n u cl ear n ão po de ser tr at ado d a mes ma f o r ma do s d ea dl o ck s d e S Os de t empo co mp ar ti l h ado co mu m.

1 0 .1 - P re ven ção de DE ADL OCK

É pr eci so gar an ti r qu e u ma d a s 4 co n di çõ es n e ces sári a s n ão o co r r a.

A au s ên ci a d a E X CL US Ã O MÚ TU A acab a co m o deadl o ck, po i s n en hu m pr o ce sso ter á q u e esp er ar p ar a t er a ces so a u m r ecu r so , m es mo qu e este e st ej a s en do u ti l i zado p o r o u tro proc es so . Co n tu d o su r gi r á pr o bl em as d e i n co n si stên ci a s.

P ar a evi tar a E S PE RA P O R RE CU RS O , p ro ces so s qu e j á po ssu am re cu r so s g a r an ti d o s n ão devem r equ i si tar n o vo s recu r so s. U ma man ei r a d e i mp l emen tar i sso é q u e an t es do i ní ci o da ex ecu ção , u m pr o ce sso deve pr é - al o car to do s o s r ecu r so s n ece ss ár i o s. S en d o qu e TO DOS est es r ecu r so s d evem est ar di spo ní vei s p ar a i ni ci ar a

exe cu ç ão , sen ão n en h u m r ecu rso ser á al o cado e o pr o ces so f i car á agu ard an do . I sso po de g er ar d esp er dí ci o vi sto qu e u m r ecu r so po der á fi car al o c ado po r g ran de tempo sen do apen as u ti l i zado p o r u m

peq u en o mo men to .

A NÃ O- P RE E MP ÇÃ O po de ser evi tad a qu an do é p er mi ti do qu e u m re cu r so sej a r eti r ado d e u m pr o c esso caso o u tr o pro cesso n ec essi t e des se r ecu r so . A l i ber aç ão d e r ecu r so s j á g ar an ti do s po r u m pr o cesso po de o casi on ar s ér i o s pr o bl emas, po d en do at é i mp edi r a co n ti n ui dad e de ex ecu ção d e u m pr o c esso e t amb é m ac ar r et ar star va ti on (esp er a i n def i n i da) , p oi s apó s g ar an ti r o s recu r so s n ec es sár i o s a su a

exe cu ç ão , u m pr o c esso po d e t er q u e l i ber á- l o s sem co n cl ui r seu pr o ce ss amen to .

E vi tan d o a E S P E RA CIRCU LA R, i mpl emen t an do a f o rç ar o pro ces so a t er ap en a s u m r ecu rso po r vez. C aso o pro ces so n e cessi t e d e o u tr o re cu r so , o recu r so j á al o cado d eve ser l i ber ado . E st a co n di ç ão

re str i n gi ri a mu i to o g rau de co mp ar ti l h am en to e o pr o ces sam en to do s pr o gr ama s.

(18)

1 0 .2 - Dete cção de DE ADL OCK

É a det er mi n ação d a exi st ên ci a d a si tu ação de d e adl o ck, p er mi ti n do i den ti fi car o s r ecu rso s e o s pr o c esso s en vo l vi do s.

O s S O s d ev em m an t er estr u tu ra s d e d ad o s cap a zes d e i den ti fi car cad a re cu r so do si st ema, o pr o ces so qu e o est á al o can do e o s pr o ces so s qu e e st ão à e sp er a d a l i ber ação do r ecu rso .

To da vez q u e u m r ecu r so é l i berado o u al o cado , ess as i n fo rmaçõ es dev em ser atu al i zad as.

O s al go ri tmo s qu e i mpl em en t am e sse mec an i smo veri fi cam s e h á esp er a ci r cu l ar , p erco r r en do to da a estr u tu r a sempr e qu e u m pro ces so so l i ci ta u m r ecu r so e el e n ão po de ser i m edi at am en t e g ar an ti d o .

S en do qu e es se t empo de b u sc a (v er i fi caç ão ) po de v ar i ar d ep en den do do ti po do S O , ex.: S O te mpo co mp ar ti l hado o temp o d e bu s ca p o de ser mai o r , sem co mpr o m et er o des empe n h o e co n fi abi l i d ade; S O t empo r eal i sso n ão po de o co rr er .

A pó s a d et ec ção d o dead l o ck o S O dever á co rr i gi r o pro bl ema.

Ger al men te u sam el i mi n ar u m o u mai s pr o ce sso s en vo l vi do s n o deadl o ck e d es al o cam o s r ecu r so s j á g ar an ti do s po r el es.

A el i mi n ação do s p ro ces so s en vo l vi do s, co n s equ en t emen t e, a l i ber aç ão d e s eu s r e cu r so s po d em n ão s er si mpl es, d ep en d en do do ti po do r ecu rso en vo l vi do .

O s pr o ce sso s el i mi n ad o s n ão te m co mo ser r ecu p er ado s, po r em o u tr o s pr o ce sso s qu e an t es e st ava m em d e adl oc k, po d er ão co n cl ui r su a exe cu ç ão .

A esco l h a d o pr o cesso a ser el i mi n ado é fei ta al eató r i a o u po r pr i o ri dade s, po d en do co n su mi r mui to temp o do pr o ce ss ado r .

P o de-s e t amb é m l i ber ar al gu n s r ecu r so s al o cado s ao s pr o c esso s p ar a o u tr o s pr o cesso s, a té q u e o ci cl o de esp er a ter mi n e. P ar a qu e i sso seja ef i ci en te , é n ecess ár i o qu e o S O su sp en d a u m p ro c es so , l i bere o s re cu r so s e po st er i o r men t e r eto r n e ao pr o ce sso do po n to o n de par o u seu pro ces sa men to , ch amad o RO L LB A CK .

(19)

E xercí cio s

1 . Def i n a o qu e é u ma o per ação co n co r r en t e e d ê u m exe mpl o de su a u ti l i zação .

2 . O qu e é u ma excl u são mú l ti pl a e co mo é i mpl emen t ad a? 3 . O qu e é st ar va ti o n e co mo po d emo s r e so l ver e st e pr o bl ema? 4 . Qu al é o pro bl ema co m a so l u ção qu e de sabi l i ta as i n terr u pçõ es par a h abi l i tar a excl u são mú tu a?

5 . O qu e é esp er a o cu p ad a e qu al seu pr o bl ema?

6 . E xpl i qu e o qu e é si n cro ni za ção co n di ci o n al e dê u m e xem pl o de su a u ti l i zação .

7 . E xpl i qu e o qu e s ão s emáf o ro s e d ê d o i s ex emp l o s de su a u ti l i zação : u m par a a so l u ção de excl u são mú tu a e o u tr o para si n cro n i zaç ão co n di ci o n al

8 . O qu e é d eadl o ck, qu ai s as co n di çõ es p ar a o bt ê- l o e qu ai s as so l u çõ e s po s sí vei s?

9 . E m u ma apl i cação co n co r r en t e qu e co n tr ol a o sal do ban cári o em co n tas co rr en t es, do i s p ro ces so s co mp ar ti l h am u ma r egi ão d a memó r i a o n de est ão ar m azen ado s o s s al do s do s cl i en te s A e B . O s pr o ce sso s ex ecu ta m co n co r r en t emen t e o s s egu i n tes p as so s:

P ro ce sso 1 – C lien te A P ro ce sso 2 – C lien te B /* s aqu e em A * / 1 a. x: = s al do _ do _ cl i en te_ A ; 1 b. x: = x – 2 0 0 ; 1 c. s al do _ do _ cl i en te_ A : = x; /* d epo si to em B * / 1 d. x: = s al do _ do _ cl i en te_ B ; 1 e. x: = x + 1 0 0 ; 1 f . sal do _ do _ cl i en te_ B := x; /* s aqu e em B * / 2 a. y: = s al do _ do _ cl i en te_ B ; 2 b. y: = y – 1 0 0 ; 2 c. sal do _ do _ cl i en te_ B : = y; /* d epo si to em B * / 2 d. y: = s al do _ do _ cl i en te_ B ; 2 e. y: = y + 2 1 0 0 ; 2 f . s al do _ do _ cl i en te_ B : = y;

S u pon do qu e o s val o res do s sal do s A e B sej am, r esp ecti va men te 5 0 0 e 9 0 0 an te s do s pr o ce sso s ser em exe cu t ad o s p ed e- se:

a) Qu ai s o s val o r es co r r eto s e sp er ado s p ar a o s cl i en tes A e B apó s o t ér mi n o da e xecu ção do s p ro ces so s ?

b) Q u ai s o s val o r es f i n ai s d o s s al do s do s cl i en tes se a s eqü ên ci a t empo r al d e exe cu ç ão f o r 1 ª, 2 ª, 1 b , 2 b , 1 c, 2 c, 1 d, 2 d, 1 e, 2 e , 1 f , 2 f ?

(20)

c) U ti l i zan d o semáf o r o s p ro po n h a u ma so l u ção qu e g ar an ta a

i n tegr i dad e do s s al do s e p ermi ta o mai or co mp ar ti l h amen to po ssí vel do s recu r so s en tr e o s p ro c es so s, n ão se esqu ecen do d a e sp e ci fi ca ção da i ni ci al i zação do s sem áf o r o s.

Referências

Documentos relacionados

moléculas de ar pode ser convertida em energia cinética de rotação pelo rotor de uma turbina eólica, que por sua vez pode ser convertida em energia elétrica através de um

l  O processo pode bloquear o sinal (SIG_IGN) (SIGKILL não pode ser ignorado). l  O processo pode capturar o sinal através de um handler

– Transferência assíncrona de informação (mensagens), de vários processos produtores, para um canal de comunicação associado a um processo consumidor. – Os produtores não

–  um canal pode ou não ter capacidade para memorizar várias mensagens –  o armazenamento de mensagens num canal de comunicação permite desacoplar. os ritmos de produção

Fecha sockfd já que não é utilizado pelo processo filho Os dados recebidos do cliente são reenviados para o

– datagram: canal sem ligação, bidireccional, não fiável, interface tipo mensagem. – raw: permite o acesso directo aos níveis inferiores dos protocolos (ex: IP na

– Na execução da chamada sistema Enviar a mensagem é copiada para o núcleo e na chamada Receber é copiada do núcleo para o espaço de endereçamento do processo.

Entre as heurísticas utilizadas em problemas de minimização do makespan em máquinas diferentes em paralelo, é possível identificar duas filosofias de afectação: a