• Nie Znaleziono Wyników

Informatyka Nr 4; 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 4; 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!
32
0
0

Pełen tekst

(1)

S I

LILITH i MODULA-2 Mikrokomputery — techniki interpretacji

f 5vj;> Í ~ ^

TÎÆ K i i ^ i S |t f  S 8 i  ^ î;'

BRNO’83

i ' Ä Ä - m?m tv /v /c r w ^ g J/SM4

» g | J |

(2)

Nr 4

Miesięcznik Rok XIX

Kwiecień 1984

Organ Komitetu Inform atyki MNSzWiT oraz Komitetu Naukowo-Technicznego NOT ds. Inform atyki

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

M gr in ż . Z b ig n ie w G L U Z A , m g r T e r e ­ sa J A B L O S .S K A (s e k r e t a r z ), 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 to r a n a c z e l ­ n e g o ) , p r o f. d r tia b . L e o n Ł U K A S Z E ­ W ICZ ( r e d a k t o r n a c z e ln y ) , m g r in ż . A n d r z e j J . P IO T R O W S K I, m g r A n d r z e j S Z A Ł A S , dr 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 gr A d a m B . E M P A C H E R , d r J a n u sz G W IA Z D A (L ib ia ), m g r K a ta r z y n a I S A - A K , d r J a c e k O W C Z A R C Z Y K , m g r M a re k S O B C Z Y K , dr J a k u b T A T A R ­ K IE W IC Z , m g r in ż . T e r e sa W IL C Z E K

P R Z E W O D N IC Z Ą C Y R A D Y PR 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 PE C H E

M a te r ia łó w n ie z a m ó w io n y c h r e d a k c ja n ie z w r a c a

R e d a k c ja : 00-011 W a r sz a w a , u l. J a s ­ na 11/16, p o k . 243 i 214, t e l. 27-71-10 lu b 25-82-61 w . 184

Z a k ł. G r a f. „ T a m k a ” . Z a m . 2034. O bj.

4,0 a r k . d r u k . N a k ła d 4000 c g ! . T-46.

IN D E K S 36124

C en a e g z e m p la r z a z ł 75,—

P r e n u m e r a ta r o c z n a zl 900,—

1 W Y D A W N I C T W O f i

I

4 1 9 8 4

W NUMERZE: Strona

M ODULA-2 i L IL IT H — zgodność m etod i n arzędzi in form atycznych

W itold A b ra m o w icz 1

T echniki in te rp re ta c ji dla m ik ro k o m p u teró w

R ysza rd K o tt, D anuta M agdzik 6

PROLOG (2)

M arek S o b czyk, A n d rze j Szałas 10

P rzegląd języków w ysokiego poziom u (6). P rognozy rozw oju

Oprać. H alina C iechom ska, Teresa W ó jciekia n 21

mikroKLAN 13

— Rozm ow a z A ndrzejem D rożniakiem

— G e n e ra to ry liczb pseudolosow ych

— ZX SPECTRUM

— K la w ia tu ra i w yśw ietlacze w 8-bitow ym system ie m ik ro p ro ceso ­ row ym (1)

— FO R TH (4)

Z KRAJU 26

— R-35 w p ra k ty c e

ZE ŚWIATA 27

— T arg i BRNO ’83

— M ęski św iat

TERMINOLOGIA 30

— T erm inologia g ra fik i kom puterow ej

LISTY 31

— K to pokocha sieci?

CZW ARTA OKŁADKA — Jacek G aw ło w ski

W NAJBLIŻSZYCH NUMERACH:

© R o m a n Ż e la z .iy o n a r z ę d z ia c h in ż y n i e r ii o p r o g r a m o w a n ia O C e za r y Z ie liń s k i i T e r e s a W ilc z e k o r o b o ty c e

© T a d e u s z S z u b a o z w ią z k u P R O L O G U z P A S C A L E M

& W o jc ie c h T r o jn ia r o j ę z y k u i s y s t e m ie p r o g r a m o w a n ia FC R T II

O M a rek R a k o w s k i i A n d r z e j T . R o siń sk i o j e d n o s t r u k t u r o w y c h m ik r o k o m p u te r a c h 8 -b ito w y c h

w R o m a n T r e c lic iń s k i o s y s t e m i e M U L T IB U S -II

© K r z y s z t o f R z y m k o w s k i o s y s t e m i e m o d u la r n y m VM E

© M a re k P a w ło w s k i i A n d r z e j W o ź n ia k c p r o g r a m a to r z e PR O G -2

© T a d e u s z M a z u r k ie w ic z o r e g r e s ie p o ls k ie j in f o r m a t y k i

(3)

MODULA-2 i LILITH

zgodność metod i narzędzi informatycznych

G w ałtow ny rozw ój technologii elek tro n iczn ej um ożliw ił budow anie m ałych k o m p u te ró w (m ikro-, m ini-), m ały m ze­

społom k o n stru k to ró w , a n a w e t zaaw an so w an y m ho b b y ­ stom . J e d n a k budow a k o m p u te ra n ie p ow inna być końco­

w y m celem , ja k i p rzyśw ieca ta k im przedsięw zięciom . K om ­ p u te r je s t narzędziem , k tó re w połączeniu z m eto d am i in ­ fo rm a ty c zn y m i um ożliw ia m an ip u lo w an ie d anym i n az y w a­

n ym i raz kom p u tero w y m sy stem em w spom agania p ro je k to ­ w an ia (CAD), in n y m razem sy stem em w y szu k iw an ia in fo r­

m acji (IR), a jeszcze in n y m razem system em finansow ym . K o m p u te r je s t narzędziem , a w budow ie system ów in fo r­

m atycznych w sp ie ra ją go m e t o d y . N a poziom ie połączeń z system em liczącym uosobione są one głów nie przez ję ­ zyk p ro g ra m o w an ia , k o m p ilato r i system o p eracy jn y .

Ł atw ość i re la ty w n ie m ały koszt budow y lu b k u p n a sp rzę tu oraz w zględnie duże koszty m etod in fo rm aty czn y ch p o w odują przypadkow ość pow iązań różnorodnych m etod z n arzędziam i. N ie m ożna m yśleć o tw o rzen iu efek ty w n y ch system ów in fo rm aty czn y ch , jeżeli m etody i n arz ęd zia są sk o ja rz o n e n a drodze przy p ad k u . P edantyczność w tym za­

k resie nie je s t luksusem , n ato m ia st bez w ątp ie n ia lu k s u ­ sem je st ignorow anie tej p raw d y . Choć początkow e koszty sy stem u są niższe, je d n a k jego ek sp lo atacja i ew e n tu a ln e zm iany — dużo droższe. J e s t to p ra w d a m a jąc a szczególne k onsekw encje dla uży tk o w n ik a system u, rrn ie jsz e zaś dla jego p ro d u ce n ta. W skazanie zjaw isk zw iązanych z tym p ro ­ blem em sp a d a zatem na ośro d k i badaw cze nie zw iązane w sposób bezpośredni z w ielk im przem ysłem .

Do p rze p ro w ad z en ia tego p ro je k tu niezbędny je st zespół nau k o w y silny m erytorycznie, o m ożliw ie szerokich z a in ­ tere so w an ia ch naukow ych, d ając y się je d n a k c e n tra ln ie ste ro w a ć w celu rea liza cji szeroko zakrojonego p ro g ra m u naukow ego. W arunkom ta k im odpow iada In s ty tu t In fo rm a ­ ty k i P o lite ch n ik i F e d e ra ln e j w Z urich u . P ra c u je w nim ok. 50 p racow ników n au k o w y ch zorganizow anych w g ru ­ py za jm u jąc e się bardzo ró żnorodną te m aty k ą. In s ty tu t po siad a je d n a k m echanizm y sp rz y ja ją c e c e n tra liz a c ji n ie ­ k tó ry ch poczynań.

Je sien ią 1977 prof. N iklaus W irth postan o w ił s k o n stru o ­ w ać k o m p u te r osobisty w p ow iązaniu z opracow aniem środków pro g ram o w y ch i p o sta w ił p rzed sw oim zespołem , liczącym w o sta tn ic h la ta c h p rze cię tn ie ośm iu w sp ó łp rac o ­ w ników , n a s tę p u ją c e cele:

® O pracow anie języka p ro g ra m o w an ia uk ieru n k o w an eg o na zastosow ania w za k resie in ż y n ierii o p ro g ram o w an ia. P la ­ now anym sp rzę tem m iał być k o m p u te r osobisty. Ję zy k ten o trzy m ał później nazw ę M ODULA-2 (M ODUlar p ro g ra m - m ing L A nguage).

9 S k o n stru o w an ie kompilatora tego języka.

O Z ap roponow anie prostego system u operacyjnego. Nie przew idyw ano tu ta j jednoczesnego podziału zasobów m ię­

dzy różnych użytkow ników .

• Z ap ro je k to w an ie nowoczesnego i elastycznego edytora tekstu.

