• Nie Znaleziono Wyników

Informatyka Nr 3; Organ Komitetu Informatyki, Ministerstwa Nauki, Szkolnictwa Wyższego I Techniki Oraz Komitetu Naukowo-Technicznego NOT DS. Informatyki - Digital Library of the Silesian University of Technology

N/A
N/A
Protected

Academic year: 2022

Share "Informatyka Nr 3; Organ Komitetu Informatyki, Ministerstwa Nauki, Szkolnictwa Wyższego I Techniki Oraz Komitetu Naukowo-Technicznego NOT DS. Informatyki - Digital Library of the Silesian University of Technology"

Copied!
36
0
0

Pełen tekst

(1)
(2)

in f o r m a Q la

N r 3

Miesięcznik Rok X X

Marzec 1985

O rgan K o m itetu In fo rm a ty k i M N SZW iT oraz K o m itetu N aukow o-T echnicznego NOT ds. In fo rm a ty k i

K O L E G IU M R E D A K C Y J N E :

M g r in ż . Z b i g n i e w G L U Z A , d r in ż . W a ­ c ł a w IS Z K O W S K I, m g r T e r e s a J A B Ł O Ń ­ S K A ( s e k r e t a r z r e d a k c j i ) , W ł a d y s ła w K L E P A C Z ( z a s t ę p c a r e d a k t o r a n a c z e l ­ n e g o ) , p r o l . d r h a b . L e o n Ł U K A S Z E ­ W IC Z ( r e d a k t o r n a c z e l n y ) , m g r in ż . A n ­ d r z e j J . P I O T R O W S K I , d r in ż . J a n u s z Z A L E W S K I

S T A L E W S P Ó Ł P R A C U J Ą :

M g r in ż . W ito ld A B R A M O W IC Z ( S z w a j ­ c a r i a ) , m g r in ż . R y s z a r d K . K O T T ( W ie lk a B r y t a n i a ) , d r J a c e k O W C Z A R - C Z Y K , d r A n d r z e j S Z A Ł A S , d r J a k u b T A T A R K IE W IC Z , m g r in ż . T e r e s a W I L ­ C Z E K

P R Z E W O D N IC Z Ą C Y R A D Y P R O G R A M O W E J :

P r o f . d r h a b . T a d e u s z P E C H E

M a t e r i a ł ó w n i e z a m ó w i o n y c h r e d a k c j a n i e z w r a c a

R e d a k c j a : 00-041 W a r s z a w a , u l . J a s n a 14/16, p o k . 243 i 244, te l . 27-71-40 lu b 26-82-61 W. 184

Z a k l . G r a f . „ T a m k a ” . Z a m . 1341-1300/84.

O b j. 4,0 a r k . d r u k . N a k ł a d 6500 e g z . N-13.

IS S N 0342-9951, I N D E K S 36124

C e n a e g z e m p l a r z a zl 100,—

P r e n u m e r a t a r o c z n a z! 1200,—

^ W Y D A W N IC TW O g

«

SIGMA

0 0 - 9 5 0 W arszawa skrytka pocztow a 1004

ul. Biała 4

3 , 9 8 5

W NUM ERZE: S tro n a

Z arząd zan ie w spółbieżną a k tu a liz a c ją bazy d anych (1).

F u n k c je o p ro g ra m o w an ia zarządzającego

Z b ig n ie w K ier z k o w s k i, Jacek M a tu szyń ski 1 P rzeg ląd m echanizm ów k o m u n ik a cji

W acław I s z ko w s k i 3

K o m p ila to r LO GLA N U 82 dla MERY 400

A n d rze j I. L itw i n iu k 7

Język p ro g ra m o w an ia B C PL (2)

K o n r a d Jabłoński 11

m ikroK L A N 13

IN D U STR IA L R E A L-TIM E BA SIC — d la m ik ro k o m p u teró w T ajem n ice pro g ram o w y ch p ira tó w — ZX SPECTRUM A kad em ia M ik ro k la n u

C P/M 3 +

A lfan u m ery czn y ste ro w n ik m o n ito ra telew izyjnego (1)

SAMOTESTY 22

III/A . P o d staw y so rto w an ia zbiorów

Z K R A JU 23

Nowa ro d zin a IBM

ZE ŚW IATA 23

N aukow iec — biznesm enem D ru k a rk a stru m ie n io w a H P

S ztuczna in te lig e n cja i sy stem y ek sp erto w e P ozorne złagodzenia

R EC EN ZJE 28

P ro g ram o w a n ie operacji w e jś c ia - w y jś c ia

TER M IN O LO G IA 29

Słow nik pojąć i te rm in ó w z dziedziny g ra fik i k o m p u te ro w e j (2) CZW ARTA O K ŁA D K A Z b ig n iew S zk a ra d n ik

W N A J B L I Ż S Z Y C H N U M E R A C H :

• J u l i a n W in i e w s k i o j ę z y k u C /

• F r a n k L a n d o s y s t e m a c h i n f o r m a c y j n y c h

• W o jc ie c h C e l l a r y i J a n W ę g l a r z o n a u c z a n i u m i k r o i n f o r m a t y k i

• W a c ła w I s z k o w s k i o s u p e r k o m p u t e r z e C R A Y

• J a n B i e l e c k i o s t a n d a r d z i e o p e r a c j i w e j ś c i a - w y j ś c i a w A D Z IE

• J e r z y K a r c z m a r c z u k o e f e k t y w n o ś c i o b l i c z e ń n u m e r y c z n y c h n a S I N C L A I R A

k o m p u t e r a c h

® H a lin a K o n t k i e w i c z - C h a c h u l s k a o S I C O B IE ’84

• J a c e k I r l i k o k w a l i f i k a c j i p r a w n e j p r o g r a m u k o m p u t e r o w e g o

(3)

Z BIG N IEW KIERZKOWS JACEK M A ŁU SZY Ń SK I

Poznań

i ? m k

Zarządzanie współbieżną aktualizacją bazy danych (1)

Funkcje oprogramowania zarządzającego

Z w iększenie efektyw ności d ziała n ia system ów in fo rm a ­ tycznych m ożna uzyskać przez zrów noleglenie w y k o n y w a­

n ia czynności system u. R ów nież w p rzy p a d k u bazy dan y ch

— jednego z isto tn iejszy ch zasobów system u — dąży się do zap ew n ien ia dostępu w spółbieżnego.

W pie rw sz ej części a rty k u łu p rze d staw ia m y w y b ra n e asp ek ty fu n k cjo n o w a n ia o p ro g ram o w an ia zarządzającego w spółbieżną a k tu a liz a c ją bazy danych. Część d ru g a p o św ię­

cona będzie przeglądow i m etod leżących u podstaw tw o ­ rz e n ia takiego oprogram ow ania.

Z arząd zan ie w spółbieżną a k tu a liz a c ją bazy dan y ch (ang.

c o n c u rre n t d a ta b a se u p d a te control) polega n a szeregow aniu o dw ołań do bazy d an y c h pochodzących od procesów a k tu a ­ lizujących, d ziała ją cy ch w spółbieżnie z p rocesam i ją w yko­

rzy stu jąc y m i. R ów noczesny dostęp n ie stw a rz a problem ów w przy p ad k u , gdy żad en z procesów w spółbieżnych nie a k ­ tu a liz u je bazy danych. O p erac je odczytu z bazy danych zw iązane z różnym i pro cesam i m ogą się w te d y dow olnie p rz e p la ta ć w czasie. Je śli je d n a k choć je d en z procesów w spółbieżnych dok o n u je a k tu aliza cji, to w d ziała n iu sy ste­

m u m ogą w y stą p ić tro jak ieg o ro d za ju n iepraw idłow ości [3]:

® U tr a ta przep ro w ad zo n ej a k tu a liz a c ji bazy danych.

P R Z Y K Ł A D . W e w s p ó l n e j b a z i e d a n y c h z n a j d u j e s ię d a n a x = 4 o z n a c z a j ą c a l i c z b ę w o l n y c h m i e j s c w s a m o l o c i e . P r o c e s A d o k o ­ n u j e r e z e r w a c j i j e d n e g o m i e j s c a p o p r z e z z m n i e j s z e n i e w a r t o ś c i d a n e j x o 1. P r o c e s B d z i a ł a i d e n t y c z n i e . J e ż e l i p r o c e s y A i U d z i a ł a j ą w s p ó ł b i e ż n i e , t o w t e d y m o ż e w y s t ą p i ć n a s t ę p u j ą c a s e k ­ w e n c j a a k c j i w d o s t ę p i e d o b a z y d a n y c h :

— p r o c e s A d o k o n u j e o d c z y t u x = 4

— p r o c e s B d o k o n u j e o d c z y t u x = 4

— p r o c e s A d o k o n u j e z a p i s u x —3

— p r o c e s B d o k o n u j e z a p i s u x = 3 .

W k o n s e k w e n c j i o z n a c z a t o u t r a t ę i n f o r m a c j i o z a r e z e r w o w a n i u j e d n e g o m i e j s c a p r z e z p r o c e s A .

