j- w ? ' r* ! , -1 -i;
¡*1 Ę: ■ -> A.' : ' • ■ V • ‘ > '
P re k u rs o rz y in fo rm a ty k i
P rz e rw a n ia
P ro g n o za r y n k u
n fo rtn a ty k a
Nr 11
Miesięcznik Rok XIX
Listopad 1984
Organ K om itetu Inform atyki MNSzWiT oraz Kom itetu N aukowo-Technicznego NOT ds. Inform atyki
K O L E G IU M R E D A K C Y JN E :
M gr in ż . Z b ig n ie 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 re s a J A B Ł O Ń S K A ( s e k r e ta r z r e d a k c ji) , W ła d y sła w K L E P A C Z (z a stę p c a r e d a k to r a n a cz e ln e g o ), p ro f. d r h a b . L e o n Ł U K A SZ E W IC Z ( r e d a k to r n a c z e ln y ), m g r in ż.
A n d rz e j J . P IO T R O W S K I, d r i n i . J a n u sz Z A L E W S K I
S T A L E W S P Ó Ł P R A C U JĄ :
M gr in ż . W ito ld A BR A M O W IC Z (S z w a j
c a r ia ) , m g r A d a m B. E M P A C H E R , m g r K a ta r z y n a IS A A K , d r J a c e k O W CZA R- CZY K , m g r M a re k SO B C ZY 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 re s a W ILC ZE K
PR Z E W O D N IC Z Ą C Y RA D Y PR O G R A M O W E J:
P ro f . d r h a b . T a d e u sz P E C H E
M a te ria łó w n ic z a m ó w io n y c h r e d a k c ja n ie z w ra c a
R e d a k c ja : 00-041 W a rsz a w a , u l. J a s n a 14716, p o k . 243 1 244, te l. 27-71-40 lu b 26-82-61 w . 184
Z a k ł. G r a f. „ T a m k a ” . Z a m . 2281. O b j.
4,0 a r k . d r u k . N a k ła d 4230 eg z. T-46.
IN D E K S 36124
C e n a e g z e m p la rz a zł 75,—
P r e n u m e r a t a ro c z n a zł 900,—
3 WYDAWNICTWO R
SIGMA
00-950 Warszawa skrytka pocztowa 1004
ul. Biała 4
1 1 1984
W NUMERZE: Strona
P re k u rso rz y w spółczesnej in fo rm aty k i
Em anuel Czyżo, Teresa L a tu sek 1
P rz e rw a n ia — a lte rn a ty w n y m echanizm k o m u n ik acji m iędzy procesam i w spółbieżnym i
Uuie Peterm ann, A n d r z e j Szałas 4
N arzędzia inży n ierii opro g ram o w an ia (2)
R o m a n Ż ela zn y 7
C H IL L — język p ro g ra m o w an ia system ów k o m u ta cy jn y ch (3).
In s tru k c je i s tru k tu ry danych
W ła d ysła w Udrycki, W iesław Wilczijński 11
mikroKLAN 13
— M IN I-M O N ITO R d la 8080 i Z80
— K o m p u te r osobisty AC 805
— O rg an izacja pam ięci w ew n ętrz n ej m ik ro k o m p u te ra T I 99/4A
— S tero w an ie n ap ę d am i dysków elastycznych (2)
— Co? Gdzie?
— A K AD EM IA m ikroK L A N U (1)
SAMOTESTY 23
— II/A . O rganizacja i fu n k cjo n o w an ie system ów k o m puterow ych
ZE ŚWIATA 24
— P orozum ienia D IG IT A L RESEARCH
— P rognoza dla in fo rm a ty k i — do końca w ieku
— W alor n ow ej lito g ra fii RECENZJE
— Sieci łączności w te lein fo rm a ty ce 29
TERMINOLOGIA 30
— U w agi o polskiej term in o lo g ii CH ILLA
POGLĄDY III
okł.
— Z ta rg ó w do salonu — M a rek So b czyk
W N A JB L IŻ S Z Y C H N U M ER A C H :
• R a fa ł Z ie le n ie w sk i o p r o b le m a c h p r o g ra m o w a n ia m ik ro p ro c e s o ró w
• W ie sła w W ilc z y ń sk i o ję z y k u P L Z
• R y s z a rd R y b u s o p r o g ra m a c h u ru c h o m ie n io w y c h d la m ik ro p ro c e s o ró w
• R y sz a rd K o tt i K rz y sz to f S zw ed o u n iw e rs a ln y c h a s e m b le ra c h d la m ik ro k o m p u te ró w
• A r tu r K rę p s k l o P A S C A L U M T +
• Z b ig n ie w B a n a s ik o n o rm ie IE E E — a r y t m e t y k a z m ie n n o p rz e c in k o w a
• R y s z a rd K o tt o B A S IC U d la m ik ro k o m p u te r ó w
• W a ld e m a r K a p u ś c ik o p r o je k to w a n iu sie c io w y c h b a z d a n y c h
• K o n ra d J a b ło ń s k i o ję z y k u B C P L
• W a c ła w Isz k o w s k i o m e c h a n iz m a c h k o m u n ik a c ji
• M a re k D ziedzic, K rz y s z to f P c r y c z 1 J e r z y W iliń sk i o e m u la to rz e E6RM -E
• A n d rz e j I . L itw in iu k o k o m p ila to rz e L O G L A N U d la M ERY 400
• Z b ig n ie w K ie rz k o w s k l ł J a c e k M a tu sz y ń s k i o w s p ó łb ie ż n e j a k t u a l i z a c j i b a z y d a n y c h
P re k u rs o rz y współczesnej
Inform atyka jest bardzo młodą dziedziną wiedzy. Histo
ria jej rozwoju przypada w łaściw ie na okres ostatniego trzydziestolecia. A le dawniejsze prace w ielu uczonych, głów nie m atem atyków, m iały ogromny w pływ na rozwój współczesnych metod obliczeniowych. Zastosowanie ich o- siągnięć przyspieszyło w znacznym stopniu autom atyzację przetwarzania informacji. W związku z tym m ożemy icli uznać w pewnym sensie, za prekursorów współczesnej in formatyki.
*
P oczątki sw oiście p ojm ow anej a u to m aty za cji (rozum ow a
n ia logicznego sięg ają sta ro ż y tn e j G recji. Z w iązane są one głów nie z im ieniem w ielkiego m yśliciela staro ży tn o ści — A ry sto telesa (384—322 p.n.Ch.). D o , naszych czasów zacho
w ały się pew ne u tw o ry o c h a ra k te rz e lite ra c k im oraz ob
szerny zbiór pism filozoficznych i naukow ych, w ydany pod nazw ę „C orpus A risto te lic u m ” n ajp ra w d o p o d o b n iej jego a u
to rstw a [10].
Z naszego p u n k tu w idzenia n ajb a rd z ie j in te re su ją c e są osiągnięcia A ry sto telesa w dziedzinie logiki. P ra c e jego moż-*
n a uznać za p oczątki form alizacji, a zatem i au to m aty za cji rozu m o w an ia logicznego. On pierw szy doszedł do w niosku, że rozum ow anie logiczne m ożna opisyw ać i badać w sp o sób czysto formalny-, tzn. b a d a ją c fo rm ę zdań, a p o m ijają c sens w chodzących w te zdania słów. Oddzieliwszy logikę od filozofii, ja k o narzędzie m etodologiczne w szystkich nau k , stw orzył on pierw szy fra g m e n t logiki fo rm a ln e j. U kazał jej zagad n ien ia i m etody, w yróżnił zasadę sprzeczności oraz zasadę w yłączonego środka. Z budow ał teo rię w nioskow a
n ia bezpośredniego, sylogistykę zdań kategorycznych i teorię definicji. W prow adził rów n ież p odstaw ow ą term inologię lo giki. P ierw szy zastosow ał zm ienne nazw ow e i m etodę f o r
m alnego dow odzenia. P o d d ał analizie te ch n ik ę prow adzenia d y sk u sji i d a ł pierw szy przegląd błędów arg u m e n tac ji. S y- lo g isty k a A ry sto telesa bez zasadniczych zm ian p rz e trw a ła do końca X IX w ieku i sta ła się częścią składow ą w spół
czesnej logiki fo rm a ln e j [18].
C e n tra ln ą postacią g ru p y m a tem aty k ó w i astronom ów A ra b ii IX w ieku był A bu J a fa r M uham m ad ib n M usa al-K h w ariz m i (A lchw arizm i). S w oje m iejsce w h isto rii m a te m a ty k i zaw dzięcza on głów nie dw om rozpraw om m a te m atycznym . A ry tm ety czn y tr a k ta t A lchw arizm iego — „O liczbach i działaniach n a n ic h ”, był pierw szym ara b sk im dziełem , w k tó ry m w yłożony został dziesiętny system po
zycyjny i o p a rte n a nim d ziałan ia ary tm ety czn e. Co p ra w da dziesiętny system pozycyjny znany był ju ż od d aw n a (IV w ji.e.) H indusom ; posługiw ano się w nim dziew ięcio
m a cy fram i i p u sty m m iejscem , k tó re dopiero znacznie pźnicj zaczęto oznaczać zerem [8], Je d n a k dopiero ro zp ro pagow anie lego sy stem u przez Arabó>v, spraw iło , że sta ł się on podstaw ow ym system em rac h o w a n ia uży w an y m pow szechnie n a całym św iecie. Nic w ięc dziwnego, że cyfry 0, 1, 2.... 9 n azyw ane są cy fram i ara b sk im i. P rzyznać też trz e b a / ż e stało się ta k pom im o tego, że początkow o m ów iło się w y ra źn ie o „now ej indyjskiej sztuce ra c h o w a n ia ” i n a w e t w tłum aczeniu łaciń sk im dzieł A lchw arizm iego (w. X III) używ ano jeszcze te rm in u — de n u m e ro Indorium .
W d ru g im tra k ta c ie zaty tu ło w a n y m — „K itab a l-d ja b r w a l-m u k a b a la ”, A lchw arizm i podaje a ry tm ety c zn e i geom e
try cz n e m etody rozw iązyw ania ró w n a ń pierw szego i d ru giego stopnia w y p ro w a d za jąc uzup ełn ien ia (likw idacja w y razów u je m n y ch przez d odanie do obu stro n w yrazów przeciw nych) i w y ró w n a n ie (re d u k cja w yrazów podobnych [7].
/
inform atyki
Z achow ało się, w fo rm ie częściowo zm odyfikow anej, pięć jego dzieł: o ary tm ety c e, algebrze, astronom ii, geo
g rafii i k alen d arzu . W yw arły one ogrom ny w pływ n a d a l
szy rozw ój m a tem aty k i, a w iele ich fra g m en tó w weszło do innych prac. Uczyły się- n a nich d ziesiątki pokoleń, bow iem A lchw arizm i zeb rał w n ich w szystko, co m iało w ów czas w arto ść zarów no dla uczonych, ja k i d la praktyków '. P rz e p ro w a d za jąc obliczenia w system ie dziesiętnym opracow ał tablice astronom iczne. Od jego nazw isk a w yw odzi się t e r m in „ a lg o ry tm ”, a z ty tu łu drugiego tr a k ta tu w ziął sw ój początek te rm in „a lg e b ra ”.
W 1550 ro k u u rodził się J o h n N apier (Jan N eper), b aro n szkocki znany z o d k ry cia logarytm ów . Jego- dziełem je st urządzenie (zbudow ane ze sp ecjalnych sztabek), zw ane „ la sk ą N ep e ra” lub „kostkam i N e p e ra ”, służące do w y k o n y w an ia łatw ego m nożenia i dzielenia n a liczbach w ielocy- frow ych bez znajom ości tabliczki m nożenia. P om ysł sw ych liczydeł o p arł N apier n a hin d u sk im sposobie m nożenia, roz
pow szechnionym w E uropie pod nazw ą „gelosia” (czyli z a zdrość — od żaluzji, k tó re p rzy p o m in a sw ym ksz tałtem k r a ta uży w an a w ty m m nożeniu, zw anych „zazd ro stk a- m i”). P rzy rząd ten , m im o swej p ro sto ty i taniości, nie z n a lazł je d n a k większego zastosow ania [6].
B ardzo w ygodna i szeroko obecnie stosow ana n o ta cja u ła m k ó w za pom ocą k ro p k i dziesiętnej, to ta k że jego pom ysł.
N ap ie r ułożył pierw sze tablice logarytm iczne — „M iri- fici lo g a rith m o ru m canonis d escrip tio ”. T ablice lo g a ry t
m iczne N ap ie ra nie były ułożone zoyt zręcznie, je d n a k — m odyfikow ane przez innych uczonych — u ła tw iały w zn a cznym stopniu przep ro w ad zan ie żm u d n y ch rac h u n k ó w w żywiołowo ro zw ija jąc ej się astro n o m ii [7J.
*
W ilhelm S ch ick ard (1592—1635), pro feso r języków b ib lij
nych, m a tem aty k i, astro n o m ii i geodezji w T ybindze, w y n alaz ł w 1623 ro k u pierw szą m aszynę do d o d aw a n ia i o d ej
m ow ania, w k tó re j było w y k o n y w an e p rzeniesienie cyfr dziesiętnych przez sześć m iejsc. W ykonyw ała ona rów nież m nożenie i dzielenie za pom ocą tabliczk i m nożenia. M aszy
n a ta zapew ne nieźle d ziałała, skoro je d en z k o n stru o w a n ych egzem plarzy przeznaczony był dla K ep le ra [8],
*
J e d n a k p ierw szą p raw d ziw ą m aszynę do liczenia w y n a lazł F ra n cu z B łażej P asc al [16]. B ardzo w cześnie z a in te re sow ał się on p ro b lem am i m a tem aty c zn y m i i ju ż w 1639 r o k u (m ając 16 lat) n ap isał tr a k t a t o przecięciach stożkow ych.
W 1612 ro k u za p rezen to w ał sk o n stru o w an ą w łasnoręcznie m aszynę do sum ow ania, o p a rtą n a zasadzie obrotow ych kół zębatych. Liczby były p rze d staw io n e za pom ocą w ie l
kości kątow ych. Z rozw iązań p rzy ję ty ch przez P asc ala n a podk reślen ie zasługuje m ożliw ość autom atycznego p rze n ie
sien ia dziesiątkow ego i w y k o n y w an ie odejm o w an ia przez odw rotny o brót tarczy liczącej. N ato m iast m nożenie s p ro w adzało się jeszcze do w ielokrotnego d odaw ania. M aszyna ta b y ła m aszyną jednookresow ą, tzn. n a s ta w ia n ie cyfry i otrzy m y w an ie w y n ik u realizo w an e było w ty m sam ym cyklu pracy. P rz y użyciu tego su m a to ra, d odaw anie dw óch liczb sprow adzało się do sum o w an ia cyfry z cyfrą. Z te j p rz y czyny n az y w an y je st on su m a to rem szeregow ym {15]. P a scal uzn aw an y je st za w spółtw órcę (w raz z P io trem F e r- m atem ) m atem aty c zn e j teo rii p raw dopodobieństw a, zapo
czątkow anej rozw iązyw aniem problem ów dotyczących gier hazardow ych. Jego tr a k ta t o zn an y m „ tró jk ącie a ry tm e tycznym ” u tw orzonym przez w spółczynniki d w um ianow e został ogłoszony ju ż po jego śm ierci, w ro k u 1665.
1
M aszynę sk o n stru o w an ą przez P asc ala udoskonalił w znacznym stopniu niem iecki uczony G otfryd W ilhelm “L e i
bniz [8]. P asc al zm echanizow ał proces dodaw an ia, n a to m ia st L eibniz uczynił to z procesem m nożenia. O pracow ał on (ok. .1647 roku) m odel a ry tm o m e tru zw anego su m ato rem rów noległym . K o n stru k c ja m odelu p rze w id y w a ła w yk o n y w an ie czterech działań arytm etycznych. A ry tm o m e tr był m aszyną dw uokresow ą, tzn. w je d n y m cyklu n astaw ia n o li- ' czbę, n a to m ia st w d ru g im — za pom ocą ru ch u k o rb k ą —
n asta w io n e cyfry były w p ro w ad zan e do licznika.
L eibniz sk o n stru o w ał ta k i aso rty m e n t w 1694 ro k u . M a
szyna ta m iała ru ch o m ą k a re tk ę i u staw io n y n a stałe m no
żnik, P o d staw o w ą ro lę spełniało w niej urządzenie sk ła d a jące się z dw óch k ó ł zębatych. W iększe, przypom inające schodkow y w alec, zaw ierało dziew ięć „zębów -schodków ” różnej długości. Długość najdłuższego „zęba” odpow iadała cyfrze 9, długość następ n eg o — cyfrze 8, itd. M niejsze kolo zębate, m a jąc e dziew ięć zębów, w zależności od pozycji zaczepiało o odpow iedni ząb n a w alcu. T e d w a k o la u m ie szczone były n a rów noległych ośkach, przy czym m niejsze koło m ogło być p rze su w a n e w zdłuż ośki.
L eibniz zam ierzał rów nież sk o n stru o w ać m aszynę, za po
m ocą k tó rej m ożna by było obliczać p ie rw ia stk i, ale po
m ysłu tego n ie zrealizow ał. W X V II w ieku zarów no a r y t
m o m e tr L eibniza, ja k i udoskonalone przez jego następców m aszyny tra k to w a n o ja k o sw ego ro d za ju ciekaw ostki, nie używ ano ich do celów p raktycznych. P ow odem tego były zarów no w ysokie koszty w y tw arza n ia, ja k i sp o ra jeszcze zaw odność tych urządzeń.
L eibnizow i zaw dzięczam y ta k że ogłoszenie zasad ra c h u n ku różniczkow ego i całkow ego, o pracow anie reg u ły całko
w an ia fu n k c ji oraz p odanie m etody przybliżonego ca łk o w a
n ia graficznego.
W ielkim zam ierzeniem L eibniza było stw orzenie u n iw e r
salnego ję zy k a sym bolicznego, początkow o do opisyw ania logiki, a n a s tę p n ie — całej filozofii. Z am ysł te n zrodził się zapew ne z w nik liw ej analizy ów czesnej m a te m a ty k i, gdzie zd an iem L eibniza ro zu m o w a n ia p rz y b ra ły postać ra c h u n ków , w sensie p rz e k szta łc an ia napisów , opero w an ia sy m bolam i. A poniew aż języ k i n a tu ra ln e nie m ogą być tu ta j użyte ze w zględu n a w y stę p u jąc e w nich w ieloznacznoś
ci, należy zatem stw orzyć specjalny język fo rm a ln y , u m o żliw iający p recyzyjne ro zu m o w an ia — ta k , aby w p rzy p adku p o w sta n ia w śród filozofów różnicy zdań m ożna było ów sp ó r w yrazić w ty m języ k u i — po p rzeprow adzeniu odpow iednich rac h u n k ó w — ro zstrzygnąć o ¡prawdzie. L ei
bniz zapew niał, że z pom ocą k ilk u „in telig en tn y ch lu d z i”
je s t w sta n ie zbudow ać ta k i ra c h u n e k w ciągu p a ru lat.
Spośród w ielu jego pom ysłów n a uw agę zasłu g u je jeszcze system dw ójkow y, którego był tw ó rcą i w k tó ry m p rz e pro w ad zał w iele rac h u n k ó w , uży w ając tylk o sym bolu „nic”, czyli 0, i cyfry 1 — d la za p isa n ia każdej liczby.
S k o n stru o w a n ie m ach in y liczącej, d ążenie do stw orzenia form alnego ję zy k a dla opisu istniejącego sta n u w iedzy, a ta k ż e in n e pom ysły dotyczące au to m aty zacji, w ty m np.
p rzekonanie, iż „nie ulega n a jm n ie jsze j w ątpliw ości, że ja kiś człow iek mógłby sk o n stru o w ać m aszynę, k tó ra byłaby zdolna przechadzać, się ja k iś czas po m ieście i skręcać w łaśn ie n a rogach u lic ” [5], w sw oim czasie pozw oliły N.
W ienerow i u z n a ć ' L eibniza p a tro n e m cybernetyki.
*
W 1728 ro k u F alck o n w y n ala zł w a rsz ta t tk a ck i, w k tó ry m posługiw ano się k a rta m i d ziu rk o w a n y m i w postaci d rew n ia n ej p ły ty z system em w yw ierconych otw orów . A ju ż w kilk ad ziesiąt la t później (1801) Jo sep h Ja c q u a rd z L yonu w y n ala zł autom atyczny w a rsz ta t tk a ck i, w k tó ry m zastosow ał zasadę p rze d staw ia n ia in fo rm ac ji przez rozm ie- szczenie otw orów w k arcie p apierow ej. Z a pom ocą ty c h otw orów stero w an o zm ian ą kolorów przędzy przy p ro d u k cji w ielo b arw n ej tk a n in y . P ow szechnie u w a ż a się, że zastoso
w an a tu k a r ta p ap iero w a sta ła się pierw ow zorem u ży w a
n y ch potem pow szechnie k a r t dziu rk o w an y ch [8].
*
Do g ro n a p rek u rso ró w in fo rm a ty k i w łączym y ta k że p o l
skiego k o n stru k to ra , pochodzenia żydow skiego — A b ra h a
m a S te rn a z H rubieszow a [20]. Ju ż od najm ło d szy ch la t in te re so w ał się m ech an ik ą, rodzice oddali go w ięc do te rm i
n u u jedynego w ty m m iasteczku zegarm istrza, gdyż na ed u k a cję szkolną nie m ieli pieniędzy. U zdolnienia i zm ysł k o n s tru k to rs k i dość szybko, przyniosły m u p o pularność w okolicy. P ra ca m i m łodego m istrz a za in te re so w ał się ks. S ta n isław Staszic, podczas sw ej bytności w H rubieszow ie. Od
tą d S te rn ro zw ija ł swój ta le n t pod opiekuńczym okiem ks.
Staszica. M ając trzydzieści la t praco w ity m ech an ik prze
niósł się w ra z z ro dziną do W arszaw y, gdzie od podstaw rozpoczął n a w ła sn ą ręk ę edukację, n a d ra b ia ją c m inione lata.
W styczniu 1813 S te rn zrefero w ał, n a posiedzeniu T ow a
rzy stw a P rz y jac ió ł N auk, zasady d ziałan ia sk o n stru o w an e j przez siebie m aszyny cyfrow ej, w ykon u jącej cztery pod
staw ow e d ziała n ia ary tm ety c zn e . B y ła to p ro sta w użyciu m aszy n a w y k o n an a je d n a k z n ie trw a ły c h m a teria łó w , s k u t
kiem czego szybko się psuła, a biedny w y n alazca n ie m iał fu n d u szy n a solidniejszą k o n stru k cję. W ciąż je d n ak , w m ia rę m ożliwości, p rac o w a ł n a d je j ulepszeniem . Jego m aszy
n a um ożliw iała także w yciąganie p ie rw ia stk ó w oraz obli
czanie ułam ków , lecz w p ra k ty c e nie znalazła zastosow ania.
K a rie rę zro b iła dopiero w 1874 ro k u , kiedy to szw edzki in ży n ier W. O dhner, z a tru d n io n y w W ytw órni P apierów W artościow ych w P ete rsb u rg u , o pracow ał p ro je k t m aszyny w zorow anej n a m aszynie S te rn a . T yp tej m aszyny p rzyjął się i p odjęto se ry jn ą p ro d u k cję. N a zasadach lej k o n stru k cji o p a rta je s t zresztą budow a używ anych do dn ia dzisiej
szego arytm o m etró w .
*
M niej w ięcej w ty m sam ym czasie d ziałał znakom ity m a te m a ty k angielski C h arles B abbage (1790—1871). W krót
ce po skończeniu studiów , dzięki licznym rozp raw o m n au k o w ym , w łączony został — m im o dość m łodego w iek u — do g ro n a an gielskich uczonych. Z ajm o w ał się g eom etrią, m ag
nety zm em i te o rią gier h azardow ych, ale n a jb a rd z ie j po- . ch łan iały go p race k o n stru k c y jn e [11].
W 1812 ro k u op raco w ał koncepcję „m achiny różnicow ej”, przeznaczonej do obliczania i d ru k o w a n ia ta b lic m a tem a
tycznych. B udow a te j m achiny została ukończona po dzie
sięciu la tac h . Zaś w 1833 ro k u B abbage za p ro jek to w a ł
„m aszynę an a lity c z n ą ” — o zasadzie d ziała n ia zbliżonej do w spółczesnych m aszy n cyfrow ych. U je j p o d sta w leżała id ea program ow ego ste ro w a n ia przebiegiem obliczeń. M ia
ła o n a w y k o n y w ać podstaw ow e działan ia ary tm ety czn e, za
p am ięty w a ć dan e w ejściow e oraz po śred n ie i końcow e w y
n ik i obliczeń, a ta k ż e p ro g ra m ste ru ją c y przebiegiem obli
czeń, N a szczególne p o d k reślen ie zosługuje w prow adzenie p ro g ra m u i d an y c h z k a r t dziu rk o w an y ch (w edług zasady Ja c ą u a rd a ) oraz m ożliw ość m o d y fik a cji obliczeń w zależ
ności od uzysk an y ch w yników . Istn ie jąc y w ów czas poziom te ch n ik i n ie pozw olił je d n a k n a zrealizow anie te j ory g in al
n ej idei B abbage’a [2],
W la ta c h pięćdziesiątych X IX w ieku an gielski m a tem a
ty k i logik G eorge Boole stw o rzy ł dw u elem en to w ą alge
b rę logiki. W ów czesnych czasach jego te o ria n ie znalazła żadnego zastosow ania i n a w e t sa m au to r, zafascynow any p ro sto tą te j logiki, nie b y ł w sta n ie ocenić znaczenia w łas
nego w y n alazk u . O becnie alg eb ry Boole’a są p o d sta w ą lo
giki m a tem aty czn ej, te o rii sieci te lek o m u n ik ac y jn y ch i teo
r ii elektronicznych m aszyn cyfrow ych.
*
W ro k u 1876 b ra c ia T hom sonow ie p u b lik u ją opis m e chanicznej m etody całkow ania, co u w aż an e je s t za początek rozw oju now oczesnych m aszyn analogow ych. P ry m w p racach n a u k o w y c h w iódł starszy z braci, W iliam T hom son (1824—
— 1907) —'"angielski iiz y k i m a te m a ty k , k tó ry za zasługi n a u k ow e o trzy m ał ty tu ł lo rd a K elvina. Był on je d n y m z n a j
b ard ziej znanych badaczy p rzyrody w X IX w ieku. P ro w ad ził p rac e w w ielu dziedzinach fizyki, te ch n ik i i m a te m a tyki. S k o n stru o w a ł rów n ież w iele przyrządów , m .in. dla in fo rm a ty k i — m echaniczny an a liz a to r ró w n a ń różniczko
w ych [9],
*
A m ery k a ń sk i k o n s tru k to r — H e rm a n H o llerith , żyjący w la ta c h 1860—1929, op raco w ał m echaniczny system re je s tro w a n ia dan y ch przez w ycinanie dziu rek w k arc ie p ap iero
w ej. Z budow ał także m aszynę do so rto w an ia i zliczania o p racow anych danych, p rzedstaw ionych za pom ocą tak ich w łaśn ie k art.
D ziurkow any k a rto n p apierow y — stanow iący p ierw o w zór obecnie stosow anych k a r t — p rzesuw any był ręcznie.
Rząd igieł teleskopow ych bad ał k a rtę ; w p rzy p a d k u stw ie r
dzenia d ziu rk i zam y k ał obwód elektryczny, pow odując w te n sposób zw iększenie sta n u odpow iedniego licznika o 1.
H p lle rith był w ow ym czasie p raco w n ik iem u rzę d u s ta tystycznego USA i opracow ał tę m aszynę n a potrzeby spisu ludności. Do tego celu w y k o rzy sty w an a b y ła jeszcze d w u k ro tn ie (1891 — K a n a d a i 1897 — Rosja). Z apoczątkow ało to rozw ój m aszyn licząco-analitycznych o elektronicznym odczycie danych, p rac u jąc y ch w o parciu o k a rty d ziu rk o w ane. Po dziew ięciu la tac h od m om entu o p aten to w a n ia w ynalazk u , H o llerith zorganizow ał p rzedsiębiorstw o pod naz w ą „ T a b u latin g M achine C om pany”, p ro d u k u jąc e i sp rzed ające m aszyny jego k o n stru k cji. W ro k u 1924, po znacznym rozszerzeniu działalności, przekształcono to p rze d siębiorstw o w firm ę IB M . [3],
*
S z tu k a liczenia, k tó rą początkow o zajm o w ali się głów n ie m atem aty cy , tra c iła stopniow o sw oje znaczenie, w m ia r ę je j opan o w y w an ia przez coraz szersze k rę g i ra c h m i
strzów . Z ag a d n ien ia obliczeniow e stały się ponow nie jednym z w ażniejszych zagadnień m a tem aty c zn y c h dopiero w p o czątkach X X w ieku. Dla w ielu in te resu ją cy c h problem ów znane były m etody ich rozw iązania w sposób m echaniczny (algorytm iczny). A le pojaw iły się ta k że problem y, co do k tó ry ch nie było ju ż pew ności, czy m ożna je rozw iązać w sposób algorytm iczny. Aby pokazać, że dany p roblem m o
żn a rozw iązać algorytm icznie, w ystarczy podać odpow iedni sposób p o stę p o w an ia — k o n k re tn y alg o ry tm . Do tego celu w zupełności w y starcza in tu ic y jn e pojęcie algorytm u, k tó re znane było ju ż od w ieków . A le ja k w ykazać (udow od
nić), że dany p roblem nie d a się rozw iązać w sposób al
gorytm iczny? S tą d zrodziła się p o trzeb a zdefiniow ania po ję cia alg o ry tm u w sposób ścisły n a g ru n cie m a tem aty k i.
S ztu k i te j, tzn. form alnego o k reślen ia pojęcia algorytm u, dokonali m iędzy innym i: A. M. T u rin g , E. L. P ost, S. C.
K leene i A. C hurch. N ajbardziej użyteczne n a potrzeby in fo rm a ty k i okazało się podejście T u rin g a i P osta, którzy o k reślili pojęcie algorytm u poprzez d ziałanie odpow iedniej m aszyny, zw anej obecnie m aszyną T u rin g a [1].
*
Do g ro n a n aw y b itn iej szych m a tem aty k ó w naszego s tu lecia należy n ie w ą tp liw ie m a te m a ty k a m ery k ań sk i, pocho
dzenia w ęgierskiego, J o h n von N eu m an n (1903—1957). W'"
początkow ym okresie sw ej działalności n au k o w ej zajm o w ał , się głów nie zag ad n ien iam i teoretycznym i, w nosząc isto tn y w k ład w rozw ój w ielu działów m a te m a ty k i i fizyki. Z a
dziw iająca je s t różnorodność jego za in tereso w ań [14, 19].
Pod" koniec la t dw udziestych zajm ow ał się logiką sym bolicz
ną, te o rią zbiorów i te o rią dow dzenia. In tereso w a ł się ta k że i w niósł w ielki w k ład w rozw ój m atem aty czn y ch pod
sta w te o rii k w an tó w , teo rii ergodyczności i te o rii o p era to rów . Z ro k u 1928 pochodzi jego sły n n y a rty k u ł pośw ięcony teo rii gier. W początkach lal trzydziestych p rac o w a ł n a d te o rią s tru k tu r, geom etrią różniczkow ą i alg eb ram i Boole’a.
N atom iast w końcu tej dekady za in te re so w ał się h y d ro d y n am ik ą, d y n am ik ą i m echaniką ośrodków ciągłych w o d niesieniu do te ch n ik i jądrow ej i m eteorologii. W okresie IT w ojny św iato w ej „znikr.ął n a Zachodzie”, p ra c u ją c n a p otrzeby a rm ii USA [12].
B ad an ia dotyczące hydrodynam iki, a zw łaszcza ogrom ne tru d n o ści w rozw iązyw aniu ró w n a ń różniczkow ych cząstko
w ych m eto d am i analitycznym i, skierow ały zain tereso w an ia von N eu m a n n a n a m etody przybliżone i n a w y k o rzy stan ie szybkich m aszyn liczących — ja k o n arz ęd zia w p rac ach teoretycznych. G łów ne w yniki w zak resie m etod n u m e ry c z
n ych dotyczą m etod odw racania m acierzy, analizy błędów zaokrągleń i m etod M onte Carlo [4, 13, 14]. Z ro k u 1944 po
chodzi jego sły n n a książka, n a p isa n a w spólnie z O. M or
g en stern em — „T heory of games an d econom ic b e h a v io r”, k tó ra (w raz z a rty k u łe m z 1928 roku) d a je początek w spół
czesnej te o rii g ier [19],
W la ta c h 1943—1946 w U niw ersytecie P en sy lw a n ii pow sta je E lectronic N um erical In te g re to r and C o m puter (ENIAC) opracow any przez J. G. B rain erd a, A. W. B u rk - sa, H. H. G oldstinea, A. G oldstinea, T. K. S h arp le ssa i g ru
pę inżynierów . J o h n v o n N eu m an n za in te re so w ał się ty m p ro je k te m ju ż w tra k c ie jego rea liza cji i niebaw em został pow ołany n a k o n su lta n ta . A n alizu ją c p ro je k t doszedł do w ielu odm iennych rozw iązań, bąd ź m odyfikacji, ta k że w efekcie p o w sta ła now a koncepcja m aszyny cyfrow ej, ró ż
n ią c a się isto tn ie od ENIACA. Nowy p ro jek t, opracow any w spólnie przez cały zespół, otrzy m ał nazw ę — E lectronic D iscrete V ariable A u to m atic C om p u ter i został ostatecznie zrealizow any w U n iw ersytecie P ensylw anii.
W ty m czasie J. von N eum ann, A. W. B u rk s i H. H.
G oldstine pracow ali ju ż n a d p ro jek tem now ej m aszyny cyfrow ej. M aszyna ta, k tó rą n a cześć von N eu m a n n a n az w a
no: JO N IA C, została zrealizow ana w P rin c e to n w In s titu te for, A dvanced S tudy. Idee p rzy ję te zarów no w p rojekcie EDV AC, ja k i w kom p u terze JO N IC — dotyczące: w p ro w a
dzenia system u binarnego w m iejsce sy stem u dziesiętnego u - żytego w m aszynie ENIAC, o rganizacji poszczególnych e le m en tó w m aszyny, w szczególności pam ięci, oraz o rganizacji i fu n k cjo n o w a n ia k o m p u te ra ja k o całości — sta ły się p o d s ta w ą w szystkich k o n stru o w an y c h później kom puterów .
Z asługą v o n N eu m a n n a było opraco w an ie now ego p o d e j
ścia do tw o rzen ia m aszyny cyfrow ej, oddzielającego p ro je k tow anie od k o n stru o w a n ia k o m p u te ra. P ra c o w a ł też n a d u - śp ra w n ie n ie m p ro g ram o w an ia, w p ro w ad zając do opisyw ania aigorytm ów schem aty blokow e a ta k ż e z a jm u ją c się b i
b lioteką pod p ro g ram ó w oraz p ro g ra m em tw orzącym p ro g ram w łaściw y z p ro g ra m ó w z n a jd u ją cy c h się w bibilio- tece podprogram ów . M ów ił leż o języ k u p ro g ra m isty , w odróżnieniu od ję zy k a w ew nętrznego m aszyny, i o tr a n s la to rze z tego ję zy k a n a język m aszyny, p o słu g u jąc się t e r m in am i kod k ró tk i (język pro g ram isty ) i kod zupełny (ję
zyk w ew n ętrzn y m aszyny) [12], S am o pracow yw ał a lg o ry t
m y i p isał program y. W dow ód u zn a n ia doniosłego w k ład u w rozw ój m aszyn cyfrow ych i m etod ich w yko rzy stan ia, von N eu m an n o trzy m ał m edal E nrico F erm iego; u z n a w a n y je st pow szechnie za ojca w spółczesnych m aszyn cy fro w ych.
W pow iązaniu z tą te m aty k ą, von N eu m an prow adził b a d an ia dotyczące fu n k cjo n o w a n ia m ózgu ludzkiego [12]
i różnego rodzaju au to m ató w [17], Pod koniec la t cz te r
dziestych zaczął tw orzyć te o rię autom atów , ro zu m ian ą n ie co odm iennie od in n y c h (np. od W ienera), j'ako ogólną te o rię o b ejm u ją cą sw ym zasięgiem m aszyny analogow e i m a szyny cyfrow e, a ta k ż e a u to m aty sztuczne i a u to m aty rz e czyw iste, o b ejm u jące rów nież organizm y żyw e [13],
N iestety, będąc w pełni sił tw órczych i m a ją c przed so
b ą w iele p ro jek tó w b ad a ń i w iele niedokończonych prac, zaczął nagle opadać z sił. Z m arł, po dw óch la ta c h cierpień, w 1957 roku.
W szystkie jego p rac e w ydano w zbiorze [14], O statnie niedokończone w y k ład y zostały opracow ane przez A. W.
B u rk sa i o p ublikow ane w pracy [13]. O bszerny opis n a j
w iększych osiągnięć Jo h n a von N eu m a n n a m ożna znaleźć W 64 tom ie (No. 3, część 2, 1958) B iuletynu A m ery k a ń sk ie
go T o w arzy stw a M atem atycznego.
* '
Z dorobku naukowego i osiągnięć przedstawionych tutaj uczonych i konstruktorów korzysta obecnie olbrzymia rze
sza ludzi związanych z inform atyką, z jej rozwojem i za
stosowaniam i. Oczywiście, lista uczonych, których bez za
strzeżeń można by uznać za prekursorów inform atyki, jest znacznie bogatsza. W ybraliśmy tutaj tylko niektórych z nich. Należałoby również w ięcej m iejsca pośw ięcić każdej z prezentowanych tutaj postaci, ale — jak widać — temat jest bardzo obszerny i trudno przedstawić go bez koniecz
nych ograniczeń. Dotychczas brak jest bardziej system a
tycznych badań i opracowań poświęconych' „korzeniom”
informatyki. Mamy w ięc nadzieję, że ten szkic przyczyni się do większego zainteresowania tą ciekawą i w ażną te
m atyką, stanow iącą elem ent składow y ogólnej kultury in formatycznej.
L IT E R A T U R A
[1) D a v is M .: C o m p u ta b ility a n d u n s o lv a b ility . Mc G r a w th B o o k C om pany," N e w Y o rk , 1958
12) D e sm o n d e W. H .: M a sz y n y m a te m a ty c z n e i ic h ' z a sto so w a n ie . P W N , W a rsz a w a , 1969
[3] E m p a c h e r A .: M a sz y n y lic z ą sa m e ? W ied za P o w sz e c h n a , W a r
sz a w a , 1950
[4] G o ld stin e H . H ., v o n N e u m a n n J .: N u m e r ic a l in v e r tin g o f m a tr ic e s o f h ig h o r d e r. B u ll. A m e r. M a th . Soc., vol. 53, 1947, pp.
1021—1099
[5] G o rd o n M .: ‘L e ib n iz . W ied za P o w sz e c h n a , W a rsz a w a , 1974 (6} J e le ń s k i S .: S ia d a m i P ita g o ra s a . P Z W Sz, W a rsz a w a , 1953 [7J Ju s z k ie w ic z A. P .; H is to ria m a te m a ty k i w w ie k a c h ś r e d n ic h . P W N , W a rsz a w a , 1969
19] K a u f m a n n H .: D z ie je k o m p u te ró w . ‘ P W N , WTa rs z a w a , 19G0 [0] v o n L a n e M .: H isto ria fiz y k i. P W N , K ra k ó w , 1ŁG0
[10] L e ś n ia k K .: A r y s to te le s . W ied za P o w sz e c h n a , W a rsz a w a , 1965 fil] M o seley M .: Ira s c ib le g e n iu s — a life o f C h a rle s B a b b a g e , in v e n to r , H u tc h in s o n of L o n d o n , 1964 %
[12| V on N e u m a n n J . : M a sz y n a m a te m a ty c z n a i m ó zg lu d z k i. PW N , W a rsz a w a , 1063
[13] v o n N e u m a n n J . . T h e o ry o f s e lf- re p ro d u c in g a u to m a ta . Ed.
B u r k s A. W ., U n iv e r s ity o f Illin o is P re ss , 1966
[14] von N e u m a n n J .: C o lle c te d w o rk s, vol. 6, N ew Y o rk , 1961—1963 (to m 5 — D esig n o f c o m p u te rs , th e o r y o f a u to m a ta a n d n u m e r i
c a l a n a ly s is)
[15] P a s c a l B .: R o z p ra w y i lis ty , P A X , W a rsz a w a , 1962 [16] P łu ż y ń s k i T . : P a sc a l. W ied za P o w sz e c h n a , W a rsz a w a , 1974 [17] S h a n n o n C. E .: V on N e u m a n n ’s c o n tr ib u tio n s to a u to m a ta t h e o ry . E u il. A m e r. M a th . Soc., vol. 64, N o. 3, P a r t 2, 1953, p p . 123—
—129
[.13] T a ta rk ie w ic z W .: H isto ria filo z o fii. P W N , W a rsz a w a , 1978 [19] U la m S. M .: J o h n v o n N e u m a n n , 1303—1957. B u ll. A m e r. M a th . Soc. vol. 64, No. 3, P a r t 2, 1958, pp. 1—49
[?0] W in n ic k a H .: Z a p o m n ia n y w y n a la z c a . P Z W S z , W a rsz a w a , 1962.
U W E P E T E R M A N N S eklio n M a th e m a tik
K a r l-M a rx — U n iv e rs ita a t Leipzig A N D R Z E J SZAŁAS
Instytut In form atyki
U n iw ers yte t W arszaw s ki ^
P rzerw an ia — alłernafyw n y m echanizm kom unikacji m iędzy procesam i w spółbieżnym i
W końcu lat sześćdziesiątych i w pierwszej połowie lat siedem dziesiątych panującym modelem obliczeń w spółbież
nych były procesy interakcyjne (ze w spólnym i obszarami danych). Wzrastające zainteresow anie techniką mikroproce
sorową oraz rozwój sieci komputerowych spowodow ały, iż ten w ygodny z programistycznego punktu widzenia model został w yparty przez bardziej realistyczne, lepiej odpow ia
dające sprzętowej rzeczywistości procesy rozproszone (bez w spólnej pamięci).
Za punkt przełom owy um ow nie przyjąć tu można opubli
kowaną w 1978 roku pracę [-13. w której C.A.R.. Iloarc przed
staw ił propozycję języka programowania CSP (Communica- ting Scąuential Proccsses). O iie przesyłanie inform acji po
między procesami interakcyjnym i odbywało się zazwyczaj • za pośrednictwem zmiennych dzielonych (występujących najczęściej w rejonach krytycznych lub m onitorach — por.
[2, 5j), o tyle w nowym modelu niezbędne okazały się od
m ienne konstrukcje językow e — um ożliwiające kom unika
cję procesów. W CSP jako m echanizm komunikacji przy
jęto tzw. instrukcje w ejścia-w yjścia. W tym przypadku
„dialog” między procesami m ożliwy jest jedynie wówczas, gdy proccs-nadawca usiłuje w ysłać komunikat, zaś proces- -adresat chce ten komunikat odebrać. W podobnym kierun
ku poszli twórcy ADY [10], wprowadzając m echanizm spot
kania (ang. rendez-vous).
W CSP i ADZIE (oraz w w ielu innych ję zy k a ch sto su jący ch odm ienne od sp o tk a ń m etody kom un ik acji, ta k ic h ja k A M PL [3] czy CH ILL i[6]) w ażnym ograniczeniem je s t n ie m ożność p rzep ro w ad zen ia k o m u n ik a cji m iędzy procesam i, o
ile a d re sa t n ie w ykona in stru k c ji odbioru k o m u n ik atu . In n a k o ncepcja k o m u n ik a cji procesów , stosunkow o n a j
bliższa p rez en to w an e j przez nas, zap ro p o n o w an a została w 1978 ro k u przez P. B rin ch H an se n a ,[1J. P rocesy p rzesy ła ją tu in fo rm ac je za p o śred n ictw em p ro ced u r, k tó ry ch d zia
łanie w zajem nie się w yklucza. P ow ażnym m a n k am e n te m ję zy k a B rich H an se n a je s t niem ożność dynam icznego tw o rze n ia i u su w a n ia procesów oraz p rz e ry w a n ia d ziałających p ro ce d u r przez inne, k tó ry ch w y k o n an ie je s t — być m oże
— znacznie pilniejsze.
C elem poniższego a rty k u łu (opartego głów nie n a ra p o r
cie [9]) je s t p rze d staw ie n ie ta k ie j m etody p rze sy łan ia in
fo rm a c ji m iędzy procesam i, k tó ra nie stw a rz a w ym ienio
nych w yżej ograniczeń. K om u n ik acja odbyw a się w tym p rzy p a d k u za pom ocą n a d a w a n ia i obsługi sygnałów — p rz e rw a ń (ang. in te rru p ts). P roponow ane rozw iązanie s ta no w i rozszerzenie m echanizm u przerw ań w y stępującego w w iększości w spółczesnych kom p u teró w n a poziom ie języka w ew nętrznego. P o dstaw ow e trudności w e w prow adzeniu p rz e rw a ń do języków w ysokiego poziomu poleg ają n a z a p ew nieniu niesprzeczności z innym i k o n stru k c ja m i języko
w ym i oraz zachodzenia niezm ienników « ru n n in g -sy ste m u ”.
P ierw szy z ty c h problem ów został rozw iązany w p rze d staw io n y m poniżej p ro sty m języku P C I (Processes C om m u- nicatio n g by In te rru p ts) oraz — w p rzy p a d k u procesów in te ra k c y jn y c h — w znacznie bardziej skom plikow anym LO GLA N IE 84 [7].
P okonanie d ru g iej tru d n o ści w ym aga n arz u cen ia n a gen e
ra to r kodu k o m p ila to ra następ u jący ch ograniczeń:
® proces może być p rz e rw a n y tylko w ta k ich m om entach, w k tó ry ch sta n jego obliczeń odpow iada stanow i jego p a mięci
® m iejsca, w k tó ry ch m oże nastąpić p rze rw an ie, pow inny się p ojaw iać dostatecznie częstc (zależnie od p otrzeb pro gram isty).
N arzędzie, ja k im w p rezentow anym u jęciu są p rz e rw a nia, je s t p rz y d a tn e w jednolitym tw o rzen iu w szystkich w a rstw o program ow ania: od w spółpracy system u o p era cy j
nego ze sp rzę tem m aszyny począwszy, a skończyw szy na p ro g ra m ac h użytkow ych (por. ¡[3, 11]). Szczególnie przeko
n y w ają cy m i ob szaram i zastosow ali są naszym zdaniem system y, w k tó ry ch procesy muszą szybko reagow ać n a zd arzen ia (żądania) zgłaszane w sposób asynchroniczny. Do zastosow ań tych zaliczyć m ożna m .in.:
— tw orzenie system ów czasu rzeczyw istego do ste ro w a n ia przebiegiem procesów przem ysłow ych i eksp ery m en tó w nauk o w y ch
— p ro g ra m o w an ie rozproszonych baz danych
— tw orzenie o p ro g ram o w an ia s.eci kom puterow ych.
P o n ad to za pom ocą p rz e rw a r m ożna definiow ać i efe k ty w n ie p ro g ram o w ać inne m echanizm y kom u n ik acji (np.
w spom niane w cześniej ro zw ią :an ia w y stę p u jąc e w CSP, ADZIE, AM PL, CH ILLU czy języku B rinch H ansena) oraz ro zm aite narzęd zia synchronizacji.
Ze w zględu n a ograniczoną objętość a rty k u łu zdecydo
w aliśm y się p rzed staw ić w nim „czysty” m echanizm p rz e r
w ań. O pisany bardzo pro sty jeżyk m ożna rozszerzyć o t a
blice, p ro ced u ry , fu n k c je i w spółprogram y. D ośw iadczenie!
z w prow adzeniem p rze rw ań do LO GLA N U 84 w y k az u je m o -f żliw ość ich zastosow ania ta k ż e w znacznie bard ziej w y r a - / fino w an y ch językach p ro g ram o w an ia. W ty m o s ta tn im ; p rzy p a d k u p rz e rw a n ia s tw a rz a ją dodatkow o m ożliw ości p ro g rą p io w an ia obsługi sy tu a cji w y jątk o w y c h (ang. ex c ep tion handling) w y stę p u jąc y ch w obliczeniach w spółbież
nych (por. [12]).
SK ŁA D N IA I REGUŁY WIDOCZNOŚCI
Do opisu sk ła d n i języka PC I użyjem y rozszerzonej n o
ta c ji BNF, w k tó re j: . —
— sym bole n ie te rm in a ln e za w a rte są w naw ia sa ch < .>
— sym bolam i te rm in a ln y m i są : o raz słow a w y
tłuszczone . , , , ,
napisy o p cjonalne um ieszczone są w n aw ia sa ch k w a d ia -
■— n aw iasy sześcienne { } służą do oznaczenia iteracji.
Oto n ajw a żn iejsz e reguły g ram a ty k i:
< s y s t e m > : : = < d e k l a r a c j a p r o c e s u >
< d e k l a r a c j e > : : = « d e k l a r a c j a p r o c e s u > I < d e k l a r a c j a z m ie n - n y c h > I
< d e k l a r a c j a m o d u łu o b słu g i p r z e r w a n i a »
< d e k la r a c 3 a p r o c e s u > : : =
p ro c e ss < i d e n t y f ik a to r > [C iista p a r a m e tr ó w f o r m a l n y c h » ;
< d e k l a r a c j e >
[b e g in < i n s t r u k c j e > end] i < i d e n t y f i k a t o r > ] :
< d e k ł a r a c j a m o d u łu o b słu g i p r z e r w a n ia > : : =
h a n d le r < i d e n t y f i k a t o r > [ < iis ta p a r a m e tr ó w f o r m a l n y c h » ; ( < d e k ł a r a c j a z m i e n n y c h »
[b e g in < i n s l r u k c j e > ] e n d [ « ¿ id e n t y f i k a t o r » ;
< d e k ł a r a c j a z m ie n n y c h > =
v a r < i d e n t y f i k a t o r > (, < i d e n t y f ik a to r > } : < t y p >
{, < i d e n t y f i k a t o r > {, C i d e n t y f l k a t o r » : < t y p > ;
< t y p > : := b o o le a n I c h a r a c te r I in te g e r I p ro c e ss I r e a l ! C i d e n t y i i k a t o r ty p u p r o c e s u >
< i n s t r u k c j e > : : “ [ C i n s t r u k c j a » { < s e p a r a to r > « ¿ i n s t r u k c j a »
< s e p a r a t o r > : : = ; I &
< i n s t r u k c j a > : : =
< i d v p > : = s t a r t < l d p > [ < lis ta p a r a m e tró w a k t u a l n y c h » I a c tiv a te | p a s s iv a te | te r m in a te | m a s k [ < id h > ] {, < i d h > ) | m a s k a ll | r e t u r n | < p o d s ta w ie n ie > | < z ło ż e n ie > | < s e łe k c j a > I
< l t e r a c j a > I
in t e r r u p t < i d v p > . < S d h > « l i s t a p a r a m e tró w a k t u a l n y c h > [a n sw e r < i d v b > |
Ze w zględu n a pobieżny c h a ra k te r p rez en ta cji, znaczenie n ie k tó ry ch sym boli n ie te rm in a ln y c h pozostaw iliśm y dom yśl
ności czytelników .
Z w róćm y jeszcze uw agę n a w ażniejsze w a ru n k i k o n te k sto w e:
— < i d v p > oznacza id e n ty fik a to r zm iennej re fe re n c y jn e j;
< i d v b > — id e n ty fik a to r zm iennej logicznej; < i d h > — id e n ty fik a to r m odułu obsługi p rze rw a n ia (handlera)
— < i d p > oznacza' id e n ty fik ato r "typu procesu; w in stru k c ji
< i d v p > : = start < i d p > ... 'z m ie n n a < i d v p > m usi być albo typu < i d p > , albo ty p u process
— lista p a ra m e tró w a k tu aln y c h m usi bvć zgodna co do liczby arg u m e n tó w i ich typów z odpow iednią lis tą p a r a m e tró w form alnych
— m oduły obsługi p rze rw ań < i d h > , w y stę p u jąc e w in - stru k c ii m ask, m uszą być za d ek laro w a n e w procesie w y k o n u jący m tę in stru k c ję
— w in stru k c ji in te r ru p t < i d v p > ■ < i d h > < i d h > m u si być id e n ty fik ato re m m odułu obsługi p rz e rw a n ia zade
k larow anego w procesie w skazy w an y m przez < i d v p > . W każdym z procesów m ożna odczytyw ać w artości s ta n d ard o w ej zm iennej fa th e r, w sk azu jącej n a ojca d y nam icz
nego danego orocesu oraz zm iennej th is w sk az u ją cej n a proces; w k tó ry m ona w y stę p u je (tekstowo).
W każrlym ' zaś m odule obsługi p rz e rw a n ia odczytać m ożna w arto ść zm iennej se n d er w sk azu jącej n a proces, k tó ry spo
w odow ał obsługiw ane przerw anie.- P o n ad to o rzyjrm nem v. że n az w ’- zm iennych i n rze rw ań m ogą bvć identvezne. W łaś
ciwość *a nie nrow adzi do niepo ro zu m ień , a zw iększa czy
telność pro g ram ó w zapisanych w PCI.
Poniższe reg u ły widoczności id e n ty fik ato ró w p recyzują sens używ anego przez n as sfo rm u ło w an ia p r o c e s y r o z p r o s z o n e :
i ® id e n ty fik a to ry m odułów obsługi p rz e rw a ń są w idoczne
||d z i ę k i dostępow i przez k ro p k ę
id e n ty fik a to ry ty p ó w procesów są w idoczne zgodnie ze zw ykłym i reg u ła m i d la bloków , p rzy czym rolę bloków od- y“ g ry w a ją tu procesy
• ® zm ienne w idoczne są je d y n ie w ty m procesie (m odule obsługi p rzerw an ia), w k tó ry m są za deklarow ane.
SEMANTYKA
Opiszem y te ra z k ró tk o sem an ty k ę prezentow anego sy ste- stepiu procesów . W ty m celu w prow adźm y d w a p ojęcia — sta n u procesu i sta n u p rz e rw a n ia w procesie:
— każdy proces różny od ntsne (none oznacza proces n ie istniejący) może być w jed n y m z trze ch stanów : ak ty w n y (gdy w y k o n u je sw oje obliczenia), zdw ieszony (gdy jego obli
czenia są w strzym ane) luB zakończony (gdy zakończył w y kon y w an ie sw oich in stru k cji)
każde p rze rw an ie w d an y m procesie m oże być albo za
m askow ane (i w ów czas je st przez proces ignorow ane), albo nie zam askow ane (w tedy n ad e sła n e p rz e rw a n ie pow oduje naty ch m iasto w e w yw ołanie odpow iedniego m odułu obsłu
gi).
N ie zam ask o w an e p rze rw a n ia są obsługiw ane zarów no przez procesy a k ty w n e , zaw ieszone, ja k i zakończone.
Początkow o system sk ła d a się z jednego procesu (o n a j
b ardziej zew nętrznej specyfikacji). Z m iany sta n u system u m ogą pow odow ać n a stę p u ją c e in stru k c je (por. rys.):
a c tiv a te
r U
a k ty w n y
P : = s ta rt p _ ly p e ( . . . )
en<j p
---
z a k o ń c z o n yp a s s iv a te
U
• p : = s ta rt p - ty p e (p a ra m e try ak tu aln e ) — k tó ra po w oduje w yliczenie w arto śc i p a ra m e tró w ak tu a ln y c h i p rz e kazan ie ich do now ego obiektu p rocesu ty p u p _ ty p e w sk a zyw anego od tego m o m en tu przez zm ienną p. W szystkie p rz e rw a n ia w p są początkow o zam askow ane. Z m ien n a f a th e r procesu p w sk az u je n a proces, k tó ry w y k o n ał p : ==
s ta r t p_type(...)
0 p assiv ate — k tó ra pow oduje zaw ieszenie w ykonującego ją procesu (w ykonana w procesie zakończonym je st in stru k c ją pustą)
® ac tiv a te — k tó ra pow oduje a k ty w a c ję w ykonującego ją procesu (w ykonana w procesie zakończonym je s t in s tru k c ją pustą)
® te rm in a te — k tó ra pow oduje zakończenie w ykonującego ją procesu i usunięcie go z system u
® end — k tó ra pow oduje zakończenie d ziałan ia procesu.
We w szystkich opisyw anych in stru k c ja c h w y stę p u ją j e dynie p a ra m e try w ejściow e (ang. in p u t p ara m ete rs).
S ta n p rze rw a n ia w d an y m procesie P m oże się zm ienić po w yko n an iu in stru k c ji po w ro tu z m odułu obsługi p rz e r
w an ia (re tu rn lub end) albo in stru k c ji m ask. W pierw szym p rzy p a d k u sta n p rz e rw a ń w procesie P p o w ra ca do sta n u , ja k i b y ł w m om encie w y w o łan ia kończonego m odułu ob słu gi. In s tru k c ja m ask i l , ..., in pow oduje, że p rze rw an ia il,..., in są zam askow ane, n a to m ia st p rze rw a n ia różne od il, ..., i n . — nie są. M ask all pow oduje zam askow anie w szystkich p rzerw ań .
N ajw ażniejsza w naszej p re z e n ta c ji je st in stru k c ja p rz e r
w an ia procesu: in te r ru p t P .h (p a ra m e try ak tu aln e ) an sw e r 1). Na p otrzeby a rty k u łu przy jęto , że b je s t zm ienną logicz
ną, um ożliw iającą stw ierdzenie, czy p rze rw an ie h zostało p rzy ję te przez P c z y też n ie (w ygodne je st oczywiście ro z szerzenie liczby różnych odpow iedzi w ten sposób, aby o- k reśla ły one przyczynę zignorow ania p rze rw an ia, np.
..orzerw anie za m ask o w an e” , „ a w a ria ” -czy. „b ra k odpow ie
dzi”). W ykonanie in stru k c ji in te rru p t rozpoczyna się od
5
w yliczenia w arto śc i p a ra m e tró w a k tu aln y c h , a n astęp n ie:
— je śli h je s t zam ask o w an e w P, to je d y n y m w ynikiem d ziałan ia interrupt je s t p odstaw ienie n a zm ienną b w a r tości false
— jeśli h n ie je s t zam ask o w an e w P , to P zostaje p rz e r
w any, p a ra m e try a k tu a ln e in te rru p t oraz ste ro w a n ie P ' przekazyw ane są do m odułu obsługi h; n a zm ienną b p o d sta w ia n a je st w arto ść tru e, po czym oba procesy k o n ty n u u ją obliczenia. Z akończenie d ziała n ia m odułu obsługi p rz e rw a n ia m oże n astąp ić albo po w y k o n an iu in stru k c ji r e tu rn lub end (wówczas ste ro w a n ie p o w ra ca do m iejsca, w k tó ry m proces został p rzerw any), albo po w y k o n an iu te rm in a te (co, ja k zaznaczono w cześniej, pow oduje u su n ięcie procesu z system u).
Z akładam y, że proces nie może zostać p rze rw an y podczas w y k o n y w an ia in stru k c ji p rostych (activate, re tu rn , m ask itd.) oraz pom iędzy nim i, jeśli s śp a ra to re m je s t &.
ROZSZERZENIA MECHANIZMU KOMUNIKACJI
Z aprezentow ano w te j części a rty k u łu rozszerzenia m e chanizm u p rze rw ań m ożna zaprogram ow ać w „czystym ” języku PCI. W y stęp u ją one je d n a k n a tyle często w p ro gram ach, że w łączenie ich do ję zy k a u w aż am y za u za sa d nione.
T rzy pierw sze z prop o n o w an y ch in stru k c ji stan o w ią m o
d y fik ac ję interrupt. I ta k :
® interrupt P.h(...)! answ er b ró żn i się od interrupt P .h (...)
• answer b ty lk o w tedy, gdy p rze rw an ie h je st zam ask o w a n e w P ; w ów czas nie je s t ono ignorow ane, lecz pow o
d u je w y w ołanie m odułu obsługi h n a ty c h m ia st po odm asko- w aniu h
« in te rru p t P.h(...) answer b and w ait p ow oduje zaw ie
szanie procesu, k tó ry w y k o n ał tę in stru k c ję do chw ili z a kończenia przez P w y k o n y w an ia in stru k c ji ^ m odułu obsługi h, o ilę p rze rw a n ie h zostało przyjętte przez P
® in te r ru p t P.h(...)! an d w ait stanow i połączenie pow yż
szych in stru k c ji: proces, k tó ry w y k o n ał tę in stru k c ję cze
ka, aż p rze rw a n ie h zostanie p rz y ję te przez P i odpow iedni m oduł obsługi zostanie zakończony.
O statnim i prop o n o w an y m i rozszerzeniam i są in stru k c je u - m ożliw iające czekanie procesu n a o k reślone p rzerw an ie:
P rz y k ia d 1
process system;
v ar I I : main,
Ił! ;i>2 , D 3 fiA : dovic© ; process main;
^ p r ó c c s . o p i s u j ą c y zachowanie głównego komputera*)
handler alara (value ; r o a l , numbor : integor ) ; (*• roagujo na sytuacjy a l a r m o w ą, • wypisując odpouiodui
komunikat i- podojmując właściwo akcjo*) be&in niaak alt ;
writo{" alarm w urządzoniu o numerze", number.
" spowodowany przoz wartość", v a l u e ) ; (*lnno a k c j o , np. wylączonic urządzonia*}
e nd alarm;
begin
ansk ; ( tbdmaskowanio wszystkich przcrwo/i*) ... (^dowolno obliczonia głównego koaputora*) end a a i n ;
process device ( n u m b e r ' I n t e g e r , ii : mni n ) ; (¡¿number - numer logiczny urządzenia*) v ar Va l u e : roni ? fowarto/U: pcriiaru>) bogiń
do val u e ; s w a r tość ko l© J noęo pomiaru j if Value wykracza poza dopuszczalni- zakres, then lntorrupt :;.alam( value, nunber)I i'l od f^do ... od ozilacza w hi J e true do ... od a.) end dovi'će;
begin (^instrukcje procesu system*) M '• s s t a r t gain:
ni := start_ dcvico( 1 ,ll) ; \ L'2 := s_tart_ device (*2 ,M) :
l>3 := s tavt dcvice('J .M) : UU : s st a r t o ; ce (ł’ł. • i) : end ays t o m ;
0 w a it for h — pow oduje oczekiw anie procesu do chw ili n a d e jśc ia p rz e rw a n ia h. Podczas o czekiw ania w szystkie p rz e rw a n ia różne od h są odrzucane
• w ait for h from P — je s t m o d y fik a cją w ait for h i po
w oduje oczekiw anie procesu n a p rz e rw a n ie h, którego n a daw cą je st proces P.
W obu pow yższych in stru k c ja c h m oduł h pow inien być zad ek laro w a n y w procesie, k tó ry w y k o n u je te in stru k c je.
PRZYKŁADY
W celu p rzybliżenia czytelnikom ję zy k a PC I, przytoczy
m y n a zakończenie a rty k u łu d w a przykłady. P ierw szy z nich opisu je sch em at prostego system u, m ogącego znaleźć zasto
sow anie w ste ro w a n iu p ro d u k cją , e k s p ery m en tam i n a u k o w ym i itp. W skład system u w chodzą p rzy rzą d y pom iarow e 1 głów ny ko m p u ter. W każdy z p rzy rząd ó w pom iarow ych w budow any je st p ro sty m ik ro p ro ceso r sp raw d zający , czy w artości po m iaró w nie w y k ra c z a ją poza dopuszczalny za
kres. Je śli w y k ra cz ają , t6 zgłaszane je st do głów nego kom p u te ra p rze rw an ie „ a la rm ” :
D rugi p rzy k ła d pokazuje, w ja k i sposób m ożna p ro g ra m ow ać w języku P C I now e s tru k tu ry danych. P roces queue opisu je k olejkę dow olnych procesów z o kreślonym i n a niej zw ykłym i operacjam i: w sta w ia n ia procesu n a koniec ko-
P r z y k ła d 2
procoos qucuo ;
var fi'ont. tail, aux i qolom, rc3ult : p r o c e s s ; procesa qolom (p : procesa) ;
(♦opisujo olemont lcolojki*) var noxt j qolom;
h andlor t r m ; begin tormina to end t r m ; handler valuo of noxt;
(tfprzokazujo nadawcy przerwania wartość zmionnoj noxt*) bogln interrupt aondor.valuo of next (next)
ond valuo of noxt;
handler m odify(x : qolcm ) : be g i n next;s'x end modify;
handler result;
bogin interrupt s endor,r o s u l t /p) ond result;
bogln ma s k ; end qelem;
h » n d J.o r I n t o ( x : p r o c e s s ] ; ( » v o t a v l n i . i l g k o jL o Jk i* ) bogln m a s k a l 1 ;
auxl= a ^nrt q e l c m ( x ) ;
if front s none thon front, tail := aux olse lntorrupt tail.modify (aux) mid w a i t :
tail:= a ux
' XL
end into;
handlor out; (juauva pierwszy element z kolojki«) begin mask a l l ;
if front =/= no no then
lntorrupt front.valuo_of_noxt & uait for valuo of next:
(»teraz aux c front, next*)
interrupt front.tna a nd wal t : usuniecie procesu fronts) fi’ont:= aux
fi_
.
end out;
handler first;
bogin m as k a l l : i f f r o n t s/s n o n e t h e n
i n t e r r u p t f r o n t , n - s u l t ^ w a i t f o r r e s u l t . e l s e r o s u1t : s n o n e f1:
interrupft soxidcr. fij-»t (result)
end firit* J*
luxr.tllnr e m p t y ; /
b egin intc-rrup*. sordor.empty( front = none ) end empty;
h andler x*esult (x : proeoss) , begin result := x end rosult;
hutxiljf-.r valuc^of^nor.t (x : qelem) - bc/;JLn ouxis x rnii v alue j»f noxt;
begin manic ; end queue j