® Im p le m en ta cje szeregu programów pomocniczych n ie ­ zbędnych dla o rg an iz ac ji p lik ó w (są to p ro g ra m y służące do tw orzenia, k opiow ania i niszczenia plików ).

• P ro g ram o w a n ie zbioru modułów bibliotecznych um ożli­

w iając y ch postęp do plików , w sp ó łp racę z u rzą d zen iam i ze w nętrznym i, organ izację pam ięci.

• O pracow anie architektury system u ja k o optym alnego sprzęgu (ang. in terface) pom iędzy sp rz ę te m a k o m p ilato ­ rem . O p rogram ow anie interpretera mikrokodu.

• S k o n stru o w a n ie m aszyny i w y p ro d u k o w a n ie dwóch pierw szych egzem plarzy.

• S p raw d zen ie proto ty p ó w , w prow adzenie zm ian i w y p ro ­ duk o w an ie se rii na p o trze b y In s ty tu tu In fo rm a ty k i ETH w Z urich u .

W końcu 1983 ro k u z a d an ia te zostały w pełni zrealizo­

w ane, W In sty tu c ie In fo rm a ty k i ETH każdy pracow nik, w łącznie z p rac o w n ik am i a d m in istra c ji oraz se k re ta ria tu , d y sponuje w łasn y m . k o m p u te rem osobistym L IL IT H — t a ­ ką nazw ę o trzy m ała now a m aszyna (fot. 1). K ilk an aście ko m p u te ró w stoi rów nież do dyspozycji stu d e n tó w w yż­

szych la t stu d ió w info rm aty czn y ch , k tó rzy re a liz u ją na nich obow iązkow e p ra c e se m estra ln e i dyplom ow e. K ształ­

cenie p ropedeutyczne dla stu d e n tó w w szy stk ich w ydziałów

— p o n ad 1000 osób — odbywra się n a m aszynach A P P L E 11 w języku PASCAL.

F o t. 1. K o m p u te r o s o b is t y L IL IT H

O su k cesie przedsięw zięcia św iadczy podjęcie p ro d u k cji k o m p u te ra w celach handlow ych przez firm ę D ISER AG w S zw ajcarii. M aszyna znalazła ju ż zastosow anie w dzie­

dzinie kom puterow ego w spom agania p ro je k to w a n ia i z a ­ rząd zan ia.

L IL IT H um ożliw ił rea liza cję w ielu p ro jek tó w w II ETH.

N ależy tu ta j w ym ienić im p lem e n ta cje relacyjnego m odelu baz dan y ch L ID A S (zaprogram ow anego w rozszerzonej w e rsji ję zy k a M ODULA-2 — M ODULA/R). K om plekso­

w ym p roblem em ro zw iązyw anym za pom ocą L IL IT H są także zag ad n ien ia zw iązane z system am i in fo rm a c y jn y m i.

O pracow ano system y w y szu k iw a n ia in fo rm ac ji CALIBAN oraz sy stem rozpow szechniania in fo rm a c ji A TH EN E. P rz e ­ p row adzono ta k że ek sp ery m en ty zw iązane z dialogiem człow iek-m aszyna, tw orząc np. ek sp e ry m e n ta ln y system dialogow y X S-2. O szerokim za k resie tych p ra c św iadczy p ro je k t zw iązany z m uzyką k o m p u te ro w ą .

(4)

P ierw szy m zad an iem m ając y m prow adzić do celu w y ­ tyczonego przez prof. W irth a, było opraco w an ie języka p ro g ram o w an ia. J e s t o n z założenia je d y n y m językiem do­

stę p n y m dla tej m aszyny. N ie przew idyw ano opraco w an ia asem b lera. N ow y język m u siał zatem odpow iadać w y m a ­ ganiom , ja k ie sta w ia się przed języ k am i w ysokiego p o ­ ziom u niezależnym i o d m aszyny, a ta k że sta w ian y m przed języ k a m i niskiego poziom u — np. dla p ro ce d u r z a rząd z a­

nia pam ięcią. P rz y opraco w y w an iu nowego języka sk o rz y ­ sta n o z w ielu dośw iadczeń zw iązanych z PASCA LEM , k tó ­ rego a u to re m je st rów nież prof. W irth. Ję zy k M ODULA-2 stan o w i rozszerzenie PA SC A LA o n a s tę p u ją c e elem enty:

•— koncepcję m odułu jako p odstaw ow ej s tr u k tu r y o p ro g ra­

m ow ania; id e a modułów’ defin icy jn y ch i im p lem en tacy jn y ch rozw iązu je w dużej m ierze k o n flik t pom iędzy niezależnoś­

cią poszczególnych sk ła d n ik ó w opro g ram o w an ia a ich in ­ tegralnością; p ro b lem aty k a ta je s t szczególnie isto tn a dla dużych p ro jek tó w

— bard ziej sy stem aty czn y zapis sy n ta k ty c zn y , lik w id u jąc y pew ne „ p rz eg ad a n ia” w y stę p u jąc e w in n y c h języ k ach w y ­ sokiego poziom u

— kocepcje procesu ja k o p u n k tu w yjścia do w ielozadanio- wości

— m ożliwość p ro g ra m o w an ia w m ikrokodzie, w y n ik a ją c a z istn ie n ia tylko jednego języ k a p ro g ra m o w an ia

— w prow adzenie typu procedurow ego um ożliw iającego dy ­ nam iczne przy p o rząd k o w an ie p ro ce d u ry zm iennej; u m ie ję t­

ne w y k o rz y sta n ie tego m echanizm u może prow adzić do d u ­ żego w y ra fin o w a n ia program ów .

A rc h ite k tu ra now ej m aszy n y m ia ła w y n ik ać z języka, d latego też początkow e ek sp ery m en ty prow adzono n a k o m ­ p u te rz e P D P 11./40 z p am ięcią 28 K słów . E fe k te m tych działań je s t han d lo w a dostępność k o m p ilato ra M ODULI-2 d la szeregu różnych sy stem ó w (PDP '11, V A X — YMS i UNIX,APPLEAJCSD pS y stem , IN TEL 8086 i M OTORO­

LA 68000). L icen cje na te k o m p ila to ry zaku p iło k ilk a se t ośrodków akad em ick ich i p rzem ysłow ych n a cały m św iecie.

K oncepcja m odułu je s t k luczow ą d la języ k a M ODULA-2.

M oduł je st podstaw ow ą s tr u k tu r ą opro g ram o w an ia. M o­

d u ły m ogą eksp o rto w ać o b iekty, ta k ie ja k p ro ce d u ry lu b typy. E ksp o rto w an e o biekty są zgrom adzone w d efinicyjnej części m od u łu — w m odule d efin icy jn y m (ang. definition m odule). In n e m oduły m ogą im p o rto w ać ek sp o rto w an e o- b iekty. M oduł defin icy jn y re p re z e n tu je m oduł w e w sp ó ł­

p rac y z in n y m i m odułam i. M oduł im p lem e n ta cy jn y (ang.

im p lem e n ta tio n m odule) zaw iera n a to m ia st m etody p ro ­ w adzące do o trzy m an ia obiektów ek sp o rto w an y ch p rze2 m oduł defin icy jn y (nie w szystkie obiekty m odułu m uszą być ek sp o rto w an e). W n o rm a ln e j sy tu a c ji m oduły im p le­

m e n tac y jn e są naw idoczne d la p ro g ra m isty im p o rtu jące g o obiekty z m odułu definicyjnego. O pisaną m etodę z ilu stro ­ w ano p rzy k ła d em n a ry su n k u 1.

D alsze szczegóły o języ k u M ODULA-2 m o żn a znaleźć w książce N. W irth a ¡[23], k tó ra za w iera o ficjaln y ra p o rt ję ­ zyka, a ta k że szereg w skazań n a te m a t system atycznego pro g ram o w an ia. INFO RM A TY KA zapoznała ju ż C zy teln i­

ków z tym językiem w trzech poprzednich n u m erach . K o m p ila to r M ODULI-2 o p a rto na zasadzie rozdzielonej kom pilacji. K ażdy m oduł je s t k om pilow any osobno. J e j w ynikiem je st m .in. sym bol-file z a w ierając y p ełny opis obiektów zdefiniow anych w m odule defin icy jn y m . Sym bol- -file tra k to w a n y je s t przez k o m p ilato r ja k o je d y n y i je ­ dnoznaczny re p re z e n ta n t m odułu z p u n k tu w id zen ia in ­ nych modułów- im p o rtu jący c h zdefiniow ane w nim obiekty.

M oduł defin icy jn y i im p lem e n ta cy jn y są k o m p ilo w a n e n ie ­ zależnie od siebie. T ak ie podejście um ożliw ia zm ianę m e­

tod prow adzących do u zy sk an ia eksportow anego ob iek tu bez k o m p ilacji m odułu definicyjnego, ta k długo, ja k długo zm iana m etod nie p o w oduje zm iany d e fin ic ji sam ego o b ie­

k tu . W ynika stą d , że n aw e t zm iany m etod u zy sk an ia obie­