O D ezinform ow anie procesu dokonującego odczytów z bazy danych.

P R Z Y K Ł A D . P r o c e s A d o k o n u j e p r z e l e w u z k o n t a x n a k o n t o y . P r o c e s B o b lic z a s u m ę k o n t x i y . A k c j e n a l e ż ą c e d o t y c h p r o c e ­ s ó w m o g ą u ł o ż y ć s ię w k o l e j n o ś c i :

— p r o c e s B d o k o n u j e o d c z y t u x

— p r o c e s A d o k o n u j e w s z y s t k i c h a k c j i z w i ą z a n y c h z p r z e l e w e m

— p r o c e s B d o k o n u j e o d c z y t u y .

W r e z u l t a c i e t a k i e g o u s z e r e g o w a n i a a k c j i , p r o c e s B i l e o b lic z y ł s u m ę k o n t x i y .

© W prow adzenie błędu do bazy d an y c h w przy p ad k u , gdy d ezinform acji ulegnie proces a k tu a liz u ją c y bazę danych.

O czyw istym rozw iązaniem p o zw a lając y m u n ik a ć tych b łę ­ dów w d ziała n iu system u je st zezw olenie procesom w spół­

bieżnym jed y n ie n a dokonyw anie odczytów z bazy danych.

A k tu a liz a c ja bazy dok o n u je się w te d y za pom ocą p o je d y n ­ czego procesu działającego w ów czas, gdy system je st niedo­

stęp n y d la pozostałych użytkow ników .

O kresow ą a k tu a liz a c ję m ożna zastosow ać — n a p rz y k ła d

— w system ie w y szu k iw a n ia in fo rm ac ji b ibliograficznej, gdzie ak tu alizo w an ie bazy d a n y c h p ra k ty c z n ie w y sta rc za ra z n a m iesiąc lu b n a w e t rzad ziej. Z k o lei sy stem em w k tó ­ ry m ak c e p tu je się 24-godzinne opóźnienie w p o ja w ia n iu się u a k tu a ln ie ń w bazie dan y ch je s t sy stem z a rząd z an ia p rz e d ­ siębiorstw em .

O kresow e ak tu alizo w an ie bazy dan y ch je st n ato m ia st n ie ­ w y sta rc za jąc e w ta k ic h zastosow aniach, ja k re z e rw a c ja m iejsc lotniczych lu b ste ro w a n ie ru ch e m n a lotnisku, gdzie

w szystkie zm iany m uszą być w p ro w ad zan e do bazy dan y ch n a bieżąco. O znacza to konieczność zezw olenia n a a k tu a li­

zację bazy d an y c h w w a ru n k a c h w spółbieżnej p rac y w ielu procesów , a to z kolei w y m ag a stosow ania dodatkow ych m echanizm ów , k tó re system zabezpieczą.

M odelow anie fra g m e n tu rzeczyw istości w p o sta ci bazy d an y c h zw iązane je st z p rzy jęciem p ew n y ch założeń d o ty ­ czących d an y c h z a w a rty c h w b azie o raz p o w iązań m iędzy ty m i danym i. Z ałożenia te n az y w a się ograniczeniam i sp ó j­

ności (ang. consistency constrains). P rz y k ła d e m ta k ic h o g ra­

niczeń może być zdanie: „liczba sp rze d an y c h n a d an y lot biletó w n ie m oże p rze k ra cza ć liczby m iejsc w sam olocie”.

S ta n bazy danych, w k tó ry m spełnione są w szystkie zależ­

ności w y n ik a ją c e z o g raniczeń spójności n az y w a się sta n em spójnym .

P ro g ra m użytkow y, k o rz y sta ją c z bazy danych, rea liz u je je d n ą lu b kolejno (zw ykle cyklicznie) w iele o p era cji d ostę­

p u do bazy danych, zw anych tra n sa k c ja m i. T ra n sa k c ją je st ciąg o p e ra c ji n a bazie d an y c h stan o w iący p ew n ą logiczną całość. W yróżnia się trz y ty p y tra n sa k c ji, k tó ry c h p rz y k ła ­ d am i m ogą być ciągi o p e ra c ji zw iązane z re a liz a c ją w sy­

stem ie in fo rm aty c zn y m ta k ic h poleceń, jak:

O dokonanie p rze lew u m iędzy dw om a k o n tam i O obliczenie sum y sta n u w szy stk ich k o n t

© zm ian a a d re su zam ieszk an ia p raco w n ik a.

P rz y p ad e k p ierw szy ilu s tru je tra n s a k c ję a k tu a liz a c ji pow o­

d u ją c ą zm ianę sta n u bazy danych, p rzy p a d e k d ru g i — tra n sa k c ję z a p y ta n ia (nie doko n u jącą żadnego zapisu do bazy danych), a p rzy p a d e k trzeci — specyficzną tra n sa k c ję a k tu aliza cji, k tó rą m ożna o kreślić m ia n em a rb itra ln e j tr a n ­ sa k c ji a k tu aliza cji, gdyż now a w arto ść d a n e j n ie zależy od je j dotychczasow ej w a rto śc i i w zw iązku z ty m s ta ra w a r­

tość w ogóle n ie m usi być o d cz y ta n a przed dokonaniem a k ­ tu a liz ac ji.

KOORDYNATOR SZBD

F u n k c ja z a rząd z an ia w spółbieżną a k tu a liz a c ją bazy d a ­ nych rea lizo w a n a je st przez m oduł zw any k o ordynatorem , w chodzący w sk ład S y stem u Z a rzą d za n ia B azą D anych (SZBD). S zereg u je on w szelkie żą d a n ia zapisu i odczytu k ie ro w a n e do in n e j części SZBD, zw a n ej m odułem dostępu, k tó ry te żą d a n ia rea lizu je. K o o rd y n a to r w sp ó łp rac u je po­

n ad to rów nież z m odułem SZBD odpow iedzialnym za o d ­ tw a rz a n ie bazy danych. M ożliwości tego ostatniego są b r a ­ n e pod uw agę w alg o ry tm ac h d ziała n ia k o o rd y n ato ra, gdyż pozw alają odw oływ ać te p o d ję te p rzez niego decyzje, k tó re o kazały się b łęd n e (zbyt optym istyczne).

S tru m ie ń ż ą d a ń zapisu i odczytu nadchodzący do koo rd y ­ n a to ra n az y w a się stru m ie n ie m w ejściow ym (ang. Schedule).

W stru m ie n iu ty m ż ą d a n ia należące do różnych tra n sa k c ji p rz e p la ta ją się, p rzy czym kolejność ż ą d a ń należących do je d n e j tr a n s a k c ji pozostaje zachow ana. F ra g m e n t s tru m ie ­ n ia w ejściow ego p rze d sta w ić m ożna n astęp u jąco :

T. 0 (x ) Z(x) O(y) Z(y)

0 (x ) Z(x) O(y) Z(y)

gdzie 0 (x ) oznacza żą d an ie odczytu d a n e j x, Z(x) — żą d an ie zapisu d a n e j x, a T t oznacza i-tą tra n s a k c ję (i=1,2,...).

Od k o o rd y n a to ra w y m ag a się ta k ie j zm iany w kolejności żąd ań stru m ie n ia w ejściow ego, aby p o w sta ł now y stru m ie ń ż ą d a ń zw any stru m ie n ie m w yjściow ym , k tó ry m ożna p rz e ­ kazać do rea liza cji m odułow i d ostępu do bazy d an y c h bez obaw y o w y stą p ien ie błędów spow odow anych w spółbieżną ak tu a liz a c ją .

(4)

N ajprostszym , try w ia ln y m rozw iązaniem p ro b lem u ste ro ­ w a n ia w spółbieżną a k tu a liz a c ją bazy je st przek ształcen ie stru m ie n ia w ejściow ego w szeregow y stru m ie ń w yjściow y, w k tó ry m ż a d n a o p era cja tra n s a k c ji n ie w y stę p u je p om ię­

dzy o p eracjam i in n e j tra n sa k c ji. R ozw iązanie to oznacza zupełny b ra k w spółbieżności, lecz rów nocześnie z oczyw i­

stych w zględów elim in u je w szystkie anom alie w y n ik ając e ze w spółbieżności. P oszu k u jąc rozw iązań n ie try w ialn y c h , k tó re w ja k n ajm n ie jszy m sto p n iu o g ran ic za ją w spółbież- ność, pow szechnie p rz y jm u je się ja k o k ry te riu m p o p ra w ­ ności fu n k cjo n o w a n ia k o o rd y n a to ra — g en ero w an ie p rzez niego szeregow alnych stru m ie n i w yjściow ych. P rzez s tr u ­ m ień szeregow alny rozum ie się stru m ie ń ró w now ażny s tr u ­ m ieniow i szeregow em u zarów no pod w zględem jego w p ły ­ w u n a sta n bazy danych, ja k i n a odpow iedzi system u ud zielane w tra n sa k c ja c h za p y ta ń . M ożna w yróżnić dw ie n a s tę p u ją c e odm iany stru m ie n i szeregow alnych:

© stru m ie n ie g en e ru jąc e tylk o ta k ie sta n y bazy danych, ja ­ kie m ogą p o w sta ć w p rz y p a d k u stru m ie n ia szeregow ego;

w skrócie o k reśla się je nazw ą PSV (P reserv in g S erial View), co oznacza — zachow ujące obraz szeregow y

® stru m ie n ie g w a ra n tu ją c e końcow y s ta n bazy dan y ch iden ty czn y ze stan em , do którego doprow adziłoby szerego­

w e w y k o n an ie w szy stk ich tra n s a k c ji w y stę p u jąc y ch w s tr u ­ m ie n iu w ejściow ym , ale dopuszczające p o śred n ie sta n y b a­

zy n ie należące do zbioru sta n ó w g enerow anych przez s tr u ­ m ie ń szeregow y; w skrócie o k reśla się je n az w ą S F S (Se­

ria l F in a l S tate), co oznacza — szeregow y sta n końcow y.

Istn ie n ie stru m ie n i ty p u S F S je st m ożliw e dzięki a rb i­

tra ln y m tra n sa k c jo m ak tu a liz a c ji. W ystąpienie ta k ie j tr a n ­ sa k c ji m oże bow iem spow odować, że n ie k tó re tra n sa k c je ak tu a liz a c ji p rz e sta ją być tra n sa k c ja m i żyw ym i, p rzy czym za tra n s a k c ję żyw ą uw aż a się [2]:

© hipotety czn ą tra n sa k c ję , k tó ra p rzed zam knięciem sy ste­

m u d okonuje odczytu całej bazy dan y ch

® każdą tra n sa k c ję , k tó re j e fe k t d ziała n ia (lub choćby jego część) czy tan y je st przez tra n sa k c ję żyw ą

© k ażdą tra n s a k c ję zap y tan ia.

T ra n sa k c je n ie będące tra n sa k c ja m i żyw ym i n az y w a się tra n sa k c ja m i m artw y m i. P rzykładow o — w stru m ie n iu T x : O(x) Z(x)

T j : O(x) Z(x)

T , : O(y) Z(x)

tra n s a k c je T j i T , są m a rtw e , p oniew aż e fe k t ich działania za m azy w an y je st przez a rb itra ln ą tra n s a k c ję ak tu a liz a c ji Tj. W p ra k ty c e w y stę p o w a n ie tra n sa k c ji m a rtw y c h jest rzadkie, poniew aż rz a d k ie są a rb itra ln e tra n sa k c je a k tu a li­

zacji. W zw iązku z tym , zw iększenie w spółbieżności w sy­

stem ie poprzez stosow anie stru m ie n i w yjściow ych ty p u S F S za m ia st ty p u P SV je st n a ogół n ieistotne. P rz y jm u je się też, że chociaż k o o rd y n a to r p o w in ie n zapew niać szere- gow alność, to m ożna rozw ażać system y, w k tó ry c h w yż­

szy stopień w spółbieżności je st w ażniejszy od p ełn ej o chro­

n y p rze d an o m aliam i w spółbieżnej ak tu aliza cji.

P rzykładow o, w [4] rozw ażano m ożliw ość różnych ro d za­

jó w o chrony częściow ej — ta k , ab y tra n s a k c ja za p y ta n ia z a w ie ra ją c a in fo rm ac je o c h a ra k te rz e sta ty sty c zn y m m ogła uzyskiw ać bez czekania dostęp do n ie sp ó jn y c h danych, je­

żeli w y n ik a ją c y s tą d błąd je st nieznaczący.

W ZN A W IA N IE T R A N SA K C JI

D ziałanie k o o rd y n ato ra, b e z w zględu n a to ja k ie zostały w n im u ży te m echanizm y, je st w istocie fo rm ą rozdziału zasobów w spólnych — ja k im i są d a n e z bazy d a n y c h — pom iędzy procesy w spółbieżne rea lizu jąc e poszczególne tr a n ­ sakcje. Je że li znane są w szystkie ż ą d a n ia procesów dotyczą­

ce przy d ziału zasobów, w te d y p rzy d z iału m ożna dokonyw ać w ta k i sposób, ab y n igdy nie zachodziła p o trze b a w yw łasz­

czania procesów z przydzielonych im zasobów, spow odow a­

n a zakleszczeniem (ang. deadlock).

P odejm o w an ie decyzji bez p e łn e j znajom ości w szystkich żą d ań m oże doprow adzić do konieczności w yw łaszczenia procesu i w znow ienia tra n sa k c ji. W znow ienie tra n sa k c ji m o­

że być poprzedzone u n iew ażn ien iem (w ycofaniem ) z bazy dan y ch zm ian w prow adzonych w zw iązku z tą tra n s a k c ją . Do w z n a w ia n ia tra n s a k c ji zarów no niezakończonych, ja k i ju ż zakończonych uży w a się m odułu o d tw a rz a n ia bazy d an y ch . Je że li k o o rd y n a to r działa ta k , że z a k ła d a m ożli­

wość w zn a w ia n ia tra n sa k c ji ju ż zakończonych, to należy

liczyć się z tym , że w znow ienie je d n ej m oże pociągnąć za sobą w znow ienie w ielu tra n sa k c ji. Z jaw isko to nosi nazw ę efe k tu dom ina. K łopotliw a jest p rzy ty m n ie ty le koniecz­

ność p o w tó rzen ia w ielk iej liczby obliczeń, ile n a p rzy k ła d fak t, że u ży tk o w n ik m ógł ju ż odejść od te rm in a la i tru d n o go zaw iadom ić, że przep ro w ad zo n a p rzez n ie g ) tra n sa k c ja została uniew ażniona.

R o z p a t r z m y p r z y p a d e k s t r u m i e n i a (1). J e ż e l i d o p u s z c z a s ię w z n a ­ w i a n i e t r a n s a k c j i z a k o ń c z o n y c h , t o k o o r d y n a t o r m o ż e p r z e k a z a ć b e z p o ś r e d n i o d o s t r u m i e n i a w y j ś c i o w e g o k o l e j n e e l e m e n t y s t r u ­ m i e n i a w e j ś c i o w e g o a ż d o m o m e n t u n a d e j ś c i a ż ą d a n i a O (y ), n a l e ­ ż ą c e g o d o t r a n s a k c j i T j . W t y m m o m e n c i e s t a j e s ię j a s n e , ż e p o ­ s t ę p o w a n i e k o o r d y n a t o r a b y ł o z b y t o p t y m i s t y c z n e i n a l e ż y w z n o ­ w ić t r a n s a k c j ę X2. Z a u w a ż m y , ż e o p t y m i s t y c z n e d z i a ł a n i a k o o r ­ d y n a t o r a m o g ł y b y z a k o ń c z y ć s ię s u k c e s e m , g d y b y t r a n s a k c j a T i n i e z a w i e r a ł a ż ą d a n i a O (y ). J e ż e l i d o p u s z c z a s ię w z n o w i e n i e J e d y ­ n i e t r a n s a k c j i n i e z a k o ń c z o n y c h , t o w p r z y p a d k u s t r u m i e n i a (1) k o o r d y n a t o r m u s i a ł b y w s t r z y m a ć w y k o n y w a n i e w s z e l k i c h a k c j i t r a n s a k c j i T 2. K a ż d a z n i c h m o g ł a b y b o w ie m o k a z a ć s ię o s t a t n i ą a k c j ą t e j t r a n s a k c j i .

Z n a n a je st ogólna zasad a p o stęp o w an ia k o o rd y n ato ra od­

b ie ra ją c a m ożliwość w y stą p ie n ia sy tu acji, w k tó re j konie­

czne byłoby w znow ienie tra n sa k c ji zakończonych — aż do m om entu zakończenia tra n s a k c ji nic należy zezw alać in ­ n y m tra n sa k c jo m n a odczyt za k tu alizo w an y ch przez n ią d a ­ nych. Z asa d a t a ch ro n i p rze d w zn a w ian ie m tra n sa k c ji za­

kończonych, n ie tylko w ted y , gdy w y stą p i b ra k szerego- w alności stru m ie n ia w yjściow ego, ale rów nież w p rz y p a d ­ k u dow olnej aw a rii system u. F a k t te n je st niezw ykle isto t­

ny. Jeżeli bow iem w d an y m system ie niedopuszczalne jest w zn aw ian ie tra n s a k c ji zakończonych, to w obaw ie p rzed w ystąp ien iem efe k tu d om ina n a sk u te k aw arii, n ie zezw a­

la się in n y m tra n sa k c jo m n a odczyt dan y ch zak tu alizo w a­

nych p rze z niezakończoną jeszcze tra n sa k c ję . W system ie ta k im n ie m ożna w ięc rów n ież stosow ać k o ordynatorów zak ła d ają cy c h w iększą sw obodę w odczycie ak tu alizo w a­

n y ch danych, n a w e t jeżeli d an y k o o rd y n ato r może zag w a­

ran to w a ć b ra k zakleszczeń i zw iązanych z nim i w znow ień tran sa k cji.

