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
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 .
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 . 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 . 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.
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.
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.
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.
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 .
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
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.
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.
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 .
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
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.
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
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.
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 .
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 ?
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.