któw nie m uszą prow adzić do zm ian w p ro g ra m ac h w y k o ­ rzy stu jąc y ch te obiekty, nie pow odują także konieczności ich kom p ilacji. J e s t to isto tn e dla m odułów , k tó re znalazły szerokie zastosow anie, ta k ich , k tó re są im p o rto w a n e przez liczne in n e m oduły.

K om pilacja odbyw a się w czterech etap ach , w pierw szym d okonuje się an a liz y sy n ta k ty c zn ej, w d ru g im an a liz u je się d ek larac je, w trze cim sp raw d za się zgodność ty p ó w danych w w y ra że n iac h , a w czw arty m p ro d u k u je tzw.

M -kod. W trak c ie k o m p ilacji z p lik u zaw ierającego te k st m odułu p o w sta ją : listing file, sym bol file, rcference file i object file.

M ODULA-2

De f i n i t i o n m o d u l e pfer»szjHodui:

EXPORT QUALIFIED

PlerwszaProceduraPlerwszegoModulu.

DrugaProceduraPlerwszegoModulu, TypParametu;

TYPE

TypParametu ■ ... :

PROCEDURE P1erwszaProceduraP1erwszegoModulu (Parametr : TypParametu);

PROCEDURE DrugaProceduraPlerwszegoModulu (VAR Parametr : TypParametu);

END PlerwszyModul.

IMPLEMENTATION MOOULE PlerwszyModul;

PROCEOURE P1erwszaProceduraP1erwszegoModulu (Parametr : TypParametu);

BEGIN

END P1erwszaProceduraP1erwszegoModulu;

PROCEDURE DrugaProceduraPlerwszegoModulu (VAR Parametr : TypParametu):

BEGIN

END DrugaProceduraPlerwszegoModulu);

END PlerwszyModul.

DEFINITION MODULE DrugiModul;

FROM PlerwszyModul IMPORT TypParametu:

EXPORT QUALIFIED

P.lerwszaProceduraDrugiegoModulu, DrugaProceduraDruglegoModulu;

PROCEDURE P1erwszaProceduraDrug1egoModulu (Parametr : TypParametu):

PROCEDURE DrugaProceduraDruglegoModulu (VAR Parametr : TypParametu);

END DruglMrdul.

IMPLEMENTATION MOOULE DrugiModul;

FROM PlerwszyModul IMPORT

PierwszaProceduraPlerwszegoModulu, DrugaProceduraPlerwszegoModulu;

PROCEDURE PlerwszaProceduraDruglegoModulu (Parametr : TypParametu);

BEGIN

PlerwszaProceduraPterwszegoModulu (Parametr);

END PlerwszaProceduraDrugiegoModulu;

PROCEDURE DrugaProceduraDruglegoModulu (VAR Parametr : TypParametu);

BEGIN

DrugaProceduraPlerwszegoModulu (Parametr);

PlerwszaProceduraPlerwszegoModulu (Parametr);

END DrugaProceduraDruglegoModulu);

R y s. 1. P r z y k ła d ilu s t r u j ą c y k o n c e p c j ę m o d u łu

OPROGRAMOWANIE PODSTAWOWE

S ystem o p era c y jn y M EDOS-2 je s t system em o tw a rty m , um ożliw iającym u żytkow nikow i dostęp do w szystkich zaso­

bów. S k ład a się on z trzech części: p ro g ra m u ładującego, sy stem u zarządzającego zbioram i oraz p ro ce d u r w sp ó łp racy

z u rząd zen iam i w e jścia -w y jścia .

G łów nym pro g ram em sy stem u o p eracy jn eg o je s t i n te r ­ p r e te r poleceń. C zyta o n i in te rp re tu je połączenia (czyta nazw ę p ro g ra m u i u a k ty w n ia odpow iedni m u program ), a ta k że in fo rm u je o błędach w w y k o n y w an iu bieżącego pro g ram u .

W p rz y p a d k u ak c ep tac ji nazw y p ro g ra m u przez in te r ­ p re te r, p ro g ra m ła d u ją c y k o p iu je odpow iedni m oduł do pam ięci o p e ra c y jn e j (dokładnie ty lk o object file). Jeżeli d an y m oduł im p o rtu je ob iek ty z in n y c h m odułów , co je st reg u łą, dok o n u je się rów n ież k opiow ania im p o rto w an y ch m odułów . O bow iązują tu podobne m echanizm y ja k p r iy odw oływ aniu się p ro ce d u r do in n y c h p ro ced u r, np. w P A S ­ CALU.

(5)

Bardzo duże znaczenie dla p ro g ra m isty m a system z a rz ą ­ dzania p lik a m i F ileS ystcm . W szystkie plik i dostępne w sy­

stem ie są tra k to w a n e ja k o ciągi b ajtó w z a p am iętan e na p ew nym no śn ik u in fo rm ac ji (dla system u operacyjnego, na tym poziom ie a b s tra k c ji, nie je s t isto tn e ja k ie je s t vo m edium — m usi 011 znać tylko jego nazwę). M oduł F ileS y- stem je s t sprzęgiem pom iędzy p ro g ra m istą a plik am i, k tó ­ ry m i chce on m anipulow ać. M oduł je st odpow iedzialny za tw orzenie, nazyw anie, zapisyw anie, odczytyw anie, po- zycjow anie oraz niszczenie plików . K ażdy plik je s t r e ­ prezen to w an y przez sw oją nazw ę. D alsze in fo rm ac je o p li­

kach w tra k c ie m an ip u lo w an ia nim i zaw iera zw iązany z nim i opis (długość zbioru, obecna pozycja w zbiorze, ostatn io w y k o n y w an a o p era cja , nośnik n a ja k im się z n a j­

duje, itd.). Za fu n k c je zw iązan e z dostępem do plików n i dysku i za o rg an izację p am ięci odpow iedzialny je st m oduł D iskS ystcm .

P a k ie t p ro c e d u r w sp ó łp racy z u rzą d zen iam i w ejścia - -w y jścia um ożliw ia dokonyw anie bardzo różnorodnych ope­

racji. N ajp ro stsze są zw iązane z w pro w ad zan iem in fo rm ac ji z k la w ia tu ry alfa n u m ery c zn ej. Inne p ro ce d u ry są zw iązane z urząd zen iem w ejściow ym zw anym m yszką (ang. mouse).

M yszka je s t urząd zen iem u m o żliw iającym op erato ro w i w skazanie określonego p u n k tu lub obszaru na m onitorze (fot. 1 — poniżej k la w iatu ry ). O p erato r może dow olnie w y bierać położenie p u n k tu w obszarze, zd efiniow anym na m onitorze ekran o w y m przez a n a lity k a i p ro g ra m istę sy sta- m u aplikacyjnego, przez zm ianę położenia m yszki n a stole.

O tym , ja k ie m u położeniu m yszki o d pow iada d any p u n k t m onitora, in fo rm u je o p era to ra k u rso r. M yszka je st zao p a­

trzo n a w c z u jn ik przenoszący zm iany położenia m yszki na stole na zm iany położenia w sk aź n ik a n a m onitorze. D o­

kładność w sk azań za pom ocą m yszki odpow iada p ra k ty c z ­ nie rozdzielczości m o n ito ra ekranow ego i — w przeci­

w ień stw ie do p ió ra św ietlnego — nie zależy od a m p litu d y , z ja k ą trzęsie się rę k a o p era to ra .

Z realizow ano także p ro ce d u ry u m o żliw iające w y p ro w a ­ dzanie in fo rm ac ji n a m o n ito r ek ran o w y . N ajp ro stsze z nich pozw alają na p rze d staw ia n ie zn ak ó w i tekstów . M aszyna L IL IT H je s t w yposażona w g raficzn y m o n ito r ek ran o w y o p a rty n a technice ra ste r-sc a n , a um ożliw iający p rz e d sta ­ w ienie — w zależności od ro d za ju (m onitor horyzo n taln y lu b w erty k a ln y ) — ok. 800 X 600 p u n k tó w . U m ożliw ia to p ro g ram o w e d efiniow anie różnych ro d zajó w znaków (rys. 2).

pokazowy tekst

pokazowy tekst pokazowy tekst

pokazowy tekst

pokazowy tekst

TTOKa^O^yp TEKOT

ł-°LKH»<n

Ttys. 2. P r z y k ła d y r o d z a jó w z n a k ó w d e f in io w a n y c h p r o g r a m o w o

In te re su ją c y m rozw iązaniem p rzy ję ty m w koncepcji p ro ­ gram o w ej m o n ito ra je st zastosow anie tzw. W indow technlcs (techniki okienek). Z ak ład a ona d y n am iczn y podział całego m o n ito ra n a o kna (ang.: w indow s) — p. fot. 2. Z astoso­

w an ie tej te ch n ik i w system ach a p lik ac y jn y c h pozw ala a n a lity k o w i system u n a p rz e jrz y ste dzielenie bardzo o g ra­