Zasadniczo rozw aża się jed y n ie k o o rd y n ato ry k ie ru ją c e się w yłącznie sk ła d n ią tra n sa k c ji, w y rażo n ą w sekw encji ż ą d a ń tw orzących stru m ie ń w ejściow y, i nie biorące pod uw agę se m an ty k i tra n s a k c ji a n i se m an ty k i ograniczeń sp ó j­

ności. Ja k k o lw ie k dysponow anie in fo rm ac ją sem antyczną pozw alałoby zm inim alizow ać ogran iczan ie p rzez koo rd y n ato r w spółbieżności w system ie (p. poniższy przykład), to a n a ­ liz a se m an ty czn a je s t w ogólnym p rzy p a d k u p rak ty c zn ie n ie w y k o n a ln a [7].

R o z p a t r z m y p r o s t y p r z y k ł a d u w z g l ę d n i a n i a s e m a n t y k i i t r a n ­ s a k c j i . Z a łó ż m y , ż e o g r a n i c z e n i a s p ó j n o ś c i w y m a g a j ą , a b y d a n a x m i a ł a t ę s a m ą w a r t o ś ć c o d a n a y . S t r u m i e ń w e jś c io w y (1) w o g ó l n y m p r z y p a d k u n i e m o ż e b y ć p r z e k a z a n y n a w y j ś c i e k o o r d y ­ n a t o r a , p o n i e w a ż n a r u s z a ł o b y t o s p ó j n o ś ć b a z y d a n y c h , n p . w p r z y p a d k u , g d y T i z m n i e j s z a x i y , a T j p o d w a j a i c h w a r t o ś ć . J e ż e l i j e d n a k z a r ó w n o T ] , J a k i Ta p o d w a j a j ą w a r t o ś ć x 1 y , t o r o z w a ż a n y s t r u m i e ń w e j ś c i o w y n i e n a r u s z a s p ó j n o ś c i , a w ię c k o ­ o r d y n a t o r z n a j ą c y s e m a n t y k ę t r a n s a k c j i m ó g ł b y t e n s t r u m i e ń p r z e ­ k a z a ć m o d u ł o w i d o s t ę p u d o b a z y d a n y c h b e z ż a d n y c h z m i a n , c z y l i o p ó ź n i e ń p o s z c z e g ó l n y c h a k c j i .

SK ŁA D N IA T R A N S A K C JI

W z a g ad n ien iu ty m m ożna w yróżnić cztery przy p ad k i:

® K o o rd y n a to r p o zn aje sk ła d n ię tra n s a k c ji w m ia rę n a ­ p ły w a n ia k o lejn y ch ż ą d a ń z n ią zw iązanych. Je ż e li koordy­

n a to r — zanim pozna p e łn ą sk ła d n ię tra n s a k c ji — p o d e j­

m u je d ecyzje p rze k azy w a n ia ż ą d a ń do stru m ie n ia w yjścio­

wego, m oże zajść konieczność zm iany te j decyzji i w zno­

w ien ia tra n sa k c ji. P rz y zachow aniu dużej ostrożności, k o n ie ­ czne w zn aw ian ie tra n s a k c ji ograniczy się do tra n sa k c ji niezakończonych. P rz y „o ptym istycznym 1' p rzek azy w an iu żą d ań do stru m ie n ia w yjściow ego, m oże w y stą p ić koniecz­

ność w zn a w ia n ia rów n ież tra n s a k c ji zakończonych.

© K o o rd y n a to r p o sia d a częściow e in fo rm ac je o sk ła d n i k a ż ­ d ej rozpoczynającej się tra n sa k c ji. J e d n ą z m ożliw ości jest znajom ość klasy, do ja k ie j n ależy d a n a tra n s a k c ja (po­

dejście ta k ie zastosow ano w system ie rozproszonej bazy d an y c h SDD-1 [1]). Je ż e li w stru m ie n iu w ejściow ym p o ja ­ w ią się tra n s a k c je z k la s n ie kolid u jący ch z sobą, d z ia ła ­ jących n a różn y ch g ru p a c h danych, k o o rd y n ato r może p rzek azy w ać je do stru m ie n ia w yjściow ego bez obaw y w y ­ stą p ie n ia konieczności w zn a w ian ia jak ich k o lw iek tra n sa k c ji.

C iągle m usi być je d n a k zachow ana ostrożność w p rz y p a d ­

(5)

ku tra n sa k c ji n ależących do k la s ko lid u jący ch z sobą, p rzy czym oczyw iście m oże się okazać, że k o n k re tn e tra n sa k c je w istocie n ie operow ały n a ty c h sam ych dan y ch i m ożna było uzyskać w iększą w spółbieżność.

Innego ty p u in fo rm ac ją dotyczącą s tr u k tu ry tra n sa k c ji m oże być częściowe uszeregow anie dan y ch i n arz u cen ie pro g ram o m u żytkow ym obow iązku ż ą d a n ia dan y ch w u s ta ­ lo n ej kolejności. W re z u ltac ie ta k ie j częściow ej in fo rm ac ji o s tru k tu rz e tra n s a k c ji [5, 6] u n ik n ię to niebezpieczeństw a w znow ień tra n s a k c ji w k o o rd y n ato rze posłu g u jący m się te c h n ik ą blokow ania (p. d ru g a część arty k u łu ).

P rz y k ład e m częściow ej in fo rm a c ji o sk ła d n i tr a n s a k c ji jest

— ta k ż e p rzy jęcie m odelu tra n s a k c ji złożonej z dw óch częś­

ci [2]: w części pie rw sz ej dok o n u je się odczytów danych, n a to m ia st w d ru g ie j — zapisów danych. O graniczenie ta pozw oliło zdefiniow ać tra n s a k c je słabo dw ufazow e.

© K o o rd y n a to r zna d okładnie sk ła d n ię k aż d ej rozpoczyna­

jącej się tra n sa k c ji, co oznacza, że tra n sa k c je zgłaszają z gó ry za p otrzebow anie n a w szystkie dane, k tó re będ ą przez n ie w yk o rzy sty w an e. W ogólnym p rz y p a d k u je st to je d n a k niem ożliw e, p oniew aż czasem m ożna pow iedzieć, ja k ie dan e są jeszcze p o trze b n e do zrealizo w an ia tra n sa k c ji, dopiero po p rze an alizo w a n iu in fo rm a c ji uzysk an y ch p rzez odczyt pew nych d an y c h z bazy danych. Z auw ażm y, że zgłaszanie zap o trzeb o w an ia n a w y ro st (na w szelkie p o te n c ja ln ie p o ­ trze b n e dane) sp ro w ad za te n p rz y p a d e k do poprzedniego.

O K o o rd y n ato r zna z góry w szystkie tran sa k cje, ja k ie w p ew n y m czasie będ ą p rzep ro w ad z an e w sy stem ie i zna do­

k ła d n ie ich składnię. Ja k k o lw ie k tru d n o podać p rzy k ła d system u, w k tó ry m m ożna by u rzeczyw istnić ta k ą s y tu a ­ cję, z teoretycznego p u n k tu w id zen ia p rzy p a d ek je st in ­ te re su ją c y i b y ł rozw ażany w [2].

☆ * ☆

W lite ra tu rz e p rz y jm u je się, że alg o ry tm p rze k szta łc an ia stru m ie n ia w ejściow ego w stru m ie ń w yjściow y m usi m ieć złożoność w ielom ianow ą i dlatego o d rzu c a się rozw iązania o w iększej złożonośoi — jako p ow odujące zb y t d uży n a rz u t czasowy, uniem ożliw iający p rak ty c zn ie p racę w czasie rz e ­ czyw istym .

Z ro zw ażań dotyczących fu n k c ji k o o rd y n ato ró w w y n ik a pod staw o w y w niosek, iż p o ró w n y w a n ie k o o rd y n ato ró w m a sens jed y n ie w ra m a c h k o o rd y n ato ró w n ależących do te j sam ej klasy, a w ięc p o sia d ający c h ta k i sam zasób in fo r-

W A C Ł A W ISZKOW SKl In stytu t Inform atyki Politechnika W arszaw ska

Przegląd mechanizmów

S ynchronizacji’» w spółd ziałan ia procesów d ziałający ch w spółbieżnie może być rea lizo w a n a z w y k o rzy stan iem m e ­ chanizm ów k o operacji lu b kom un ik acji. M echanizm koope­

ra c ji polega n a w p ro w ad zan iu w zajem nego w y k lu cz an ia w w yk o n y w an iu o k reślonej g ru p y p ro ce d u r w ielodostępnych;

tw o rząc m o n ito r będący zestaw em ta k ic h p rocedur, n a k ła ­ d a się w aru n e k , że tylk o je d n a z nich może być w d an e j chw ili w ykon y w an a. U proszczoną odm ianą tego m e ch a n iz­

m u je st m ech an izm sy n ch ro n izacji z w y k o rz y sta n iem ope­

r a c ji sem aforow ych [4]. M echanizm k o m u n ik a cji p o le ją zaś n a p rze sy łan iu w iadom ości (ang. m essage) m iędzy p a ra m i procesów — w pro w ad za w za jem n ą ich synchronizację na eta p ie n a d a w a n ia 1 o d b ie ra n ia in fo rm acji. M echanizm te n m a p rzed e w szystkim zastosow anie w rozproszonych sy ste ­ m ach w ieloprocesorow ych, chociaż w y k o rz y stu je się go też w im p lem e n ta cja ch logicznie w ieloprocesow ych system ów jednoprocesorow ych.

niacji o se m an ty ce i sk ła d n i tra n s a k c ji oraz ta k ie sam e u p ra w n ie n ia co do w z n a w ia n ia tra n s a k c ji niezakończonych i zakończonych oraz g w a ra n tu ją c y c h ta k ie sam e efekty, ja k n a p rz y k ła d szeregow alność stru m ie n ia w yjściow ego. J e d y ­ n ie w ra m a c h d a n e j k lasy m ożna m ów ić o rzeczy w isty m p o ró w n y w a n iu dw óch koordynatorów , p rzy czym za lepszy n ależałoby u znać k o o rd y n ato r w p ro w a d za jąc y m n ie j opóź­

n ie ń w system ie.

Na w ielkość opóźnień w p ły w a p rze d e w szy stk im złożoność czasow a alg o ry tm u (złożoność p am ięciow a rac zej n ie jest isto tn a) 1 w ielkość zbioru ch a rak te ry sty cz n eg o (ang. fix ed p o in t [8, 9]), czyli p ro ce n t stru m ie n ia w ejściow ego p rze­

puszczanego p rze z k o o rd y n ato r bez żadnych opóźnień do stru m ie n ia w yjściow ego, a ta k że in n e cechy, ja k — n a p rzy k ła d — n a rz u t zw iązany ze w zn aw ian iem tra n s a k c ji w ym uszanym przez k o o rd y n ato ra. U św iadom ienie sobie po ­ wyższego f a k tu dotyczącego k la s koo rd y n ato ró w pozw ala w e w łaściw y sposób w idzieć w y niki p o ró w n a ń k o o rd y n a­

torów p rze p ro w ad z an y c h choćby w edług w ielkości zbioru ch a rak tery sty czn eg o , a o b ejm u ją cy c h k o o rd y n ato ry n ależ ą­

ce do różnych klas.

L I T E R A T U R A

[1) B e r n s t e i n P . A ., S h i p m a n D . W ., R o t h n i e J . B .: C o n c u r r e n c y c o n t r o l i n a S y s t e m f o r D i s t r i b u t e d D a t a b a s e s (S D D -1 ). A C M T r a n s , o n D B S , v o l. 5, N o . 1, M a r c h 1983, p p . 18—51

121 B e r n s t e i n P . A ., S h i p m a n D . W ., W o n g W . S .: F o r m a l a s p e c t s o f s e r l a l i z a b i l i t y i n d a t a b a s e c o n c u r r e n c y c o n t r o l . IE E E T r a n s , o n S o f t . E n g ., v o l. S E -5 , N o . 3, M a y 1970, p p . 20-1—216

13) C a s a n o v a M . A ., B e r n s t e i n P . A .: G e n e r a l P u r p o s e S c h e d u l e r s f o r D a t a b a s e S y s t e m s . A c t a I n f ., v o l. 14, 1980, p p . 195—220 141 G r a y J . N ., L o r i e R . A .. P u t z o 'u G . R . t T r a i g e r I . L .: G r a n u ­ l a r i t y o f l o c k s a n d d e g r e e s o f c o n s i s t e n c y i n a s h a r e d d a t a b a s e . M o d e li n g i n D a t a B a s e S y s t e m s , G , M . N i j s s e n (e d ), N o r t h H o l ­ l a n d P u b l . C o ., 1976

|5J K e d e m Z . M .: L o c k i n g p r o t o c o l s : f r o m e x c l u s i v e t o s h a r e lo c k s . J o u r n a l o f t h e A C M 30 (4), 1983, p p . 787—804