niczonej pow ierzchni m on ito ra; każde z o k ie n m oże być w y k o rzy stan e do innych fu n k c ji (np. w je d n y m są p rze d ­ staw io n e in fo rm ac je graficzn e n a te m a t s tr u k tu ry danych, w dru g im p rez en to w an e są w y b ra n e d a n e z tej stru k tu ry , w trzecim — in fo rm a c je na te m a t m ożliw ych działań ope­

ra to ra sy stem u , czw arte może inform ow ać o k o n se k w e n ­ cjach w y b o ru któregoś z działań p rez en to w an y c h w oknie trzecim — ta k i m odel zastosow ano w system ie w y szu k i­

w an ia in fo rm a c ji CALIBAN). A n ality k sy stem u może po­

zwolić u żytkow nikow i na o tw ieran ie, zam y k an ie, p rz e su ­ w an ie i zm ianę w ielkości okien. T ec h n ik a ta m a decy­

d u ją ce znaczenie dla p rac y in te ra k c y jn e j.

D alszym k ro k iem w u d oskonaleniu w spółpracy człow iek- -m aszyna je s t zastosow anie tzw . m en u -tecb n ics. W każdym stanie, w ja k im z n a jd u je się k o n k re tn y sy stem ap lik acy jn y , m ożliw e je s t podjęcie różnych działań. Z ad an iem an a lity k a , a później p ro g ra m isty sy stem u ap likacyjnego, je s t p o k a­

zanie tych m ożliw ości u ży tk o w n ik o w i sy stem u . In fo rm a ­ cje te pow in n y być zrozum iałe na pierw szy rz u t oka, p o ­ w in n y m inim alizow ać m ożliw ość pom yłki, a także pow inny być adresow ane, jeżeli to m ożliw e, zarów no do u ż y tk o ­ w n ik a p rac u jąc eg o ciągle z system em , ja k i uży tk o w n ik a p racu jąceg o od czasu do czasu. R ozw iązaniem idącym w tym k ie ru n k u je st w łaśn ie m enu-teclm ics. J a k kon su m en t w re sta u ra c ji, ta k o p e ra to r sy stem u m a m ożliw ość w y b ra ­ n ia sm akow itego k ąsk a, np. Dierwszy z nich — sc h ab o ­ wego, a d ru g i — display. W przeciw ień stw ie do m enu w re sta u ra c ji, m enu n a m o n ito rze za w iera tylk o pozycje m a jąc e sens w dan y m sta n ie system u.

D zięki z a p ro jek to w a n iu i zrealizo w an iu pow yższych środków , udało się z n aw iązk ą zrealizow ać zad an ia zw ią­

zane z Tedagow aniem tekstów . P o w stała cala ro d zin a ed y ­ torów . N ajp ro stszy m je st ed y to r tekstów u żyw any obecnie p ra w ie w yłącznie do red a g o w a n ia program ów . U m ożliw ia on pisanie, niszczenie, kopiow anie, przenoszenie, w yszu­

k iw an ie tek stó w w ra m a c h jednego lu b w iększej liczby n iezależnych p lik ó w znakow ych (ang. textfile). P rz ew id z ia­

no też użycie m a rk o d e fin icji, pozw alający ch za jed n y m n aciśnięciem przy cisk u m yszki lu b k la w ia tu ry w y b rać u p rzednio z a p ro jek to w a n e o peracje. O peracje m oże p ro je ­ ktow ać sam o p era to r, ucząc system . O dbyw a się to przez n aciśnięcie przy cisk u learn, zad em o n stro w an ie system ow i co m a robić przez d o k ład n e w y k o n an ie ciągu o p era cji, k tó re m a po tem sam odzielnie w y k o n y w ać oraz — pono­

w ne naciśnięcie p rzycisku learn. W ykonanie o p era cji n a ­ stą p i w ted y , gdy o p e ra to r w dow o ln y m m om encie p rac y z ed y to rem n aciśn ie przy cisk execute. Ź ródłem te j k o n ­ stru k c ji je st pow szechnie stosow any w ed y to ra ch rozkaz repeat. W ysokow yspecjalizow anym ed y to rem je s t edytor pro g ram ó w u k ie ru n k o w a n y na p ro g ram o w an ie w M ODU- LI-2. W y stęp u jące w nim m a k ro d e fin ic je sam odzielnie tw o ­ rzą sta n d a rd o w e s tr u k tu r y języka, zgodnie z p rz y ję ty m u - k ład em graficznym .

D aleko szersze za d an ia postaw iono przed ed y to re m te ­ k stów zw anym ANDRA. Jego zadaniem je st um ożliw ienie red ag o w an ia te k stó w i ich ła m an ie na poziom ie w y m ag a­

n ym dla p u b lik a c ji naukow ych. O prócz fu n k c ji w y k o n y ­ w anych przez opisane edytory, ANDRA m a zad an ie o k re ­ ślenia k r o ju czcionek (rys.. 2) w y b ra n y c h fra g m e n tó w te ­ k stu i sposobu rozm ieszczenia poszczególnych elem entów te k stu . P ro je k to w a n ie te k stu odbyw a się dw uetapow o.

P ierw szy m etap e m je s t za p ro jek to w a n ie m ożliw ych p o ­ staci, ja k ie może p rzy ją ć te k s t lub — częściej — cały zbiór te k stó w . N ależy orkeślić, ja k ie rodzaje czcionek m o­

gą być użyte w te k sta ch , ja k ie odstępy m a ją w ystępow ać pom iędzy lite ra m i, pom iędzy w ierszam i, ja k ic h ta b u lo g ra ­ m ów m ożna użyć w tekście, ja k i należy p rzy jąć sposób p ag in ac ji i — o k reślić jeszcze w iele innych p a ra m e tró w m ogących ch a rak te ry z o w a ć te k st, k tó re są chlebem codzien­

n y m re d a k to ra technicznego gazety czy w y d aw n ic tw a książkow ego. In fo rm a cje te są sfo rm alizo w an e i zap am ię- tone w sp e cja ln y m p lik u zw anym sty l (ang. style). R e ­ d ag u jąc te k st m usim y zdecydow ać, z jakiego sty lu , czyli z ja k ich m ożliw ości p ro je k to w a n ia te k stu , będziem y k o rzy ­ sta li. S am o red ag o w an ie o d b y w a się w sposób opisany w p o przednim edytorze, n a to m ia st elem enty sty lu określo n e są za pom ocą m en u -tech n ics. O becna w e rsja e d y to ra u m o ­ żliw ia p isa n ie a rty k u łó w i k sią że k o dpow iadających n a j­

w yższym w ym ag an io m edy to rsk im . Istn ie je tu ta j p a rę sto ­ p n i w tajem n iczen ia: ła m an ie za pom ocą sty lu przy g o to ­ w anego przez bard ziej w tajem n iczo n y ch , sam odzielne p ro ­ je k to w an ie sty lu , sam odzielne p ro jek to w a n ie a try b u tó w sty lu (np. znaków ). J e s t to m etoda u m o żliw iająca k o rzy ­ sta n ie z system u przez o p era to ró w o różnych k w a lifik a ­ cjach.

N astęp n y m k ro k iem w rozw oju ed y to ró w je s t red a g o ­ w an ie obrazów — g ra fik a kom p u tero w a. N ajm n iejsze za­

dan ia w tym za k re sie postaw iono przed e d y to re m o b ra ­ zów zw anym S IL . Jego zad an iem je s t um ożliw ienie:

— k re śle n ia lin ii poziom ych i pionow ych

— k reśle n ia znaków z bib lio tek i u przednio za p ro je k to w a ­ n ych znaków (np. koła i strz a łk i, zn ak i ta k ie ja k diody, sch em aty u k ła d ó w scalonych pozw alające p ro jek to w a ć u k ła d y elektroniczne)

— o p atry w a n ia ich k ró tk im i opisam i.

W iększe w y m ag a n ia p ostaw iono p rzed ed y to rem o b ra ­ zów DRAW . Z a jego pom ocą m ożna kreślić dow olne k rz y -

(6)

we, k o rzy stać z bib lio tek i znaków , a ta k że opisyw ać p o ­ w sta łe obrazy. D zięki tem u edy to ro w i m ożna k reślić ry ­ su n k i techniczne, a ta k że ry su n k i zbliżone do odręcznych.

D okładność ta k p ow stałych rysu n k ó w , w obu ed y to rach , je st uzależniona od zdolności rozdzielczej m o n ito ra e k ra ­ nowego. D la u ła tw ie n ia k reśle n ia zastosow ano ra s te r p u n k ­ tow y pozw alający pozycjow ać p u n k ty c h a ra k te ry sty c z n e ry su n k ó w . O brazy otrzy m an e za pom ocą tych edytorów są zapam ięty w an e, ja k w szy stk ie in n e zbiory, jako ciąg bajtów .