[6j K e d e m Z . M ., S i l b e r s c h a t z A .: A c h a r a c t e r i z a t i o n o f d a t a b a s e g r a p h s a d m i t t i n g a s i m p l e l o c k i n g p r o t o c o l . A c t a I n f ., 1981 (1C), p p . 1—13

17^ K u n g H . T ., P a p a d i m i t r l o u C . H .: A n o p t i m a l i t y t h e o r y o f c o n c u r r e n c y c o n t r o l f o r d a t a b a s e . A c t a I n f ., 1983, p p . 1—11 [8J P a p a d i m i t r l o u C . I I .: A t h e o r e m i n d a t a b a s e c o n c u r r e n c y c o n ­ t r o l . J o u r n a l o f t h e A C M , 29 (4), 1982, p p . 998—1006

t9l P a p a d i m i t r l o u C . H .: T h e s e r l a l i z a b i l i t y o f c o n c u r r e n t d a t a b a s e u p d a t e s . J . A s s . C o m p . M a c h . 20 (4), 1979, p p . 631—653.

komunikacji

O ba m echanizm y — k o operacji i kom u n ik acji — są s tr u k ­ tu ra ln ie izom orficzne, a w ięc je st m ożliw e przek ształcen ie sy stem u procesów koop eru jący ch w sy stem procesów ko­

m u n ik u jąc y ch się i o dw rotnie (przy p ew n y ch ograniczeniach [6]). H istorycznie, m echanizm k o m u n ik a cji byl pierw szy — biorąc pod uw agę k o m u n ik a cję p rogram ów z otoczeniem . P óźniej zn ajd o w ał je d y n ie zastosow anie w sieciach te lek o ­ m u n ik a cy jn y ch . T eraz — po d opracow aniu — sta l się m e ­ ch anizm em w iodącym .

Istn ie je w iele koncep cji zapisu i re a liz a c ji k o m u n ik a cji procesów . P rz y tac za n ie w szy stk ich sp o ty k a n y ch rozw iązań byłoby niecelow e. D latego też p rze d staw ia m k ilk a w y ró ż­

n ia jąc y ch się cech ch a ra k te ry sty c z n y c h w najczęściej spoty­

k an y c h w ersja ch . S ą to:

© o p e ra c je p rze sy łan ia w iadom ości O pow iązan ie n ad a w cy z odbiorcą

© form y p o w iązań k ro tn y ch

® bufo ro w an ie w iadom ości.

(6)

P rz e d sta w ia m n a jp ie rw przegląd sp o ty k a n y ch rozw iązań, by n a s tę p n ie zaproponow ać zestaw , k tó ry k la sy fik u je m e­

chanizm k o m u n ik a cji w ed łu g cech c h a rak te ry sty cz n y ch . W y­

k o rzy stu jąc tę klasy fik ację, opiszę d la p rz y k ła d u trz y zn a ­ n e m echanizm y kom un ik acji, zastosow ane w system ie RC 4000, procesach k o m u n ik a cy jn y ch H o a re ’a o raz zdefiniow a­

ne w języku ADA.

M echanizm y k o m u n ik a cji p ow inny spełniać n a stę p u ją c e w a ru n k i [7]:

© rozproszenie, ro zu m ian e jako zdolność a d a p ta c ji m e ch a­

nizm u do dynam icznie rek o n fig u ro w a n y ch system ów w ie ­ loprocesorow ych — aby m ożliw e było d ziała n ie ty lko części system u n a różnych procesorach

® efektyw ność, o k re śla n a stopniem o graniczeń w rozprosze­

n iu system u, um ożliw iający ch sp ra w n ą k o m u n ik a cję m ię­

dzy pro cesam i (poró w n y w aln a z czasem p rze łąc za n ia w y­

w oływ anych p ro ce d u r w językach w ysokiego poziom u)

® p ro ststa , w yznaczona łatw ością użycia o ra z m ożliw ościa­

m i ła tw e j im p lem e n ta cji w ro z p a try w a n y m system ie

© p ro tek cja, u w zg lę d n ia jąc a odporność n a błęd n e działan ie fra g m e n tu system u, bez w p ły w u tego uszkodzenia n a po­

p ra w n e działanie pozostałej części system u.

P o d an e jakościow e w a ru n k i spraw ności d ziała n ia m e ch a­

nizm u k o m u n ik a c ji są tru d n e do ilościowego o k reśle n ia — ty m bard ziej, że pożąd an e cele są w za jem n ie uzależnione.

O PER A C JE PR ZESY ŁA N IA W IADOM OŚCI

W p arz e procesów synchronizow anych z w y k o rzy stan iem m ech an izm u k o m unikacji, je d e n z n ic h je s t procesem n a ­ daw cy (ang. sender), a d ru g i — procesem odbiorcy (ang.

receiver) w iadom ości. P ołączenie m iędzy n a d a w c ą a o d b io r­

cą je st n azy w an e potokiem (ang. pipe), k tó ry p rze k azu je p rze sy łan ą w iadom ość, sp e cy fik u ją c sposób id e n ty fik a c ji n a ­ daw cy i odbiorcy.

W p o dstaw ow ym zbiorze o p era cji re a lizu jąc y ch p rze sy ła­

n ie w iadom ości w y ró żn iam y o peracje:

w y ślij w iadom ość do potoku;

— w y sła n ia (ang. send) w iadom ości do odbiorcy określonego id e n ty fik a to re m potoku, p rzy czym proces w y d a ją c y tę o p era cję je st w strzy m y w a n y do m om entu m ożliw ej re a ­ lizacji o d d a n ia tre śc i w iadom ości w potok

odbierz w iadom ość z potoku;

— o d e b ra n ia (ang. receive) w iadom ości, lokalizo w an ej n a ­ stę p n ie w obiekcie id e n ty fik o w an y m jako „w iadom ość”, od n ad a w cy identyfikow anego p rze z potok, p rzy czym proces w y d a ją c y tę o p era cję je st w strzy m y w a n y do m o­

m e n tu u zy sk an ia w iadom ości z potoku zw róć odpow iedź do potoku;

— zw ro tu (ang. re tu rn , r ip ly ) odpow iedzi przez proces od ­ biorcy do procesu n ad a w cy określonego p rzez p otok oczekuj odpow iedź z potoku;

— o czekiw ania (ang. w ait, a w a it) w sta n ie w strzy m a n y m procesu n ad a w cy w iadom ości n a odpow iedź lokalizow a­

n ą w obiekcie „odpow iedź” od p rocesu odbiorcy id e n ty ­ fikow anego p rze z potok

w y ślij w iadom ość do p o toku z odpow iedzią;

— łączącej cechy o p e ra c ji w yślij i oczekuj.

P o d an e w zestaw ie o p e ra c je w różnych im p lem e n ta cja ch m ogą b y ć zap isy w an e w o d m ien n y ch p ostaciach, zachow u­

ją c sw e zasadnicze cechy. W p ra k ty c e spo ty k am y rów n ież in n e operacje, a w w ielu p rz y p a d k a c h o p era cje p rze k azy ­ w a n ia odpow iedzi nie są realizow ane.

Z ależnie od im p lem e n ta cji w iadom ością id en ty fik o w an ą tu ta j jako „w iadom ość” m oże być zbiór w ielu w arto śc i lu b s tru k tu r a dan y ch je przech o w u jąca, b ęd ą ca rek o rd em d a ­ n ych o sta łe j lu b zm iennej długości i s tru k tu rz e . Z aw ie ra o n a w arto śc i d an y c h in fo rm ac y jn y ch lu b re fe re n c je do obiektów p rze k azy w a n y ch do p rocesu odbiorcy, a niekiedy

— id e n ty fik a to r p rocesu n ad aw cy . W n ie k tó ry ch p rz y p a d ­ kac h w iadom ość może n ie m ieć zaw arto ści i zw ana jest w ted y sy g n ałem (ang. signal). O prócz tego m ożliw a jest in te rp re ta c ja i re o rg a n iz a c ja w iadom ości p rze z potok. W t a ­ kim p rz y p a d k u se k w e n cja w iadom ości w y słan y ch p rz e z n a ­ daw cę m oże sta ć się w iadom ością d la odbiorcy pojedynczą, bez ro zró żn ian ia je j składow ych. W p ra k ty c e istn ieje tu ta j duża dowolność, zależna od p rz y ję te j s tru k tu r y system u za­

rządzającego p rze sy łan iem w iadom ości.

4

U zupełnieniem o p era cji p rz e sy ła n ia w iadom ości m oże być faza czynności czasowego o g ran iczan ia (ang. tim eout) w y ­ k o n y w an ia o p e ra c ji w y sła n ia lu b odbioru w iadom ości. Do­

łączenie do zapisu o p e ra c ji frazy w czasie w y rażen ie n a ­ k ła d a d odatkow y w aru n ek , aby re a liz a c ja o p era cji zakoń­

czyła się p rze d up ły w em p o d an ej w y ra że n iem liczby je d ­ nostek czasu. W przeciw n y m razie o p e ra c ja je st tr a k to w a ­ n a jako p u s ta i proces ją g e n e ru jąc y może d ziałać dalej.

In n y m i słow y fra z a ta tw o rzy k la sę u w aru n k o w a n y c h cza­

sowo o p e ra c ji p rze sy łan ia w iadom ości.

POW IĄ ZA N IE NADAWCY Z ODBIORCĄ

Isto tn y m elem en tem rozró żn iający m poszczególne m e ch a­

nizm y k o m u n ik a cji je s t m eto d a id e n ty fik a c ji procesu od ­ biorcy u n ad aw cy , a procesu n ad a w cy u odbiorcy.

D okonuje się je j p rzez id e n ty fik a c ję potoku. W yróżniam y tu ta j cztery podstaw ow e m etody:

A. B ezpośrednia id e n ty fik a c ja procesów

W procesie n ad a w cy id e n ty fik a to re m potoku je st id e n ty ­ fik a to r procesu odbiorcy, a w procesie odbiorcy — id e n ­ ty fik a to r n ad aw cy . P o w iązan ie to je st sta ty c zn e i e w e n ­ tu a ln a zm ian a liczby w spólnie d ziałający ch procesów w system ie pow oduje konieczność p rze p ro g ram o w a n ia n ie k tó ­ ry ch z nich. W zajem na znajom ość id e n ty fik a to ró w pro ce­

sów elim in u je p o trzeb ę um ieszczania id e n ty fik a to ra n a d a w ­ cy w tre śc i w iadom ości. B ezpośrednie p ow iązanie procesów pokazano schem atycznie n a ry su n k u 1.

procą» N a d ; proces Odb;

wyżhj Wied do Odb; odbierz Wiad 2 Ncd;

R y s , 1. P o w i ą z a n i e p r z e z b e z p o ś r e d n i ą i d e n t y f i k a c j ę p r o c e s ó w

B. B ezpośrednia id e n ty fik a c ja portó w procesów

P o rte m (ang. po rt) procesu je st w yróżniony ob iek t zw iąza­

ny z d an y m procesem i o k re śla ją c y m iejsce w p ro w a d ze n ia lu b w y p ro w a d ze n ia w iadom ości. W yróżniam y w ięc tu ta j odpow iednio p o rty w ejściow e p rocesu oraz p o rty w yjścio­

we, p rzy czym n ie k tó re z nich lu b w szystkie m ogą pełnić obie fu n k cje . K ażdy proces m oże m ieć dow olną liczbę p o r­

tów .

Do p o rtu w yjściow ego p rocesu n ad a w cy m a bezpośredni do­

stęp k ażdy proces odbiorcy, p rzy czym id e n ty fik a to r tego procesu nie je s t zn a n y n ad a w cy . I analogicznie — do p o rtu w ejściow ego p rocesu odbiorcy m a dostęp k ażdy proces n a ­ daw cy, p rzy czym jego id e n ty fik a to r nie je s t znany o d b io r­

cy. W p ra k ty c z n e j rea liz a c ji w y k o rz y sty w an e są p o w iąza­

nia: n a d a w c a — jego p o rt w yjściow y — odbiorca oraz n a ­ d aw c a — p o rt w ejściow y odblorcy-odbiorca. P ow iązanie:

P9f 'A : port;

.

»•'*/

proces N a d j Pf ocefc O d b ;

wyŁly WtoJ do Oda. Oćtjierz V*,J3 2 PoflX;

R y s . 2. P o w i ą z a n i e p r o c e s ó w p r z e z b e z p o ś r e d n i ą i d e n t y f i k a c j ą p o r t ó w p r o c e s ó w a ) u n a d a w c y , b ) u o d b i o r c y

(7)

n a d a w c a — jego p o rt w yjściow — p o rt w ejściow y odbiorcy

— odbiorca je st m ożliw e je d y n ie do zastosow ania p rzy w y ­ k o rzy sta n iu k a n a łu (p. p k t C).

O pisane p o w iąz an ia są statyczne, z ty m że e w e n tu a ln a zm ia­

n a n ie k tó ry c h z procesów pociąga za sobą konieczność p rz e ­ p ro g ra m o w an ia tylko n ie k tó ry ch procesów . S c h em aty p o ­

w ią z a n ia procesów przez p o rty p rz e d sta w ia ry su n e k 2.

C. P ow iązanie precesów przez k an a ł

K an ałem (ang. channel, link) je st w yróżniony ob iek t glo­

b aln y system u procesów pełn iący rolę p o to k u o znanym dla n ad a w cy i odbiorcy id e n ty fik a to rz e . K a n a ły m ogą b y ć n ie ­ zależne od procesów lu b też m ogą być sta ty c zn ie lu b d y n a ­ m icznie p rzy d zielan e o k reślo n y m klasom procesów . Możli­

w e je st też d ynam iczne tw orzenie k a n a łu n a żąd an ie p ro ­ cesu, k tó re m u je st on w ted y dedykow any.

D opuszczenie istn ie n ia w p ro g ra m ie w spółbieżnym n ie za leż­