B ardzo w ażnym elem en tem całego przedsięw zięcia je st uzyskiw anie p apierow ych kopii ta k p racow icie p ro je k to ­ w anych tek stó w i ry su n k ó w . P o w in n y one być p rz e d sta ­ w ione z rozdzielczością zbliżoną do rozdzielczości m o n ito ra (praw ie pół m iliona punktów ), n a k tó ry m je p ro jek to w a n o . P a p ie r d ru k a rs k i pow in ien odpow iadać jakości i w y m ia­

ro m p a p ie ru korespondencyjnego (nie może to być typow y p a p ie r d la w y d ru k ó w k om puterow ych). N apisano pro g ram y um ożliw iające sp ełnienie tych w aru n k ó w . Z astosow ano d ru ­ k a rk ę la sero w ą firm y CANON. D w ie ta k ie d ru k a rk i z a ­ sp o k a ja ją za p otrzebow anie In sty tu tu .

O pisane śro d k i w. pełni o d p o w iad ają potrzebom zw ią­

zan y m z p ra c a m i biu ro w y m i — począw szy od in fo rm acji w ew n ą trz in sty tu to w e j, a n a red ag o w an iu k siążek sk o ń ­ czywszy.

K o m p u te r je s t sto so w an y rów nież do p ro je k to w a n ia i t e ­ sto w a n ia o program ow ania. O sposobach red ag o w an ia i o r ­ g an iza cji plików w spom niano ju ż pow yżej. S pośród n a ­ rzędzi w y k o rz y sty w an y c h przez p ro g ra m istę należy w y ­ m ienić deb u g g cr (fot. 2). J e s t to system um ożliw iający b a ­ d an ie sposobu rea liza cji pro g ram u . P ro g ra m ista może, m ię­

dzy innym i, obserw ow ać sposób i kolejność w y w oływ ania m odułów i p ro ce d u r, w arto śc i zm iennych, zaw artość p a ­ mięci. D ebuggcr i in n e p ro g ra m y w pełn i z a sp o k a ja ją po­

trzeby p ro g ra m isty i a n a lity k a system ów in fo rm aty czn y ch w za k resie tw orzenia, testo w an ia oraz dok u m en to w an ia program ów .

F o t. 2. „ O k n a ” — p r z y k ła d d y n a m ic z n e g o p o d z ia łu e k r a n u m o n i­

to r a

KONFIGURACJA SPRZĘTOWA I ROZWÓJ SYSTEMU S p rz ęt k o m p u te ra L IL IT H (fot. 1) sk ła d a się z:

— m ik ro p ro ceso ra segm entow ego Am2901

— pam ięci o pojem ności 128 K słów 16-bitow ych

— pam ięci m ik ro k o d u o pojem ności 2K in stru k c ji

— ste ro w n ik a p am ięci dyskow ej

— m o n ito ra ekranow ego

— sprzęgu k la w ia tu ry

— czy tn ik a położenia m yszki

— sprzęgu V24 (m aks. 9600 bodów).

P ro c eso r p ra c u je z cyklem 150 ns, odpow iad ający m in te r ­ p re ta c ji je d n ej m ik ro in stru k c ji (najczęściej je d en rozkaz M -kodu odpow iada 2—5 m ik ro in stru k c jo m ). Moc oblicze­

niow a m aszyny odpow iada w przy b liżen iu trzem m aszy­

nom P D P 11/40.

A by zrozum ieć decyzje o w yborze pro ceso ra Am2901, należy p am iętać, że w y b o ru dokonyw ano w 1977 roku. Nie były w ów czas jeszcze dostępne dzisiejsze procesory ja - dnoukładow e, a tym b ard z iej n ie było m ożliw ości p ro je k to ­ w a n ia i p ro d u k cji procesorów w k ró tk ic h seriach.

W system ie użyto polichrom atycznego m o n ito ra g raficz­

nego. K ażdy p u n k t ob razu je s t odw zorow any osobnym b i­

tem p am ięci (ang. b it-m ap) — za p am iętan ie o brazu całego m o n ito ra z a jm u je ok. 22% całej pam ięci. J e s t to cena za m ożliw ość p re z e n ta c ji te k stó w złożonych dow olną czcionką (także — cyry lica i ideogram y) oraz — g rafik i. M im o ta k dużej rozdzielczości uzyskano za d a w a la ją c ą szybkość — w y ­ p ełnienie całego m o n ito ra o brazem , łącznie z tra n sfo rm a ­ cją te k stu z kodu A SC II n a o d p o w iad ające m u o brazy w odpow iednim form acie, trw a ok. 0,25 s. J e s t to w y n ik im ­ ponujący, jeśli się w eźm ie pod uw agę fa k t, że sto su jąc n ajm n ie jsz ą czcionkę, n a m o nitorze m ożna zam ieścić do 10 tys. znaków .

Ja k o pam ięć m asow ą w y b ra n o d ysk ty p u D-120 firm y HONEYW EL-BULL. S ą to dyski w ym ienne. M a to bardzo duże znaczenie dla u elasty czn ien ia zastosow ań system u.

W praw dzie m ów im y, że L IL IT H je st k o m p u te rem osobi­

stym , , je d n a k dzięki w ym ienności dysków — użytkow nik czuje się zw iązany tylko ze sw oim i d an y m i zapisanym i n a d y sku (ma m ożliw ość nieograniczonego ro zb u d o w y w a­

nia sw oich zasobów), k tó ry m oże um ieścić w je d n y m z w ie- lu k o m p u teró w (szczególnie isto tn e w p rz y p a d k u aw arii), a n ie tylko w jednym . M a to jeszcze w iększe znaczenie v/

sy tu a cji, gdy nie k aż d y uży tk o w n ik dysp o n u je sw oim w ła ­ sn y m kom p u terem . W ym ienny dysk o dużej pojem ności, za stę p u jąc y kopiow anie plików po każdej se sji z k o m p u ­ te re m ze stałego d y sku m aszyny (np. W inchester) n a dyski elastyczne, o k az ał się bardzo d obrym w yborem n a etap ie defin io w an ia sy stem u . D ysk m a pojem ność 10 M bajtów . T eo rety czn a szybkość tra n sm isji w ynosi 720 K B /s, je d n a k efe k ty w n a szybkość p isa n ia i cz y ta n ia plików w ynosi 60 K B/s. P am ięć podzielona je s t na bloki po 2048 b ajty .

N a tu ra ln ą k o n se k w e n cją rozw oju, po zrealizow aniu z a ­ dań początkow ych, było połączenie m aszyn w lo k a ln ą sieć ko m p u tero w ą. Założono, że w szystkie w ęzły sieci są izo­

m orficzne — przew id y w an o połączenie tylko kom puterów LIL IT H . Sieć p o w in n a łączyć ok. sto m aszyn w odległości nie w iększej niż 500 m etrów . M in im aln a szybkość tr a n s ­ m isji pow in n a w ynosić je d en m egabod, co je s t szybkością za d o w ala ją cą n a w e t dla p rze sy łan ia anim o w an y ch o b ra ­ zów. W ybór p ad ł n a m odel ETHER NET opracow any w S tan fo rd .

Sieć n az w an a M A G NET m a bardzo pro sty sprzęt. O p ro ­ g ram o w an ie um ożliw ia różnorodny dostęp do zasobów sie­

ciowych, n a jp ro stsz y polega n a k o rzy sta n iu z tzw. rem olc filcs. U m ożliw ia on dostęp do w szystkich plików n a dys­

kach zain stalo w an y ch n a k o m p u te rach w łączonych w d a ­ nym m om encie do sieci. Sposób d ostępu do zasobów, z p u n k tu w id zen ia p ro g ra m isty , je st ta k i sam , ja k by były one zgrom adzone na dysku k o m p u te ra n a k tó ry m w łaśnie p ra c u je (w sp e cy fik ac ji plik u p ro g ra m ista m usi podać n a ­ zwę u rządzenia). U żytk o w n ik sieci uto żsam ian y je st z d y s­

kiem ; a n ie z m aszyną.

K rańcow o ró żn ą m etodą tra k to w a n ia zasobów sieciowych Jest tzw . m a il system m usie (ang. m ost u seful sy stem fo r in te rn a l com m unication). K ażdy u ży tk o w n ik m a sw oją m a il-b o x (skrzynkę pocztową) d ziała ją cą trochę inaczej niż n o rm a ln a sk rz y n k a pocztow a — m ożna do niej w rzucić listy przeznaczone d la in n y c h odbiorców (skrzynka poczto­

w a p rzed urzędem pocztow ym ), ale m ożna z niej także i •? ś

i

* Htójtęr " * i Ctróift»* 10

t

\ ■

jchjkrtij* windksu psint ?.h*

■' ••

- .. .

(7)

w y b ierać listy p rzesłan e przez innych (skrzynka pocztow a przed dom em odbiorcy). „L istem ” m oże być dow olny plik (tekst, obraz, sk om pilow any program ). J a k każdy n o rm aln y list, je s t on za p ak o w a n y w k o p ertą z a w ierając ą in fo rm a ­ cją o odbiorcy i n adaw cy. M ail-system odpow iada za obieg listów w sieci. A by m .in. um ożliw ić ciągły dostęp do w szystkich sk rzy n e k , postanow iono w yposażyć sieć w tzw.