n ych k an a łó w um ożliw ia p ro stą m o d y fik a cję p ro g ra m u p o ­ przez u su w an ie lu b tw o rzen ie procesów — bez p otrzeby p rze p ro g ram o w y w an ia pozostałych. P ro cesy n ad a w cy i o d ­ biorcy n ie zn a ją w za jem n ie sw oich id e n ty fik ato ró w , a w ięc konieczne m oże być p rze k azy w a n ie w iadom ości id e n ty fi­

k a to ra p rocesu n adaw cy, a w odpow iedzi — id e n ty fik a to ra p rocesu odbiorcy.

D ed y k u jąc k a n a ły procesom , k o rzy sta m y ze sta ty c z n e j de­

k la ra c ji p rzy p isu ją c e j k a n a ł procesow i lu b z o p eracji:

u tw ó rz k a n a ł;

— tw o rzen ie (ang. cre ate ) k a n a łu w d an y m procesie, przydziel k an a ł;

zw róć k an a ł;

— p rzy d z iału (ang. allocate) i zw ro tu (ang. re tu rn , deallo- cate) k a n a łu d la procesu.

S ch em at p o w iąz an ia procesów p rze z k a n a ł p rz e d sta w ia r y ­ su n e k 3.

proces Nad :

g y slij WiotJ do S U rz j

proces O db ; odfrięrz w»od z S k r z ,

P o d an e m etody pow iązan ia procesów są d la m echanizm u ko m u n ik a cji je dnorodne i sym etryczne. W p rak ty c zn y c h za­

stosow aniach sp o ty k a się ich ró żn e odm iany, łączące w so­

bie cechy dw óch lu b w ięcej m etod.

D odatkow ym elem en tem zw iększającym efek ty w n o ść m e­

chanizm ów k o m u n ik a cji procesów je st dopuszczenie w spół­

p rac y z d a n y m p o tokiem w ielu procesów n ad aw có w i o d ­ biorców , a ta k że dopuszczenie do rów noczesnego w y sy ła n ia w iadom ości p rzez w iele potoków oraz oczekiw ania n a w ia ­ dom ość pochodzącą z jednego z w ielu potoków .

P o d an e fo rm y w sp ó łp racy m ożna podzielić n a cz te ry k la ­ sy:

• J e d e n proces — je d en potok.

K ażdy proces może w ysyłać lu b o d b ierać w iadom ość tylk o przez je d en potok, w y k o rz y stu ją c je d n ą z podan y ch w yżej m etod pow iązań.

© W iele procesów — je d e n potok.

W iele procesów n ad a w có w m oże w ysyłać w iadom ość k o rzy ­ s ta ją c z tego sam ego p o toku o ra z w iele procesów o d bior­

ców m oże rów nocześnie oczekiw ać n a w iadom ość z tego sam ego potoku. S ch em at takiego pow iązan ia dla procesów n ad aw có w p rze d sta w ia ry su n ek 5. T a fo rm a w spółpracy nie może istnieć w procesie n ad aw có w d la p ow iązania p ro ­ cesów p rzez p o rty , jeżeli są one u n ic h zlokalizow ane. A n a­

logiczne ograniczenie w y stę p u je d la procesów odbiorców .

IZ. Polok

proces Mod

wyślij w ł do Potoi*;

proces N cdn;

w yślij w x do Potok,

proces Nad ; proces - Cdb ; przydziel K a n , przydziel Kort t w yślij Wiod do Kor , odbierz Wiad z Kan,

zwróć Kon- ZW róć Kan-,

R y s . 3. P o w i ą z a n i e p r o c e s ó w p r z e z k a n a ł

T>. P ow iązanie procesów poprzez sk rzy n k ę pocztow ą S k rz y n k a pocztow a (ang. m ailbox) je st w yróżnionym o b ie k ­ tem g lobalnym d la sy stem u procesów , p ełn iąc y m rolę p o ­ to k u o zn an y m id e n ty fik a to rz e . S k rz y n k i pocztow e są n ie ­ zależne od procesów i w y stę p u ją n iezależnie od istn ie n ia procesów . T y m sam ym dy n am iczn a zm ian a części s tr u k ­ tu ry p o w iąz ań i liczby procesów n ie m a w p ły w u n a pozo­

sta łą część system u. P roces n ad a w cy sk ła d a w iadom ość w skrzynce, z k tó re j o d b ie ra ją proces odbiorcy. P rocesy nie zn a ją w za jem n ie sw oich id e n ty fik ato ró w . W p ew n y ch p rz y ­ p ad k ach , sk rz y n k i pocztow e m ogą b y ć logicznie u to ż sam ia­

ne z k an a ła m i, przy czym ich fizyczna re a liz a c ja je st o d ­ m ienna i w y n ik a z a rc h ite k tu ry sy stem u w ieloprocesow ego.

S ch em at p o w iąz an ia procesów przez sk rz y n k i o b ra z u je r y ­ su n ek 4.

S k r z ; S k rzyn k o Pocztowo;

R y s . 5. W ie lu n a d a w c ó w — w s p ó l n y p o t o k

© J e d e n proces — w iele potoków .

K ażdy proces m oże w ysyłać tę sam ą w iadom ość przez w iele potoków jednocześnie lu b oczekiw ać n a w iadom ość z je d ­ nego z w ielu potoków . W yróżniony zbiór potoków o k re śli­

m y tu ta j jako:

z b ió r-p o to k ó w = set of potok;

P roces n ad a w cy p rześle w iadom ość p rza z pierw szy z poto­

ków , k tó ry to um ożliw ia, a proces odbiorcy odbierze w ia ­ dom ość z pierw szego potoku, k tó ry ją dostarczy. K olejność w y b o ru potoku, spełniającego d an y w a ru n e k , je st z reguły nieo k reślo n a (jest zależna od im p le m e n ta c ji system u). Sche­

m a t takiego pow iązan ia d la procesu odbiorcy p rze d sta w ia ry su n e k 6.

proces td b ;

o d b i e r z Wiod ? P o to k i , , P o to k N ; R y s . 6. J e d e n p ro c e * o d b i o r c y — w i e l e p o t o k ó w

© W iele procesów — w iele potoków .

K lasa ta je s t złożeniem dw óch poprzed n ich k la s i um ożli­

w ia w spółpracę w ielu procesów z jed n y m lu b z k ilkom a p o to k am i ze zbioru potoków . S ch em at takiego p ow iązania

(8)

p roces Odb*; p rccęs OdbM;

cdtxcr2 w z Rjłok i....,P o to kN . obierz W z Potoki. . . .,F&tcfcN, R y s . 7. W ie le p r o c e s ó w o d b i o r c y — w i e l e p o t o k ó w

BU FOR O W A N IE W IADOM OŚCI

P ro ces n ad a w c y rea liz u ją c y o p era cję w y ślij je st w strz y ­ m yw any, jeżeli w iadom ość nie m oże być w ysłan a. A nalo­

gicznie proces odbiorcy je st w strzy m y w a n y oczekując na w iadom ość. T ak ie w strzy m y w a n ie procesów zm niejsza e fe k ­ tyw ność w spółbieżności, sp ro w ad za ją c ją w w a ru n k a c h ek s­

tre m a ln y c h do w y k o n y w an ia obu procesów jako w spółpro- gram ów . Dla zw iększenia efektyw ności, do potoku w iążącego proces n a d a w c y z odbiorcą w p ro w ad za się obszar buforow y p rzech o w u jąc y nie o d e b ra n e w iadom ości. B u fo r te n p rz y ­ spiesza działan ie procesu n ad a w cy o ra z dostarcza odbiorcy w iadom ości, zm n iejszając w za jem n ą ich zależność.

W istn iejący c h m echanizm ach k o m u n ik a cji są stosow ane n a s tę p u ją c e rozw iązania:

— bez b u fo ro w an ia w iadom ości

— z bu fo ro w an iem w iadom ości w procesie nad aw cy

— z bu fo ro w an iem w iadom ości w procesie odbiorcy

— z b u forow aniem w iadom ości w potoku.

O p iera jąc się n a opisie m etod pow iązań procesów, om ó­

w ię ro zw iązan ia buforow ania, z u w zględnieniem zw rotnego p rz e sy ła n ia odpow iedzi. R ealizacja o p era cji p rze sy łan ia w ia ­ dom ości je st m ożliw a przy istn ien iu b u forow ania. W tym p rzy p a d k u każda w iadom ość, n a w e t przy oczekującym n a n ią o d b i o r c y , je st w iązan a z buforem , k tó ry je st rez erw o ­ w an y po p o b ran iu w iadom ości n a p rze chow yw anie odpow ie­

dzi. B u fo r te n je st z w a ln ia n y po o d e b ra n iu odpow iedzi p rzez proces nadaw cy. S tąd też każdy ta k i elem e n t b u fo ra z n a j­

d u je się w sta n ac h [1] pokazanych n a ry su n k u 8.

j*r66

proccss N adaw ca;

w y ślij W iad do O dbiorca;

odbierz Odp z O dbiorca;

process O dbiorca;

odbierz W iad z N adaw ca;

w y ślij O dp do N adaw ca;

W pow iązaniu bezpośrednim ty p u B, p rzez p o rty , b u fo ­ ro w a n ie może być je d y n ie zw iązane z p o rta m i procesu.

U dzielanie odpow iedzi p rzy lo k alizacji p o rtó w w procesie odbiorcy (nadaw ca je st w ted y nieznany) w y m ag a w yko­

rz y sta n ia elem e n tu bufora, zgodnie z po d an y m w yżej opi­

sem, lu b też u zy sk an ia id e n ty fik a to ra nad aw cy z treści p rz e sła n e j w iadom ości.

W p o w iązan iu p o śred n im ty p u C, id e n ty fik a to r nad aw cy m oże być u zyskany z w iadom ości, a d la p rz e sła n ia odpow ie­

dzi k a n a ł m usi być d w u k ieru n k o w y (m usi to być jego ce­

ch a fizyczna). Istn ie n ie b u fo ra (co n a jm n ie j jedn o elem en to - wego) w kan ale, p rz y globalnym p rzy d ziale k an a łó w pro ce­

som, u tożsam ia logicznie to p ow iązanie z p ow iązaniem przez sk rzy n k i pocztow e.

W pow iązaniu po śred n im ty p u D, z w y k o rz y sta n iem sk rzy ­ nek, m oże istnieć tylk o bufo ro w an ie globalne, gdzie ele­

m e n ty b u fo ra są sk rzy n k a m i pocztow ym i.

W p ra k ty c z n e j rea liza cji należy p am iętać , że kopiow anie w iadom ości do b u fo ra z p rocesu n ad aw cy , a n astęp n ie z b u fo ra do daw no ju ż oczekującego procesu odbiorcy, jest s tr a tą czasu. Istn ie je w ięc tu ta j pole do o ptym alizacji tego postępow ania. U w zg lęd n iając opisane w yżej zasady, m ożna w prow adzić tu d efin icję synchronicznego i asy n ch ro n iczn e­

go m echanizm u kom unikacji.

S ynchronicznym m echanizm em k o m u n ik a cji je st p rze sy ­ ła n ie w iadom ości bez u d ziela n ia odpow iedzi i bez b u fo ro ­ w a n ia w p otoku lu b przesy łan ie z u dzielaniem odpow iedzi i e w e n tu aln y m buforow aniem . M echanizm synchroniczny zapew nia, że p a r a procesów (nadaw ca-odbiorca) będzie w y ­ konyw ać w ty m sam y m czasie o p era cje logiczne sprzężone ze sobą. A synchronicznym m echanizm em k o m u n ik a c ji je st przesy łan ie w iadom ości bez u d ziela n ia odpow iedzi z w yko­

rzy sta n ie m b u fo ro w an ia w potoku. W tym p rz y p a d k u ope­

r a c ja w y sła n ia w iadom ości może być zrealizo w an a znacznie w cześniej od m om entu re a liz a c ji o p era cji o d e b ra n ia w ia d o ­ mości.

O PIS M ECHANIZM U K O M U N IK A C JI

R óżnorodne m echanizm y k o m u n ik a cji m a ją k ilk a cech w spólnych, o k reśla ją cy c h podstaw ow e zasady ich fu n k c jo ­ n o w an ia . C echy te m ogą być zg rupow ane w n a stęp u jący c h k la sac h o pisujących d an y m echanizm :

a) s y m e t r y c z n o ś ć _ k o m u n i k a c j i b) i d e n t y f i k a c j a p o t o k u

c) w i a ś c i c i c l _ p o t o k u U) l i c z b a _ p o t o k ó w e) l i c z b a _ o b s i u g u j ą c y c h

f) o g r a n i c z e n i e _ c z a s u g) b u f o r o w a n i c _ w i a d o m o ś c i

li) r o d z a j _ o p e r a c j i i) r o d z a j _ w i a d o m o ś c i

j) r o z d z i e l c z o ś ć _ w l a d o m o ś c i k ) p r z y d z i a ł _ p o t o k u

( t a k , n i c ) ;

( i d _ p r o c e s u , i d _ p r o c c s u . i d _ p o r - t u , i d _ p o r t u , i d _ k a n a l u , i d _ k a n a - ł u . i d _ p o r t u , i d _ s k r z y n k i ) ; ( b r a k , p r o c e s , p r o g r a m ) ; ( p o j e d y n c z a , w i e l o k r o t n a ) ; ( p o j e d y n c z y , w ie lu ) ; ( b r a k , m o ż l i w y , z a w s z e ) ; ( b r a k , p o j e d y n c z e , w i e l o k r o t ­ n e ) ;

( J e d n o k i e r u n k o w a , z w r o t n a ) ; ( d a n e , w s k a ż n i k _ n a _ d a n e , d a - n e _ w s k a ż n i k ) ;

( b r a k , m o ż e _ i s t n i e ć , i s t n i e j e ) ; ( s t a t y c z n y , d y n a m i c z n y ) ;

R y s . 8. G r a f z m i a n s t a n ó w b u f o r a

W pow iązan iu bezpośrednim ty p u A, o p era cje ze zw ra­

caniem odpow iedzi n ie m uszą istnieć, gdyż zn a ją c id e n ty ­ fik a to r n a d a w c y w p rocesie odbiorcy m ożem y odpow iedź p rzesłać jako now ą w iadom ość.

S ym etryczność m echanizm u k o m u n ik a cji o k reśla w za jem ­ n ą jednorodność pow iązan ia procesu nad aw cy i odbiorcy;

może być w w y p ad k u jej b ra k u rozróżniona cecham i o k re ­ ślonym i w p u n k ta c h b—g. Id e n ty fik a c ja potoku specy fik u je ro d za j pow iązan ia opisany jed n y m z w a ria n tó w pow iązań ty p u A, B, C, D. C echa w łaścic iel-p o to k u p rec y zu je o b ie k t zarząd zający potokiem , a w ięc — n a p rzy k ła d — w łaścicie­

lem k a n a łu może być system lu b je d e n z procesów , n a to ­ m ia st sk rzy n k i pocztow ej — ty lko system . W w y p a d k u bez­

p o śred n ie j id e n ty fik a c ji potoku przez id e n ty fik a to r procesu, nie m ożna w skazać jej w łaściciela. Liczba potoków o raz liczba o bsługujących (ang. se rv e r) opisuje je d n ą z czterech w ym ienionych poprzednio klas — re la c ji w za jem n ej zbio­

r u procesów ze zbiorem potoków . O graniczenie czasowe (ang. tim eout) p rec y zu je m ożliw ość w y k o rz y sta n ia w a ru n ­ kow ych o p era cji p rze sy łan ia w iadom ości. A nalogicznie, b u ­ forow anie w iadom ości rozró żn ia m echanizm synchroniczny od asynchronicznego — p rz y u w zg lę d n ia n iu cechy ro d z a j-

—operacji. O p erac ja z w ro tn a oznacza u dzielenie odpow iedzi przez proces odbiorcy. R odzaj w iadom ości i je j rozdzielczość p rec y zu je postać p rze sy łan e j w iadom ości. O sta tn ia cecha — p rzydział potoku sp ecy fik u je dodatkow o ro d zaj pow iązan ia m iędzy procesam i.

P o d an y zestaw cech nie w y cz erp u je w szystkich m ożliw oś­

ci w y stę p u jąc y ch w im p lem en to w an y ch m ech an izm ach ko­

m u n ik a cji. N ależy też p a m ię ta ć o w zajem n y ch u zależn ie­

n iach m iędzy cecham i, bow iem n ie k ażd a ich k o m b in a cja je st logicznie p o p raw n a.

Cytaty

Powiązane dokumenty

W ciągu ostatnich m iesięcy sytuacja w Polsce zmieniła się tak dalece, że realne stają się nawet takie sfery działań, których wcześniej nie sposób

W ciągu ostatnich m iesięcy sytuacja w Polsce zmieniła się tak dalece, że realne stają się naw et takie sfery działań, których wcześniej nie sposób

Środowisko inform atyków, do którego przede w szystkim adresowana jest INFORMATYKA, mimo że form alnie dość jednolite, sprawia wrażenie

Środowisko inform atyków, do którego przede w szystkim adresowana jest INFORMATYKA, mimo że form alnie dość jednolite, sprawia w rażenie zde­..

cić szczególną uw agę na poprawność stylistyczną i term inologiczną, unikać skrótów, rzadko stosow a­. nych w yrażeń obcych i żargonu fachowego;

Toteż m echanizm y, ja k ie uzyskuje użytkow nik PROLOGU, różnią się isto tn ie od m echanizm ów FORTRANOW YCH czy PASCALOW YCH.. taił) reguły, poprzedzonego

zacji rastrowej: Następny artykuł przyniesie om ówienie 17 aktualnych modeli tych system ów (gł. Dwa dalsze dotyczyć będą obecnych tendencji w ich

rzystanych możliwościach ośrodka oraz o takich jego niedom aganiach, które dadzą się, z pomocą innych ośrodków, w yelim