filc server — c e n tra ln ą p am ięć sieci. J e j zadaniem je st rów nież p a m iętan ie ce n tra ln y c h zasobów sieci (np. całego dostępnego oprogram ow ania) oraz p ełn ien ie fu n k c ji pam ięci dła d ru k a re k laserow ych. C e n tra ln ą pam ięcią sieci je st j dysk ty p u M2351A firm y F U JIT S U L td , o pojem ności 474

MB i szybkości tra n sm isji 1,86 M B /s.

P ełe n opis p ro je k tu M ODULA-2 L IL IT H je s t w k ró tk im a rty k u le n ie re aln y . C elem a rty k u łu było je d y n ie w sk a z a ­ nie p a ru , su b ie k ty w n ie w y b ra n y ch problem ów . C ałkow icie p om inięto system y z a p ro jek to w a n e i zaim plem entow ane w now ym środow isku, k tó re n ie należą do jego ją d ra .

P r a g n ę p o d z ię k o w a ć p r o f. N . W ir th o w i za lic z n e i k o n s t r u k t y ­ w n e d y s k u s j e u m o ż liw ia j ą c e m .in . n a p is a n ie te g o a r t y k u łu . L IT E R A T U R A

[l| A bram ow icz W.: C om puter Mail System , w e w n ę trz n y ra p o rt In s ty tu tu In fo rm aty k i P o litech n ik i F e d e raln ej w Z u rlchu, 1982

[2] B eretta G. i in .: XS-1: A n In te g ra te d In te ra c tiv e System and its K ernel. W : P ro ceed in g s of th e 6th In te rn a tio n a l C onference on S o ftw are E ngeenering. T okyo, 1982

[3j G eissm ann L .: S e p a rate C om pilation in Modula-2 and th e S tru c tu re of th e Modula-2 Com piler on th e P erso n al C om puter L ilith. P ra c a d o k to rsk a, Z u rich , 1983

[4] G eissm ann i in .: L ilith H andbook. A G uide fo r L ilith U sers and P ro g ram m ers. W ew nętrzny ra p o rt In s ty tu tu In fo rm aty k i P o ­ lite ch n ik i F e d e raln ej w Z u rlch u , 1982

[5J G u tk n e ch t J . : S ystem P ro g ram m in g in M odula-2: M ouse and B itm ap D isplay. R ap o rt n r 56 In s ty tu tu In fo rm aty k i P o litech n ik i F ed e raln ej w Z urichu, 1983

[6[ G u tk n e ch t J., W enlger W.: A n d ra: T he D ocum ent P re p a ra tio n System of the P erso n al W o rk statio n L ilith. U każe się w : Softw are

— P ra c tic e an d E xperience

[7| H oppe J .: A S im ple N uclcus W ritten in M odula-2. W: Soft-

w are — P ra c tic e an d E xperience, Vol. 10, p. 697—706, 1980

[8] H oppe J . : M agnet. Local N etw ork for L ilith C om puter. W e­

w n ętrzn y r a p o rt In s ty tu tu In fo rm aty k i P o lite c h n ik i F ed eraln ej w Z u richu, 1982

19] H oppe J . : R em ote Files for th e L ilith C om puter. W: Proc.

IF IP 83 Congress. N ort-H olland P u b l., 1983

[10] Hoppe J .: A Local A rea N etw ork for th e L ilith C om puter, W: P roc. DECUS E urope Sym posium , Z urich, 1983

[11] Jaco b i C h.: T he L ilith A rc h ite ctu re , its Design in View of Code G eneration. W : H. L an g m aack i in. (ed.): Im p lem en tieru n g PA SC A L -artiger P ro g ram m iersp rach en . T eubner-V erlag, S tu ttg a rt, 1982

[12] Jaco b i Ch.: Code G en eratio n and th e L ilith A rch itectu re.

P raca d o k to rsk a , Z u rich , 1983

[13] K nu d sen S. E.: Medos-2: A Modula-2 O riented O perating System for th e P erso n el C om puter L ilith. P ra c a d o k to rsk a, Z u­

rich , 1983

[14] K och J. i in.: Modula.'R R eport L ilith V ersion. W ew nętrzny ra p o rt In sty tu tu In fo rm a ty k i P o lite c h n ik i F e d e raln ej w Z u rlchu, 1983

[15] O stler F. L .: An SMD Disk C o n tro ller for L ilith C om puter.

R ap o rt n r 52 In s ty tu tu In fo rm aty k i P o litech n ik i F ed eraln ej w Z u­

rich u , 1983

[16] R ebsam en J. i in .: LIDAS — A D atabase System fo r th e P e r ­ sonal C om puter L ilith. T he D atabase M anagem ent. R ap o rt n r 50 In s ty tu tu In fo rm aty k i P o litech n ik i F ed eraln ej w Z u rich u , 1932 [17] R ebsam en J., Z eh n d er C. A.: A utom atische E rzeugung von k o n sisten zerh alten d en T ran sak tio n e n : Ein H ilfsm ittel zur D aten ­ m an ip u latio n a u f A rb eitsp latzrech n ern . W : 12, J a h res taß u n g d e r G esellschaft fü r In fo rm atik , In fo rm atik -F ac h b e ric h te 57, 595—606 S p rin g er-V erlag , Ju li 1982

[18] W irth N .: M odula — A lan g u ag e fo r M odular M u ltip ro g ra­

m m ing. W: S o ftw are — P ra c tic e an d E xperience, Vol. 7, 3—35, 1977 [19] W irth N .: A P e rso n a l C om puter designed for use w ith a h igh- level language. W: R em m ele W., S chccher H. (ed.): M icrocom pu­

ting. T eu b n er-V erlag , S tu ttg a rt, 1S7Ü

[20] W irth N .: M odula-2. R ap o rt n r 27 i 36 In sty tu tu In fo rm aty k i P o litech n ik i F e d e raln ej w Z u rich u , 1978 i 1980

[21] .W irth N .: T he P erso n a! C om puter L ilith. R ap o rt n r 49 In ­ s ty tu tu In fo rm aty k i P o lite c h n ik i F e d e raln ej w Z u richu, 1981 [22] W irth N .: A P e rso n a l C om puter fo r th e S o ftw are E ngineer.

W: 5th In tern a tio n a l C onference on S o ftw are E ngineering 2—16.

M arch 9—12, 1981, San Diego, C alifo rn ia, 1982

[23] W irth N .: P ro g ram m in g in M odula-2. Springer-V erlag, 1932 [24] Z eh n d er C. A.: D atabase T echniques for P rofessional W ork­

stations. R ap o rt n r 55 In s ty tu tu In fo rm aty k i P o lite c h n ik i F ed e­

ra ln e j w Z u rlchu, 1983.

K A L E N D A R Z

K w iecień

11—13, P a ry ż : STACS — k o n fe re n c ja na te m a t te o re ty c z ­ n y c h asp ek tó w in fo rm aty k i^ — o rg a n z a to r: A'FCET o raz G esellschaft fü r In fo rm a tik

17—19, T uluza (F ran cja): VI m ięd zy n aro d o w e k o lo k w iu m n a te m a t p ro g ram o w an ia — o rg a n iz ato r: U n iv ersité P a u l S a­

ba tie r

23—25, P its b u rg (USA): k o n fe re n c ja na te m a t rozw oju 0-program ow ania użytkow ego — o rg a n iz ato r: ACM Sig- soft/S igplan

25—27, P a ry ż : 13. m iędzynarodow e sem in ariu m „B anki i k o m p u te ry ” — o rg an izato r: INSIG, P a ry ż

Maj

14—17, A m sterd am (H olandia): m ięd zy n aro d o w a k o n fe re n c ja te le k o m u n ik a c y jn a IEEE — o rg a n iz ato r: TACM

Czerwiec

4—6, N icea (F ran cja): k o lokw ium *na te m a t p red y sp o zy cji w p ro g ram o w a n iu — o rg a n iz ato r: AFCET

7—8, S o p h iaA ntipolis (F ran cja): k o n fe re n c ja n a te m a t ja ­ kościow ej oceny p red y sp o zy cji w p ro g ram o w an iu — o rg a ­ n iza to r: AFCET

1—13, P a ry ż : PROLAMAT — m iędzynarodow a K o n feren cja na te m a t języków program ow ania dla o b ra b ia re k — o rg a ­ n izato rzy : IF IP oraz IFAC

17—21, K o p en h ag a: XXVI m ięd zy n aro d o w a k o n fe re n c ja TIMS — o rg a n iz ato r: T he In s titu te of M an ag em en t S ciences 26—29, Rzym : II św iatow a k o n fe re n c ja n a te m a t m iędzy­

narodow ego przepływ u d an y ch — o rg a n iz a to r: In te rg o v e rn ­ m en tal B u reau fo r In fo rm atics

Lipiec

20 —28, M ontreal (K anada): V II m iędzynarodow a k o n fe re n ­ c ja n a te m a t rozpoznaw ania obrazów — o rg a n iz ato r: I n te r ­ n a tio n a l A ssociation fo r P a tte rn , R ecognition

Sierpień

20—28, M ontreal (K anada): V II m iędzynarodow a k o n fe re n - dow e sym pozjum s ta ty s ty k i obliczeniow ej — o rg an izato r:

IASC

28—30, K openhaga (D ania): EUROMICRO’84 — 10. m iędzy­

narodow e sym pozjum na tem a t m ik ro in fo rm aty k i i m ik ro - p rogram ow ania . — o rg a n iz ato r: EUROMICRO

Wrzesień

3—17, L ondyn: INTER ACT’84, m iędzynarodow a k o n feren cja na tem a t czynnika ludzkiego w sy stem ach in fo rm aty czn y ch o raz w spółdziałania człow iek-m aszyna — org an izato rzy : IF IP , IFAC, IFORS o raz IEA

10—14, P a ry ż : V I m ięd zy n aro d o w y k o n g res c y b e rn e ty k i i te o rii system ów — o rg a n iz ato r AFCET o raz W orld O rga­

nizatio n of G e n era l S y stem s an d C y b ern etics

17—21, P a ry ż : m iędzynarodow a k o n fe re n c ja „C onvention In fo rm a tiq u e ’84” o ra z w y staw a „SICO B’84” — o rg a n iz ato r:

SICOB

24—28, H ong K ong: m iędzynarodow a k o n fe re n c ja pn. „Te­

chnologia in fo rm aty czn a — śro d ek m ak sy m alizacji p o ten ­ cjału gospodarczego k ra jó w a z jaty c k ic h ” — o rg an izato r:

SEARCC (South E east Asia R egional C om puter C o n fed era­

tion)

(8)

RYSZARD KOTT DANUTA MAGDZIK Instytut Informatyki Politechnika Warszawska

Techniki interpretacji dla mikrokomputerów

Wraz z rozpowszechnianiem się m ikrokomputerów, a szczególnie komputerów osobistych, dużą popularnością zn5wr zaczęły się cieszyć interpretery. Najczęstszym sposo­

bem realizacji w spółczesnych system ów interpretacji dla mikrokom puterów staje się technika tzw. k o d ó w n i z a - n y c h (ang. threadcd codę, TC). N ajlepszym przykładem m ożliwości tej techniki jest język, a w łaściw ie system programowania — FORTH.

W poniższym a rty k u le — om ów im y — n a tle in te r p re ­ ta cji klasycznej — cztery odm iany kodów n ia in y c h : po d ­ p ro gram ow y (STC — su b ro u tin e th rea d ed code), bezpo­

śred n i (DTC — d ire c t th re a d e d code), pośred n i (ITC — in - d irec t th re a d e d code), -znacznikowy (TTC — tok en th re a d e d code). P om iędzy nim i są dw ie zasadnicze różnice — w sp o ­ sobie rep rez en ta cji kodu operacyjnego oraz w sposobie w ja k i typ dynam icznego arg u m e n tu może w pływ ać na do­

bó r o p e ra to ra .

J a k w iadom o, te ch n ik i in te rp re ta c ji o p a rte w y łącznie na in te rp re to w a n y m tekście są nieefektyw ne. D latego te k st p ro g ra m u in terp re to w an e g o je st tłum aczony zazw yczaj na pew ną postać p ośrednią, tzw . kod p o śred n i (nie je s t to kod m aszynow y). P o zw ala to n a znaczną oszczędność za- jętości pam ięci i przyspieszenie in te rp re ta c ji. W szystkie o m aw iane w a rty k u le te ch n ik i należą do k lasy kodów po ­ średnich.

METODA KLASYCZNA _

W klasycznej m etodzie in te rp re ta c ji k o m p ilato r g en e ru je tylko kod pośredni. K od p ro g ra m u sk ła d a się z indeksów tablicy kodów operacy jn y ch (TKO), gdzie są um ieszczone a d re sy p ro ce d u r in te rp re te ra , oraz z ad resó w używ anych zm iennych. K lasy fik a cja o p erato ró w zależnych od ich typu je s t p rzep ro w ad z an a — jeśli to konieczne — przez ja w n e testow anie. O gólny sc h em a t in te rp re ta c ji k la sy cz n ej je st n astęp u jący :

C L A S S1 : ln c r c m c n t(P C I) C L A S S 2 : g o to T K O [M E M [PC I]I

gdzie P C I oznacza licznik rozkazów in te rp re te ra , zaś MEM

— .pamięć. W in te rp re te rz e klasycznym , w p rzeciw ieństw ie do innych te ch n ik , p ę tla in te rp re ta c y jn a je s t ja w n a . W rzeczyw istości k ro k CLASS2 może być b ard z iej złożony, gdyż tru d n o je s t oddzielić a k tu a ln y kod o p era cji od w a r­

tości M EM [PCI]. K ażda p ro ce d u ra w ykonaw cza in te r p re ­ te ra kończy się skokiem do C LA SSL P o stać p ro g ram u w kodzie p ośrednim dla tego sc h em a tu in te rp re ta c ji p rze d ­ staw iono na ry su n k u 1.

W in te rp re te rz e klasycznym fo rm a t in stru k c ji może być dow olnie zm ieniany, a n aw e t inny dla każdej in stru k c ji.

Ż y c io r y s m g r . in ż . R Y S Z A R D A K . K O T T A p r z e d s t a w iliś m y w nr l z 1981 r.

W konsekw encji, w obec w zro stu czasu dekodow ania in ­ stru k c ji, opłaca się używ ać kodów red u k u ją c y c h ro zm iary pro g ram u . D obre w y n ik i m ożna uzyskać p rz y zastosow a­

niu kodów H u ffm a n a.

Kod poiredni Tablica koddw Kod maszynowy

D A N U T A M A G D Z IK j e s t s tu d e n t k ą p ią t e g o r o k u P o l it e c h n ik i W a r sz a w ­ s k ie j (I n s t y t u t I n f o r m a t y k i, W y d z.

E le k tr o n ik a ). S p e c j a li z u j e s ię w o p r o g r a m o w a n iu p o d s t a w o w y m k o m ­ p u te r ó w .

R y s. 1. P o s ta ć p r o g r a m u in t e r p r e t o w a n e g o dla k la s y c z n e j m e t o d y in t e r p r e t a c j i (z a k r e s k o w a n o k o d e f e k t y w n y ; m a s z y n o w y )

W przeciw ień stw ie do pozostałych czterech m etod, gdzie a d re sy p ro ce d u r in te rp re te ra są częścią in stru k c ji, postać in stru k c ji nie zależy tu od w e rsji in te rp re te ra . W szystkie p ro ce d u ry in te rp re te ra , niezależnie od tego czy są one używ ane czy nie, sta n o w ią część kom binacji: in te rp re te r- -p ro g ra m in te rp re to w a n y .

M etoda klasyczna nie pozw ala n a stosow anie o p eracji, k tó re zależą od typu arg u m e n tu . Z naczenie w szy stk ich w y ­ stą p ie ń poszczególnych in stru k c ji je s t ta k ie sam o i roz­

ró żnienie ty p u a rg u m e n tu m ożna osiągnąć jed y n ie przez ja w n e te sto w a n ie w p rocedurze in te rp re te ra . W m etodzie tej łatw o je st zm ienić znaczenie w szystkich w y stą p ień p o ­ szczególnych in stru k c ji przez m odyfikację ta b eli kodów operacy jn y ch . W ten sposób m ożna np. im plem entow ać śledzenie p ro ce d u ry .

CZTERY ODMIANY KODU NIZANEGO

K od nizan y je st te ch n ik ą im p lem e n ta cji języka p o śre­

dniego, k tó ra o rg an iz u je ste ro w a n ie p ro g ra m u jako ciąg w yw ołań podprogram ów . K od n iz a n y je s t szczególnie p rz y ­ d atn y do in te rp re ta c ji — proces in te rp re ta c ji sk ła d a się z p rze k azy w a n ia ste ro w a n ia do p ro ce d u r w skazanych przez te n kod. W szystkie fu n k c je dostępne w języku pośrednim są w y k o n y w an e przez p ro ce d u ry , k tó re n ie są w łaściw ą częścią k o d u nizanego.

K ody n izan ° są szczególnie w ygodne do o rg an izacji in ­ te rp re te ra ja k o m aszyny stosow ej, tj. ta k ie j, w k tó re j ope­

ra c je p rzep ro w ad za się nie w re je stra c h , lecz n a stosie roboczym . T a te ch n ik a je s t stosow ana np. w PASCA LU , v/ in te rp re te ra c h języków L IS P i FO R TH .

W szystkie ro d za je kodu nizanego sk ła d a ją się ze s t r u ­ k tu r y d an y ch , k tó ra je s t ciągiem n iep o w tarza ln y ch id e n ­ ty fik a to ró w p ro ce d u r. T ra d y cy jn ie, kod n izan y je st ściśle zw iązany z poziom em m aszynow ym i za w iera a k tu a ln e w sk aź n ik i p ro ce d u r (z kolei te p ro ce d u ry m ogą być ró w ­ nież p o d p ro g ra m am i w języku p o śred n im lu b w kodzie m aszynow ym ). R ów nież n ie k tó re zasoby p ro ceso ra (;v szczególności re je stry ) są przek azy w an e do u ży tk u in te r ­ p re te ro w i k o d u nizanego. Do im p lem e n ta cji kodu nizanego nie je s t je d n a k konieczne an i ad re so w a n ie bezw zględne, ani używ anie reje stró w .

U ogólniony sch em at in te rp re ta c ji d la kodów nizanych m ożna p rzed staw ić za pom ocą trze ch podstaw ow ych ope­

ra c ji:

(9)

NEXT — obliczenie następnego w sk aź n ik a do in te rp re ta c ji (tą o p era cją m usi kończyć się k ażda p ro c e d u ra w kodzie m aszynow ym )

ENTRY — odw ołanie (wejście) do pro ced u ry niższego p o ­ ziom u (w kodzie pośrednim )

RETURN — p o w ró t z p ro ce d u ry w kodzie pośrednim . O gólny przep ły w ste ro w a n ia dla in te rp re te ró w z kodem n izanym przed staw io n o n a ry su n k u 2. P ro c ed u ry w kodzie m aszynow ym są p ro ce d u ra m i in te rp re te ra (jądro w y k o ­ naw cze). P ro c e d u ry w kodzie p o śred n im są najczęściej p ro ­ ce d u ram i uży tk o w n ik a generow anym i przez kom pilator, choć m ogą być rów nież p ro ce d u ra m i in te rp re te ra . P o n a d ­ to ze zm iennym i zw iązane są p rze w a żn ie p ro ce d u ry do­

stęp u do nich.

Kod Procedury Kod wykonywany

Podprogramowy kod nizany — STC

W tej m etodzie kod p o śred n i stan o w i ciąg w yw ołań pod­

p rogram ów . K ażde w y w ołanie s k ła d a się z pojedynczej o p era cji w języku p ośrednim , n iezależnej od kom p u tera, w k tó ry m rez y d u je. STC je s t m echanizm em kon tro li sz e­

roko stosow anym n a poziom ie sprzętow o-m aszynow ym . O gólny sc h em a t in te rp re ta c ji je s t n astęp u jący :

S T C l : in c r e m e n t (PC I)

STC 2 : w y k o n a j in s t r u k c j ę M E M |P C I|

O p eracje podstaw ow e m a ją postać:

NEXT — p a ra in s tru k c ji RTS i JSR

ENTRY — in stru k c ja JSR (skoku do procedury) RETURN — in stru k c ja RTS (pow rotu z procedury) P rz y k ład odw ołań dla kodu STC p rzedstaw iono na ry s u n ­ ku 3.

R y s. 3. P r z y k ła d o w y s c h e m a t o d w o ła ń d la in t e r p r e t a c j i p o d p ro g r a m o w e g o k o d u n iz a n e g o (STC)

STC je s t n a jb a rd z ie j ogólnym językiem pośrednim , gdyż nie używ a w p ro st języka m aszynow ego. P ro g ram iści rz a d ­ ko piszą p ro g ra m y sk ła d a ją c e się jed y n ie z w yw ołań po d ­ program ów , a le je s t to czasem p ro d u k t w yjściow y kom ­ p ila to ra . STC w nosi m niejszy n a rz u t w y k o n an ia niż w ię-

') N a r y s u n k a c h 2, 4, 5 i 6 n a z w a C A LL o z n a c z a o p e r a c j ę E N T R Y lu b a d r e s p r o c e d u r y E N T R Y

kszość języków pośrednich, poniew aż jego in te rp re te r po­

słu g u je się b ardziej sp rzę tem niż ciągiem in stru k c ji: STC może być o ptym alizow any przez zapisanie w e w n ą trz niego o p era cji w ko d zie m aszynow ym będących zb y t dużym ob­

ciążeniem dla p ro g ra m u . O czywiście, ta k o trzy m an y zop­

ty m alizow any kod nie je st niezależny od m aszyny.

Bezpośredni kod nizany — DTC

DTC sk ła d a się z ciągu w yw ołań p ro ced u r w języku m aszynow ym , w k tó ry ch pom inięto kod w yw ołania. M a on w ięc postać listy adresów , z k tó ry ch każdy w sk az u je p ro ­ cedurę. P oniew aż DTC nie zaw iera żadnego kodu o p eracji, konieczne je st n ap isan ie k ró tk ie g o p ro g ra m u w języku m aszynow ym , k tó ry czyta n astęp n y ad res z listy i p rz e ­ k az u je ta m sterow anie. Słowo „b ezpośredni” w nazw ie ko ­ du oznacza, że pod w sk azan y m ad resem oczekuje się p ro ­ cedury w kodzie m aszynow ym , a nie w kodzie pośrednim , P odstaw o w y sch em at in te rp re ta c ji dla DTC je st n a s tę p u ­ jący:

D T C l : . in c r e m c n t(P C I)

DTC2 : w y k o n a j p r o c e d u r e sp o d a d r e s u M EM jPC I]

N ato m iast podstaw ow e o p era cje in te rp re te ra m a ją postać:

N E X T : I n c r e m e n t (P C I) T M P := M E M [PCI]

g o to T M P

E N T R Y : P C I n a s to s p o w r e t ó w P C I : = T M P + ( J —1) w y k o n a j N E X T

R E T U R N : PC I :** z e s t o s u p o w r o tó w w y k o n a j N E X T

S ch em at odw ołań dla in te rp re ta c ji kodu DTC p rze d staw io ­ no n a ry su n k u 4.

Program Procedury Procedury

w kodzie w kodzie w kodzie

R y s. 4. P r z y k ła d o w y s c h e m a t o d w o ła ń d la b e z p o ś r e d n ie g o k o d u n iz a n e g o (DTC)

W n ie k tó ry ch k o m p u te rach w szystkie czynności zw iązane z o p era cją NEXT m ożna w yk o n ać za pom ocą jednego ro z ­ kazu. W ta k im p rz y p a d k u o sta tn ią czynnością p rzy w y ­ k o n y w an iu o p era cji ENTRY i RETURN je s t w y k o n an ie takiego rozkazu. P ę tla in te rp re ta c ji je s t w ięc n ie jaw n a i ro zsian a po całym in te rp re te rz e . P odobnie je s t dla in ­ nych kodów nizanych, ale w tym p rz y p a d k u lep iej w idać m ożliwość zw iększenia szybkości in te rp re ta c ji. W szczegól­

ności kod DTC id e aln ie n a d a je się dla k o m p u te ra PDP-11, gdyż może być n a nim bardzo sp ra w n ie zre aliz o w an y dzięki in stru k c ji JUMP ■» (r)+ (skok indek so w an y p o śre­

dni z a u to in k re m e n ta c ją re je stru ), gdzie r je s t jed n y m z re je stró w PDP-11 pełn iący m fu n k c ję lic zn ik a rozkazów in te rp re te ra , tj. PCI.

O p erac ja ENTRY nie m usi być w sta w ia n a w całości do p ro ce d u ry pośred n iej, ja k to w y n ik a z ry su n k u . M ożna w yodrębnić w spólny fra g m e n t o p eracji, a w kodzie p o śre­

d nim znajdzie się w ów czas tylk o skok (JMP) do tego f ra g ­ m entu, tj. zazw yczaj trzy b a jty . Nie może to być oczy­

w iście w yw o łan ie p o d p ro g ra m u . (Przy opisie ENTRY d łu ­ gość A -l podano w słow ach; w b a jta c h byłoby A-2; w najczęstszym ‘p rzy p a d k u P C I= T M P + 1 (bajt) ).

W p rz y p a d k u DTC k o m p ilato r g e n e ru je nie tylk o p ro ­ gram w kodzie pośrednim , ale rów nież p ro ce d u ry d ostępu

Cytaty

Powiązane dokumenty

¡zm iennych (eg- zogenicznych i endogenicznych).. w auli Politechniki Białostockiej, przy ul. W iejskiej 45 w Białym stoku, odbędzie się III konferencja naukowa na

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

ferencji użytkowników komputerów ODRA, zorganizowanej we Wrocławiu przez tamtejsze ZETO, sformułowano za­.. rzuty pod naszym

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

Obowiązujący raport języka opublikowano w 1978 roku, niem niej język jest starszy i w iele kom pilatorów akceptuje jego starsze wersje. Rzeczywiście, bardzo w iele

Można wreszcie skorzystać z już zgromadzonych zasobów na komputerze ODRA (pod nadzorem systemu GEORGE-3), wykorzystując komputer osobisty jako inteligentny

Zapewnia ono możliwość wyszukania określonego bloku danych celem jego sprawdzenia i jeśli jest to konieczne - skorygowania zapisanych na taśmie danych.. EC 9 0 0 4