VMS alapismeretek A VMS operációs rendszer egy ún. multiuser, multitasking operációs rendszer. Minden egyes felhasználóhoz egy saját diszk-területet rendel a rendszer. Az operációs rendszerbe a felhasználói név és a jelszó (username, password) megadása révén lehet bejutni. Ez a mechanizmus védelmet jelent az illetéktelen felhasználók ellen, illetve lehetőség van a személyes, bizalmas jellegű adatállományok védelmére. Az egyes felhasználók csoportokra vannak osztva. A felhasználók beállíthatják, hogy egyes állományaikhoz kik férhetnek hozzá, és mit csinálhatnak az egyes file-jaikkal (olvashatják-e, írhatják-e, törölhetik-e, futtathatják-e). Egy állomány tulajdonjoga, illetve elérhetősége szempontjából a felhasználók felosztása a következő. Létezik az owner (az a felhasználó, akié az adott file), a group (a tulajdonossal egy csoportban lévő felhasználók halmaza), a world (az összes felhasználó halmaza) és a system (a rendszer-menedzser, illetve maga az operációs rendszer). Például az OKTATOK csoport állományaihoz a HALLGATOK csoport tagjai - a védelmi kódok megfelelő beállítása esetén - egyáltalán nem férhetnek hozzá. 1. File-ok specifikációja Az operációs rendszer a diszket a DOS-hoz, illetve a UNIX-hoz hasonlóan hierarchikus könyvtárstruktúrába szervezi. A VMS-ben egy adott gépen egy file teljes specifikációja a következőképpen néz ki: logdrive:[rootdir.subdir.subsubdir]filename.ext;v ahol logdrive egy logikai drive név (logikai diszk), ill. eszköznév rootdir az adott felhasználó gyökér könyvtára subdir .... egy adott alkönyvtár-sor elemei subsubdir filename a kérdéses file neve ext a file-név kiterjesztése. Ez bizonyos konvenciókat követ. Például a .c kiterjesztés a C nyelvű forrásprogramok állományainak szokásos kiterjesztése, a .pas, illetve a .for a Pascal, illetve a Fortran forrásprogramokra utal. További konvenciók: .com parancs-file-ok, .obj object modulok, .exe futtatható programok, .olb object modul könyvtárak, .lis lista file-ok (pl. fordítási listák), .txt ASCII szövegfile-ok. v A file verziószáma. A VMS operációs rendszer a file-ok különböző verzióit hozza létre. Egy file módosításának eredményeképpen mindig egy újabb verzió jön létre, eggyel nagyobb v értékkel. A VMS alapértelmezésben mindig a legfrissebb file-verzióval dolgozik. Ha ettől el akarunk térni, explicit módon meg kell adnunk a verziószámot. Fontos, hogy a VMS operációs rendszer a file-ok neveivel, illetőleg az egyes parancsokkal kapcsolatban nem tesz különbséget a kis- és nagybetűk között (hasonlóan a DOS-hoz), míg a Unix operációs rendszer igen. Ha egy VAX gép DECnet hálózatba van kötve, akkor a hálózaton egy file specifikációja kiegészül azzal, hogy a hálózat melyik csomópontján (melyik gépen) található az adott állomány: host::logdrive:[rootdir.subdir.subsubdir]filename.ext;v Itt host annak a hálózatba kapcsolt VAX-nak a neve, ahol a megfelelő diszken, a megfelelő könyvtárban a file található. Ebben a félévben a Pascal prgramozási gyakorlatok egy részét a DEC Support Center VAX-6000 típusú nagyszámítógépén fogjuk végezni. Ezen gép hálózati csomópont-azonosítója (host-neve): TUBCEC. A file-specifikáció host::logdrive:[rootdir.subdir.subsubdir] része ugyanaz, mint a DOS-ban a PATH fogalma. Ez a file hozzáférési útja a hálózatban. Egy adott VAX-ra történő bejelentkezéskor a PATH egy része automatikusan beáll egy default értékre. Például ha a TUBCEC gépen a READER felhasználó bejelentkezik, akkor a PATH alapértelmezésben: TUBCEC::TUB$VSZ:[READER] A PATH host::logdrive részét az esetek többségében nem kell megadni, illetve megváltoztatni. További példa a file-specifikációkra: TUB$EET:[KOVACS.FELADAT]SZAMOL.PAS;12 eszköz directory név kiterjesztés verziószám A teljes specifikáció nagy része általában elhagyható, mivel a bejelentkezés pillanatában a default specifikáció beáll arra az eszközre, ahol az adott felhasználó gyökérkönyvtára található és aktuális könyvtár a gyökérkönyvtár lesz. Ez a beállítás minden esetben a sys$login szimbólumhoz is hozzá van rendelve (a szimbólumokat lásd később), és ezt a beállítást a SET DEFAULT paranccsal át is állíthatjuk, például egy alkönyvtárat jelölve ki aktuális könyvtárként: $ SET DEF [KOVACS.FELADAT] $ PASCAL SZAMOL Az előbbi utasitásokkal az aktuális eszközön a [KOVACS.FELADAT] directory SZAMOL nevű, PAS kiterjesztésű file-jai közül a legmagasabb verziószámút fordítjuk le. Célszerű, ha a file-név 8, a kiterjesztés 3 karakter hosszuságú. A file-nevek specifikációjában előfordulhat a * karakter, ennek jelentéseit lásd a DIRECTORY parancsnál. Már ebből a példából is látszik, hogy a VMS nem tesz különbséget a kis és nagy betűk között, valamint egyes VMS parancsok egészen addig rövidíthetők, amíg egyértelműségük megmarad. (Lásd set default helyett set def). A set default és a pascal parancsokat később ismertetjük. Ha a set def paranccsal úgy elállítottuk az aktuális könyvtárat, hogy "nem találunk vissza" a bejelentkezéskor érvényes könyvtárunkra, adjuk ki a set def sys$login parancsot! Mint utaltunk rá, a sys$login szimbólum az egyes felhasználók belépéskor érvényes directory specifikációjával ekvivalens, így biztos, hogy a gyökérkönyvtárunkba jutunk. Megjegyezzük, hogy az előbbi példában a sor elején álló $ jel a VMS operációs rendszer promptját jelképezi. A TUBCEC gépen ez a prompt valójában TUBCEC_username> alakú, ahol username a felhasználói azonosító. A READER felhasználó esetében tehát a prompt TUBCEC_READER>, de jelen ismertetőben a VMS promptot mi továbbra is a $ szimbólummal jelezzük. 2. Help a lehetséges parancsokról $ help A HELP parancs ismerteti a VMS rendszer DCL (DEC Command Language) parancsait, illetve a parancsokban előforduló szintaktikai elemeket. Ha a Topic? kérdésre az Additional information available szöveg alatt megjelenő bármely kulcsszót beírjuk, további ismertetést kapunk az adott témáról. A kulcsszavak rövidithetők. ? beirására az előző szövegrészt ismétli meg. Kilépni a RETURN billentyű kellő számú megnyomásával lehet. Fontosabb témák: ASSIGN CC CONTINUE COPY CREATE DEASSIGN DELETE DIFFERENCE DIRECTORY DUMP EDIT FORTRAN GOTO HELP LINK LOGOUT MAIL PASCAL PHONE PRINT PURGE RENAME RUN SEARCH SET SHOW Specify SUBMIT TYPE 3. Directory-k A directoryk speciális, .DIR kiterjesztésű file-ok, amelyek egyéb file-ok adatait tartalmazzák. A directory-k aldirectory-kat tartalmazhatnak, különböző feladatokhoz tartozó file-ok elkülönítésére . Directory készítése $ create /dir [.dirname] (DOS-ban: md dirname) Az aktuális directory-ban egy dirname nevű al-directory-t készít. Az alkönyvtárak egy dirname.dir nevű file-ként lát- szanak az aktuális könyvtárban. Directory váltás $ set default [.subdir] (DOS-ban: cd subdir) Az aktuális könyvtár subdir nevű alkönyvtárára állítjuk át a default PATH-t. (Relatív specifikáció) $ set default [root.subdir] (DOS-ban: cd \subdir) A directory fában abszolút módon írjuk elő, hogy a default PATH melyik könyvtárra legyen állítva $ set default [-] (DOS-ban: cd ..) Visszalépés a directory fában a root irányában. Fontos, hogy ha már elértük az account-unkhoz rendelt root-ot, akkor ne adjuk ki ezt parancsot, mert különben a [0000000] könyvtárba jutunk, amelynek kezelése semelyik felhasználó számára sem lehetséges. $ set default sys$login (DOS-ban nincs ilyen) A bejelntkezéskor érvényes könyvtárba (gyökérkönyvtár) vál t. Például ha eredetileg a [KOVACS] directory-ban voltunk, amelyben volt egy A.B nevű file, akkor $ CREATE/DIR [KOVACS.FELADAT] hatására megjelenik a [KOVACS] direc- tory-ban egy FELADAT.DIR nevű file. Ezután a $ SET DEFAULT [.FELADAT] parancs hatására a default directory [KOVACS.FELADAT] lesz. Ha most itt $ COPY [-]A.B * parancsot, akkor itt keletkezik egy szintén A.B nevű másolat. [-] jelentése "az eggyel magasabb directory", azaz [KOVACS], a * jelentése ebben a kontextusban: "ugyanaz". Default directory (path) lekérdezése $ show default (DOS-ban: cd) A fenti példánál maradva a képernyőn a TUB$EET:[KOVACS.FELADAT] hozzáférési utat írja ki a VMS. Directory tartalmának megnézése $ dir mask (DOS-ban: dir mask) A default directory mask-ra illeszkedő file-jait listázza ki a VMS. Például: $ DIR A default directory összes file-jának nevét kilistázza $ DIR *.PAS Az összes .PAS kiterjesztésű file nevét kilistázza $ DIR FE*BO Az összes FE kezdetű, BO végű file nevét kilistázza A fenti első példából látszik, hogy a mask elhagyása olyan, mintha a *.*-ot adtuk volna meg. A dir parancsnak sok ún. kapcsolója (VMS terminológiával 'qulifier'-e) van. Ezek közül néhány fontosabbra mutatunk be példát: $ DIR /SINCE=YESTERDAY A default directory frissen keletkezett file-jait listázza $ DIR /SIZE A file-ok neve mellett azok blokkban számolt méretét is megjeleníti. 1 blokk 512 byte méretű. $ DIR /OWNER Minden file-név mellett megjelenik a file-t tulajdonosának user-neve. $ DIR /DATE A file-okat keletkezési dátumukkal együtt listázza. $ DIR /SECURITY A file-okat a hozzáférési jogosultságot jelző információval (protection code) együtt listázza. A kódok jelentése: R olvasási jog, O\: tulajdonos W írási jog, S: system E futtatási jog, G: csoport D törlési jog. W: world (mindenki) Egyszerre több kapcsolót is megadhatunk; ekkor ezek logikai ÉS kapcsolatát képezve kapjuk meg a file-ok listáját. Pl. a dir/siz/dat parancs hatására a file-okat a méret- és dátuminformációval együtt listázza a VMS. 4. File másolása $ copy source destination (DOS-ban: copy source destination) Ez a parancs a source specifikációval megadott file-t a destination specifikáció szerinti file-ba másolja. A file specifikáció általában csak filenam.ext alakú. A VMS alapértelmezésben mindig a legfrissebb file-verzióval dol- gozik. Ha ettől el akarunk térni, explicit módon meg kell adnunk a verziószámot. Például: $ COPY A.B CCC.DDD Az A.B file legmagasabb verzióját átmásolja a CCC.DDD file-ba. Ennek verziószáma a létező legnagyobbnál eggyel magasabb lesz. $COPY *.PAS *.BAK Minden .PAS kiterjesztésű file-ról egy .BAK kiterjesztésű másolatot készít. $COPY *.PAS SCHKOL"username password":: Minden .PAS kiterjesztésű file-t a háló- zaton keresztül az SCHKOL nevű gépen lévő username felhasználó gyökérkönyv- tárába másoljunk. (Az SCHKOL gépen a VMS a username és a password alapján "kita- lálja" a username felhasználó gyökér- könyvtárának a helyét.) A password infor- máció titkos, megadásával csínján bán- junk! 5. File-ok átnevezése $ rename oldname newname (DOS-ban: rename old new) Ez a parancs lényegében úgy működik, mint a DOS-beli megfe- lelője: az oldname nevű file-t newname-mé nevezi át. oldname előtt VMS-PATH is állhat. Például: $ REN A.B A.FOR vagy Az A.B file nevét A.FOR-ra változtatja $ RENAM A.B .FOR (a parancsok a filenevek elhagyott ré- szét az előző file-névből veszik át) $ REANME A.FOR [.FORTRAN] Az aktuális könyvtár A.FOR állományát a [.FORTRAN] alkönyvtárba helyezi át, Egy allomány áthelyezése a REN parancs- csal csak akkor lehetséges, ha a cél- könyvtár fizikailag azonos diszken van, mint az eredeti allomány. 6. File-ok törlése $ del mask (DOS-ban: del mask) A DOS del parancsához hasonlóan működik. A mask paraméter megadása kötelező. A mask egy file-specifikáció kell legyen. A filename.ext;v részben ún. joker-karakter (wildcard characters) is megadható. Ez a *, ami tetszőleges rész- sztringet helyettesíthet. Tartózkodjunk a del *.*;* parancs kiadásától: ez mindent kitöröl az aktív könyvtárból. A verziószám megadása kötelező. Ha csak a verziószámot bevezető ;-t adjuk meg, akkor az utolsó verzióra vonatkozik a parancs. A del parancsnál célszerű egyes kapcsolók (qualifiers) használata. Ilyen például a /confirm del mask /confirm hatására az összes, a mask-ra illeszkedő file törlésére vo- natkozólag megerősítést kér az operációs rendszer. Példák: $ DELETE ABC.PAS;3 A megadott file-t törli. A verziószám megadása kötelező! $ DEL *.FOR;* Minden .FOR kiterjesztésű file-t töröl Célszerű, ha a könnyen reprodukálható állományaink közül a szükségteleneket rendszeresen töröljük. Így például egy Pascal programozási feladat befejezése után javasoljuk a Pascal forrásállo- mányokból generált .obj és .exe kiterjesztésű file-ok törlését, ugyan is ezek egy programfordítási és szerkesztési paranccsal (lásd később) gyorsan újra generálhatók. 7. Régi file-verziók törlése $ purge mask A mask-ra illeszkedő file-ok régi verzióit törli. A mask elhagyása a *.* megadásával ekvivalens. Rendszeresen használjuk ezt a parancsot, mert a rendelkezésünkre bocsáj- tott diszk terület hamar elfogyhat. Például: $ PURGE *.PAS Az összes .PAS kiterjesztésű file-t törli, a legutolsó verzió kivételével. A diszkterület elfogyásakor, illetve munka befejezésekor használjuk. $ PURGE A default directory összes file-jára vonatkozik 8. A rendelkezésre álló diszk-terület lekérdezése $ show quota Az adott felhasználó számára allokált diszk-területről ad felvilágosítást blokk-egységben. 1 blokk = 512 byte. Így tudható meg, hogy a rendelkezésre álló diszk-területből hány blokk szabad. Ha elfogyott a diszk-területünk, a delete és purge parancsokkal "takaríthatunk". Fontos, hogy a TUBCEC üzemeltetői nem garantálják a felhasználó állományok folyamatos mentését, így arról minden felhasználó maga kel l hogy gondoskodjon. Erről részletesen a Hálózati server szolgáltatások című részben írunk. 9. Dátum lekérdezése $ show time A számítógép órája által jelzett dátumot és időt írja ki a képernyőre 10. ASCII szöveges file-ok tartalmának megnézése $ type filespec (DOS-ban: type filespec) A DOS type parancsához hasonlóan működik. Egy hasznos kapcsoló a /page: type filespec /page hatására a filespec által megadott file-t képernyőnként listázza a VMS. A listázás egyébként CTRL-S-sel felfüggeszthető, illetve CTRL-Q-val folytatható. Ez általában is igaz minden output műveletre (lásd software-handshake). A VMS-ben a CTRL-C-vel, illetve a CTRL-Y-nal lőhetünk le minden futó programot. Például: $ TYPE ELSO.PAS Az ELSO.PAS nevű file-t írja ki a képernyőre 11. Kijelentkezés a rendszerből $ logoff 12. Egyéb parancsok: Átjelentkezés másik VAX-ra $ set host newhost (PCSA-ban: sethost newhost) A DECnet hálózatban, az aktuális host gép által ismert más host-ra történő bejelentkezés. Például a Villamoskar TUBELF néven ismert MicroVAX 3600-as számítógépére - az azon a gépen érvényes témaszámmal - így lehet bejelnekezni: $ set host tubelf Username: ottani témaszám Password: az ottani témaszám password-je A BME Központi Könyvtárának számítógépes katalógusát í gy haszálhatjuk: $ set host tublib DOS-ban: C:\USERS> sethost tublib Username: ALEPH A hálózat megtekintése: $ show network Az itt felsorolásra kerülő "neveket" látja az aktuális host. Ezek közül a P-vel kezdődő nevek a kari hálózatba kötött PC-kre utalnak. A név nélküli hálózati csomópokat is "látja" a VAX, csak a nevüket "nem tudja". Az interaktív felhasználók listájának lekérése $ show users E paranccsal megnézhetjük, hogy mely felhasználók vannak beje- lentkezve, és hogy mely terminálokon dolgoznak. A /full kapcsoló használatával a felhasználók neve és terminál azonosítója mellett további adatokhoz is hozzáférhetünk az egyes felhasználókra vonatkozólag. Sztring keresése file-okban $ search mask string (DOS-ban esetleg: grep string mask) A mask által megadott file-okban string-et keresi. Jelszó (password) átállítása $ set password Ezzel állíthatja át az előre definiált password-jét az Ön által adando ' új jelszóra. Ezzel biztosíthatja, hogy személyes adatállományaihoz illetéktelen módon ne lehessen hozzáférni. Kérjük, hogy az újonan megadott jelszavát jól jegyezze meg, mert a félév során nem áll módunkban új, ismert jelszót definiálnunk a felhasználók számára! A fenti parancs kiadása után a New password kérdésre adja meg az új jelszót, ami 6 karakternél hosszabb kell legyen, majd a Verification kérdésre adott válasszal erősítse meg - az új jelszó másodszori begépelésével - a változtatást. Az új jelszót csak akkor fogadja el a számítógép, ha a Verification-re adott válasza megegyezik a New password-ként megadott jelszóval. Túl rövid, illetve triviális, egyszerűen kitalálható jelszót, valamint Ön által korábban már használ t jelszót nem fogad el a VMS operációs rendszer. 13. További ismeretek VMS parancs-file-ok és futtatásuk A VMS parancsfile-ok olyan ASCII állományok, melyeknek sorai a $ karakterrel kezdődnek, és ezt követően egy végrehajtható VMS parancsot tartalmaznak. Tipikusan arra szolgálnak, hogy több, sokszor végrehajtandó parancsot egy egységbe foglalhassunk, hogy együtt hajthassuk végre azokat. Szokásos kiterjesztésük a .COM. (Hasonlítanak a DOS .BAT kiterjesztésű file-jaihoz) Egy ilyen file futtatása a következőképpen lehetséges: $ @FUTTAT A FUTTAT.COM parancsfile-t lefuttatja Tipikus feladat: Készítsünk olyan parancs-file-t, amely Pascal programok fordítására és linkelésére alkalmas. Legyen ennek a file-nak a neve PL.COM, és rendelkezzen egy paraméterrel, amely a fordítandó file nevét tartalmazza. A parancsok egyes paraméterei konstans értékek is lehetnek, és a parancs file paramétereit is átadhatjuk nekik. A példafeladatunk megoldására szolgáló parancs-file tartalma a következő lehet: $ PAS 'P1' $ LINK 'P1' A fenti sorokat a PL.COM file tartalmazza. A VMS-nek kiadott @PL proba parancs hatására a proba.pas file-t lefordítjuk a PASCAL fordítóval, és az így keletkezett proba.obj file-hoz hozzászerkesztjük a futási idejű könyvtárat a link program segítségével. Ha proba.pas file a PROGRAM kulcsszóval kezdődött, akkor a linker előállítja a proba.exe futtatható programot. Szimbólumok definiciója $ PLI:==PASCAL/LIS Definiálja a PLI szimbólumot, amelynek értéke a definicóként megadott sztring lesz. A fenti szimbólumdefinició után PL olyan, mintha beépített VMS parancs lenne. Ekkor tehát: $ PLI ABS Lefordítja az ABS.PAS file-t, és listát készít az ABS.LIS file-ba $ PLI B Lefordítja a B.PAS file-t és fordítási listát készít a B.LIS file-ban. Egy másik példa: $ LLL:==LINK A,B,ABS Definiálja az LLL szimbólumot $ LLL Összeszerkeszti a megadott file-okat Az egyes fordítóprogramokat és a linkert később ismertetjük. A definiált szimbólumok értéke meg is nézhető a show symbol szimbólum paranccsal. Például: $ show symbol pli hatására a következő íródik ki a képer- nyőre: PLI="PASCAL/LIS" $ show symbol * hatására az összes, az adott felhaszn- náló számára definiált szimbólum felso- rolásra kerül. Érdemes tanulmányozni. Szimbólumok és egész számokkal végezhető műveletek Az eredm=2*8 parancs definiálja az eredm szimbólumot. A definició hatására a VMS elvégzi a 2*8 egész szorzást, és annak eredményét rendelei az eredm szimbólumhoz. Ezután a show symb eredm paranccsal megnézhetjük eredm értékét. Ez a következő lesz: eredm = 16 Hex = 00000010 Octal = 00000000020 azaz a számítási eredmény decimális, hexadecimális és oktális formában lett az eredm szimbólumhoz hozzárendelve. A négy alap aritmetikai műveletet alkalmazhatjuk ilyen formán egész konstansokra. II A TUBCEC számítógépről a hallgaók számára elérhető szolgáltatások: 1. Szöegszerkesztés $ edit file.ext A file.ext ASCII állomány szerkesztésére behívja a szövegszerkesztő programot. A szövegszerkesztő program saját HELP-ekkel rendelkezik. A * prompt-jel megjelenése után HELP beirására a szövegszerkesztő kezelését ismerteti. C (change) parancsra átmegy képernyő-editor üzemmódba. Itt a HELP funkció a jobboldali szürke gombok közül a '8' fölöttivel kérhető. Ha IBM PC-ről jelentkeztünk be, a billentyűzet-kiosztás eltérhet az editor által feltételezettől. Példa: $ edit elso.pas Behívja a szövegszerkesztő programot a megadott file létrehozására vagy javitá- sára. Az új változat azonos néven, eggyel magasabb verziószámmal jön létre. * c teljes képernyős editor üzemmódba váltunk, ahonnan CTRL-Z-re visszatérhetünk a *-hoz PROGRAM ELSO(INPUT, OUTPUT); Beírjuk a programunkat. Használhatjuk a 4 BEGIN kurzorvezérlőt, és a megszokott szerkesztő WRITELN('Hello!'); billentyűket (pl. a backspace gombot) END. [EOB] Szövegbuffer vége CTRL-Z A *-hoz térünk vissza *exit elmenti az elso.pas file-t és kilép, vagy *quit kilép mentés nelkül. Fontos parancs a *-nál: *help 2. Saját programok írása Pascal, C és Fortran nyelven: fordítás, linkelés, futtatás Programjainkat a VMS szövegszerkesztő programjával gépelhetjük be (vagy a hálózatba kapcsolt más gépekről a VAX-ra másolhatjuk). A forrás állományok elkészülte után azokat le kell fordítani a megfelelő fordító programmal, az így keletkező tárgykódú állományokból futtatható prog- ramot kell szerkesztenünk. Az így elkészült programot a VMS operációs rendszerből futtathatjuk. Pascal fordító $ pascal file A file.pas file-ból file.obj ún. object modul készül Például: $ PASCAL ABC Az ABC.PAS file-t lefordítja, létrehozza az ABC.OBJ tárgykódú file-t. ABC.PAS tetszőleges számú procedure-t, illetve function-t tartalmazhat egy PASCAL programból. A file vagy a PROGRAM kulcs- szóval (főprogram), vagy a MODULE kulcs- szóval (csak szubrutinok) kezdődjön! Fortran fordító $ fortran file A file.for file-ból file.obj ún. object modul készül Például: $ FOR PROG A PROG.FOR nevű file-t lefordítja, és létrehozza a PROG.OBJ nevű, tárgykódú file-t. PROG.FOR tetszőleges számú FORTRAN szubrutint tartalmazhat egy nagyobb programból. C fordító $ cc file A file.c file-ból file.obj ún. object modul készül Például: $ CC MEGOLD A MEGOLD.C file-t lefordítja, létrehozza a MEGOLD.OBJ nevű, tárgykódú file-t. MEGOLD.C tetszőleges számú függvényt tartalmazhat egy C programból. Futtatható program szerkesztése $ link file A file.obj file-ból file.exe futtatható program készül. Ha csak egy object modult linekelünk, akkor abban a modulban főprogramnak (Fortran MAIN, Pascal PROGRAM, C main) is kell lenni. Linkelhetünk több modult is, ekkor a link után vessző- vel elválasztva kell felsorulnunk az object modulokat. Az .exe program nevét az első object modul alapján adja a linker, a főprogram bárhol lehet. C programok linkelésekor a modul-listára fel kell venni a sys$library:vaxcrtl.olb/lib-et is. Például: $ LINK ABC,PROG A fenti tárgykódú részekből egy ABC.EXE nevű, futtatható programot szerkeszt. $ LINK ABC,MEGOLD,SYS$LIBRARY:VAXCRTL.OLB/LIB Ha C-ből fordított tárgykódú modult is beépítünk a programba, akkor a VAX C futási idejű könyvtárat (VAXCRTL.OLB) is hozzá kell szerkeszteni a programhoz. Fizikai file-hozzárendelés FORTRAN és PASCAL programok számára $ assign physdev logname A physdev fizikailag létező eszközt (diszket, terminált, file-t) a logname logikai névhez rendeli. Leggyakoribb használata az, hogy fizikai file-okat egy-egy logikai névhez rendeljük ezzel a paranccsal. Például: $ ASS QWER.ASD FOR008 A FOR008 logikai nevet (a 8-as FORTRAN perifériát) a QWER.ASD file-hoz rendeli Az utasitás kiadása nélkül a FOR008.DAT file az alapértelmezés. A többi logikai szám kiosztása hasonló, kivéve: az 5-ös a klaviatúra, a 6-os a képernyő. $ ASS QWER.ASD BEFILE PASCAL-ban a VAR-ként definiált FILE-ok var befile: file of real; azonosítói logikai nevek. Fizikai állo- : mányokat a VMS ASSIGN utasításával ren- reset(befile); delhetünk hozzájuk. Enélkül minden : egyes PASCAL file-hoz a FILE2.DAT fizi- get(befile); kai állomány rendelődik. A standard INPUT és OUTPUT állományok alapértel- mezés szerint a terminálhoz vannak rendelve Fortran és Pascal programok esetén az assign parancsot mindig adjuk ki a program futtatása előtt! C nyelven írt programok esetében nincs szükség állomány-hozzá- rendelésre, mert ezt maga a C szabvány rögzíti (lásd az open(), illetve a fopen() függvényeket). Például folyam-jellegű C filekezelés esetén a fopen nevű szabványos C függvénnyel (az stdio.h szabványos fejlécfile-ban van deklarálva) nyithatjunk meg egy adott nevű fizikai file-t írásra, vagy olvasásra. Programfuttatás $ run exefile Az exefile.exe programot futtatja le a VMS rendszerben. Példa: $ RUN ABC Lefuttatja az ABC.EXE programot File-hozzárendelés megszüntetése $ DEASS FOR008 Az előző hozzárendelést megszünteti. Programok lelövése: CTRL-Y A CTRL és Y gombok egyszerre történő lenyomása az éppen futó (például végtelen ciklusba keveredett) programot lelövi. Lelőtt programok újraindítása $ CONTINUE A CTRL-Y-nal lelőtt programot továbbinditja. 3. Elektronikus levelezés Az elektronikus levelezés (e-mail) a VAX-ról a VMS operációs rendszer MAIL nevű levelező rendszerével lehetséges. $ mail MAIL> Itt a VMS operációs rendszer levelező programjának adhatunk parancsokat. A legfontosabb parancs: MAIL> HELP A mail program parancsairól ad help-et. Ugyanolyan stílusban működik, mint az operációs rendszer help-je MAIL> SEND To\: címzett Subject: egysoros információ a levél tárgyáról Type your message, press CTRL-Z when finished Most írjuk be az üzenetet, aztán nyomjuk meg a a CTRL-Z-t Ezzel a mail-paranccsal üzenetet küldhetünk a hálózat bármely felhasználójának. A helyi gépen lévő cimzettek esetén eseten elég a To\: kérdésre csak az illető felhasználói nevét megadni, egyébként pedig a címzett teljes ún. Internet-címét kell megadnunk az alábbi formában: To\: mx%"internet-cím" Az Internet-cím alakja: user@host.subdomain.domain Például a TUBCEC gépen dolgozó felhasználók elektronikus levélcíme a nagyvilagból nézve username@dcsc.bme.hu alakú. A SEND parancs használatakor lehetőségünk van arra, hogy egy előre elkészített file-t küldjünk el. Ennek módja: SEND file ahol file az elküldendő file neve (név + kiterjesztés). A SEND/EDIT parancs kiadásakor a VMS szövegszerkesztőjét aktivizálva írhatjuk meg az üzenetünket. A szöveg beírását követően a CTRL-Z-t leütve majd a * promptnál az exit parancsot kiadva a begépelt üzenetünk elkűldésre kerül. MAIL> REPLY Egy levél olvasásakor kiadva ezt a parancsot, azonnal válaszolhatunk a feladónak. A To\: kérdésre adandó válaszként behleyettesíti a MAIL a feladó címét, a Subject: kérdésre adandó válaszként pedig a RE: eredeti subjec sztringet helyettesíti be. Használata egyébként ugyanolyan, mint a SEND parancsé. MAIL> EXTRACT file Ez a parancs az aktuálisan olvasott levelet egy a file.txt file-ba menti ki. Ha le akarjuk hagyni a levél fejléc- részét (From: To\: Subject: Cc:), akkor a fenti paran- csot az EXTRACT /NOHEAD file formában adjuk ki. MAIL> dir Az aktuális levél-dosszié (ún. folder) tartalmát listázza ki. Egy levelet az azonosítószámának megadásával választ- hatunk ki olvasásra. MAIL> delete Az éppen olvasott levelet törli. Törlésre megadhatjuk levelek listáját (sorszámok vesszővel elválasztva), illet- ve egy sorszám intervallumot (két sorszám kötőjellel elvá- lasztva). A delete parancs ténylegesen még nem törli a le- veleket, hanem csak az aktuális dossziéból áthelyezi azo- kat az ún. "szemétkosárba" (wastebasket-be). A leveleket a mail csak akkor törli ki fizikailag, ha az exit paranccsal lépünk ki belőle. MAIL> set folder foldername Egy levél-dosszié kiválasztása. Alapértelmezésben 3 dosszié van: mail - a régi levelek dossziéja, newmail - az új levelek dossziéja, wastebasket - a törölt levelek dossziéja. Ha új levelünk van (erre bejelentkezéskor mindg figyelmez- tet a VMS), akkor a mail program indításakor mindig a newmail lesz az aktuális dosszié, egyébként pedig a mail folder lesz kijelölve. Levelek törlése ténylegesen azt je- lenti, hogy a wastebasket folderba helyezi át azokat a levelező rendszer. Ha mégsem kívántunk egy levelet töröl- ni, akkor a move paranccsal (lásd a helpet) "vadászhatjuk vissza". MAIL> quit Kilépés a mail programból úgy, hogy a wastebasket folder tartalma megmarad. MAIL> exit Kilépés a mail programból úgy, hogy a wastebasket folder tartalmát fizikailag törli a rendszer. He lehet, ezt hasz- náljuk, mert a csak logikailag törölt leveleink is foglal- ják a diszkterületünket. Célszerű téma szerint külön folderekben tartani fontosabb leveleineket! 4. A BME Központi Könyvtára 1985 utáni állományának katalógusa, könyvtári előjegyzés $ set host tublib Username: ALEPH A fenti parancs általában minden egyetemi hálózatba kapcsolt VAX-on működik (feltéve, hogy a TUBLIB gépet ismeri az adott VAX, amit használunk). Az aleph programmal kapcsolatban lásd a könyvtári tájékoztatót. 5. Belépés UNIX operációs rendszert használó számítógépekre A TUBCEC gépen - egy alkalmas kiegészítő program következtében - lehetőség van arra, hogy az egyetemi számítógéphálózaton, illetve az országos és világhálózaton (Internet-en) keresztül számtalan, többnyire a Unix operációs rendszert futtató számítógépre csatlakozzunk. Ehhez először is tudnunk kell a kérdéses számítógép azonosító nevét ( ami hasonló az elektronikus levelezés kapcsán ismertetett internet-címhez), de legrosszabb esetben tudnunk kell a gép ún. ip-számát, másrészt érvényes felhasználói névvel és jelszóval kell rendelkeznünk a használn i kívánt gépen. A bejelentkezést a telnet program segítségével hajthatjuk végre: $ telnet Aktivizáljuk a telnet programot TELNET> help Helpet kérünk a lehetséges parancsokról TELNET>conn sun2.eet.bme.hu Kapcsolódás egy távoli gépre Trying...152.66.72.2 Connected to SUN2.EET.BME.HU. Escape character is '^]'. SunOS UNIX (sun2) login: username Ottani felhasználói azonosító Password: Ottani jelszó Last login: Thu Aug 26 13:25:11 on console SunOS Release 4.1.1 (GENERIC) #1: Thu Oct 11 10:25:14 PDT 1990 SunOS Release 4.1.1 (GENERIC) #1: Thu Oct 11 10:25:14 PDT 1990 . . Használjuk a távoli gépet - egy SUN-t. . sun2::> logout Kijelentkezünk a távoli gépről. sun2: username logged out at Fri Aug 27 17:03:57 MET DST 1993 Remote connection closed A telnet lezárja a kapcsolatot. TELNET> quit Kilépünk a telnet programból Gyorsabb a bejelntkezés, ha a telnet programnak paraméterként megadjuk a távoli gép azonosítóját: $ telnet sun2.eet.bme.hu A TUBCEC által közvetlenül ismert, telnet-tel elérhető távoli ge 'pek listáját az $ ucx show host * paranccsal kaphatjuk meg. Ha nem interaktív géphasználat miatt szeretnénk egy távoli gépre belépni, hanem csak file-okat szeretnénk másolni, akkor az ftp programot használhatjuk. Az ftp programot az $ ftp paranccsal aktivizálhatjuk. Egy példa: TUBCEC::POPPE> ftp Aktivizáljuk az ftp programot FTP>connect sun2.eet.bme.hu Egy távoli gépre csatlakozunk sun2 FTP server (SunOS 4.1) ready. Connected to sun2.eet.bme.hu. Az ftp felvette a kapcsolatot. Name (sun2.eet.bme.hu\:poppe): kovacs Be kell jelentkeznünk. Az ftp 331 Password required for kovacs. a helyi gép username-jét kínálja Password: fel, de nekünk a távoli gépen érvényes témaszámot kell megadni. 230 User kovacs logged in. Sikeres volt a bejelntkezés. FTP>dir A VMS dir Unix megfelelőjét, az 200 PORT command successful. ls-t hajtja végre a távoli gépen. 150 ASCII data connection for /bin/ls (152.66.129.1,1198) (0 bytes). .login A távoli gép login könyvtárának .logout listáját kapjuk meg. digitrain electros solotex termanal tex 226 ASCII Transfer complete. 45 bytes received in 00:00:00.04 seconds FTP>set def "solotex" A távoli gépen a solotex könyv- 250 CWD command successful. tárba váltunk be. A parancsokat helyi gép szintaktikájának (VMS) FTP>dir megfelelően adjuk ki, de az argu- 200 PORT command successful. mentumot a távoli gép operációs rendszere (itt Unix) szerinti szintaktikával, idézőjelek közt kell megadnunk. 150 ASCII data connection for /bin/ls (152.66.129.1,1199) (0 bytes). gener10.tex Lista a távoli gép solotex könyv- gener7.tex táráról. gener8.tex gener9.tex 226 ASCII Transfer complete.41 bytes received in 00:00:00.04 seconds FTP>exit Kilépünk az ftp-ből, a kapcsolat automatikusan lebomlik. File másolása a távoli gépről FTP> get "remotefile" A remotefile nevű állományt lemá- solja a távoli gépról. A VAX-on ugyanazzal a névvel hozza létre az az állományt. File másolása a távoli gépre FTP> put "localfile" A localfile helyi állományt a VAX- ról a távoli gépre másolja. A tá- voli gépen a VMS-es névvel jön létre az új állomány. FTP> help A VMS-ben szokásos stílusú helpet ad az ftp parancsairól. 6. Hálózati server szolgáltatások A TUBCEC gépen, csakúgy, mint a legtöbb villamoskari VAX számítógépen fut a Pathworks for DOS nevű szoftver. Ezt korábban PCSA-nak nevezték a Personal Computer System Architecture szavak rövidítéseként, és a továbbiakban mi is ezt a rövidítést fogjuk használni. A dolog lényege az, hogy az egyazon nagysebességű (10 Mbit/sec) Ethernet hálózaton található VAX számítógépek és IBM-PC kompatibil is számítógépek közös erőforrásokat (diszkek, nyomtatók) használhatn ak. Maguk a közös erőforrások egy-egy VAX géphez tartoznak és a VMS operáció s rendszer látja el a felügyeletüket. A PCSA rendszer VAX-on futó kiszolgáló programjai lehetővé teszik, hogy az egyes PCSA kilens programot futtató PC-k a nagy gép bizonyos diszkterületeit, illetőleg nyomtatóit sajátjukként lássák. Például a Villamoskari Számítóközpon tban (VSZK-ban) található PC-k egy C: és egy D: merevlemezes meghajtóval rendelkeznek, az összes további (E:, F:, ... stb.) meghajtók ún. hálózati drive-ok: valamelyik VAX számítógép (példánkban vagy a TUBCEC vagy a TUBELF) által a PC-k felé nyújtott diszkterületek. A PCSA háromféle szolgáltatást nyújthat: vannak ún. diszk-szolgáltatások (disk service), file-szolgáltatások (file service) és nyomtató szolgáltatások (print service). A diszk-szolgáltatások a VAX oldalon egy speciális, a PCSA által nagyon gyorsan kezelhető formátumú ún. container file-nak felelnek meg. A container file-ba a VMS rendszergazda helyezhet el DOS állományokat, a DOS oldali felhasználók ezeket csak olvashatják. A file-szolgáltatások a VMS oldalon egy-egy felhasználó diszkterületének felenek meg. Egy file-szolgáltatás igénybevételekor meg kell adni annak a felhasználónak a felhasználói azonosítóját é s jelszavát, akinek a diszkterületét hálózati DOS drive-ként szeretnénk használni. A DOS oldalról történő olvasás során az állományokat a V MS file formátumáról a PCSA automatikusan DOS formátumuvá konvertálja, illetve a DOS oldalról történő íráskor VMS formátumuvá alakítja. E gy file- szolgáltatáshoz rendelt hálózati drive-hoz a VMS oldali védelmi kódok szerint lehet csak hozzáférni, azaz ami a VMS-ben írásvédett, az a DOS-ban is az lesz. A legtöbb esetben a VMS alapértelmezés szerinti védelmi kódjai megfelelőek, így ezeken nem célszerű változtatni. A nyomtató szolgáltatásokat igénybe véve a DOS felől nézve a szokáso s LPT1-es printer porton kívül további, LPT2-es, LPT3-as, stb. hálózati printer portokat hozhatunk létre. Ezek a DOS-ból ugyanúgy kezelhetők, mint a PC saját, LPT1-es nyomtatója, de a valóságban egy-egy, a VAX server géphez csatlakoztatott nyomtatót jelentenek. A különböző PC-ktől érkező nyomtatási kéréseket a VAX server sorba rendezve hajtja végre. A VSZK-ban található személyi számítógépeken a DOS indításakor a P CSA kliens programok is automatikusan elindulnak, és az egyes VAX server-ek megfelelő diszk- és nyomtató szolgáltatásaira kapcsolódnak. Ha file- szolgáltatást szeretnénk igénybe venni, akkor a VAX server-rel a kapcsolatot magunknak kell felvennünk. A PCSA szolgáltatások DOS oldali kezelését a use paranccsal végezhetjük: use Kilistázza az aktuálisan igénybe vett PCSA szolgáltatásokat. use ?: \\host\username%username A host nevű PCSA szolgáltatásokat nyújtó VAX számítógép username felhasználójának diszkterületét file-szolgáltatásként vesz- szük igénybe úgy, hogy az a "következő" szabad DOS drive-hoz legyen hozzárendelve. Ha username-nek van jelszava, akkor azt meg kell adnunk. use drive: /d Töröljük a drive: jelű PCSA szolgáltatás- ként igénybe vett DOS drive-ot. Példák: C:\USERS> use Egy kari hálózathoz kapcsolódó PC-n meg- tekintjük az igénybe vett PCSA szolgálta- tásokat. USE Digital Network Connection Manager [Virtual drives E:-H:] Status Dev Type Connection name Access Size ------ --- ---- ---------------------------- ------- ------- E: DISK \\EETMV3\PCSA RO 20 MB F: DISK \\EETMV3\PROGRAMS RO 32 MB G: DISK \\EETMV3\WINDOWS RO 64 MB M: FILE \\EETMV3\POPPE%POPPE N: FILE \\TUBCEC\READER%READER LPT2 PRINT \\TUBELF\HP_PRINTER Láthatjuk, hogy a kérdéses PC-n az EETMV3 nevű VAX számítógépen 3 diszk - szolgáltatást, szintén az EETMV3-on egy file szolgáltatást, a TUBCEC-en ugyancsak egy file-szolgáltatást veszünk igénybe, ezek rendre E:, F:, G:, illetve M: és N: DOS drive-okként látszanak a PC-n. Az LPT2-es hálózati printer porthoz a TUBELF gép egy printer szolgáltatását rendeltük hozzá. C:\USERS> use ?: \\tubcec\ü0000%ü0000 Password for \\TUBCEC\Ü0000%Ü0000 ? Drive O\: connected to \\TUBCEC\Ü0000%Ü0000 A TUBCEC gép Ü0000 felhasználójának a diszkterületét file-szolgáltatásként vesz- igénybe úgy, hogy az a következő szabad DOS drive-hoz legyen rendelve. A szolgálta- tást csak akkor kapjuk meg, ha tudjuk az Ü0000 felhasználó jelszavát. Az O\: jelű DOS drive-ot a fenti módon létrehozva kiadhatjuk a dir o\: parancsot. Ekkor valami ilyesmit kapunk a PC-nk képernyőjén: Volume in drive O is TUBCEC Directory of O\:\ . 05-28-93 1:23p .. A C 46 08-23-93 5:12p A DIA 20 08-23-93 5:12p A OBJ 312 08-23-93 5:12p BALAZS 06-30-93 1:55p GOPHERRC 0 08-13-93 3:04p GUS 06-30-93 1:55p LOGIN COM 160 06-25-93 12:46p LOGIN JOU 42 08-26-93 2:47p LOGIN TMP 184 08-26-93 2:47p S 07-24-93 10:34a STRUCC 08-12-93 4:48p X 06-30-93 1:55p XeISP COM 80 06-28-93 6:03p 15 file(s) 844 bytes 1736704 bytes free Ugyanezt a file-rendszert a VMS oldalról megtekintve a directory lista így fog kinézni: Directory TUB$VSZ:[Ü0000] A.C;2 A.DIA;2 A.OBJ;1 BALAZS.DIR;1 DAA001668.;1 GOPHERRC.;1 GUS.DIR;1 LOGIN.COM;1 LOGIN.JOU;1 LOGIN.TMP;1 LWK_PERSONAL.LINKBASE;1 NOTES$NOTEBOOK.NOTE;1 S.DIR;1 STRUCC.DIR;1 X.DIR;1 XDISP.COM;1 Total of 16 files. Észre vehetjük, hogy a 8 karakternél hosszabb nevű VMS file-ok a DOS oldali listában nem jelennek meg. Ha tehát azt akarjuk, hogy állományaink mind a DOS-ból, mind pedig a VMS-ből egyaránt elérhetők legyenek, ne használjunk 8 karakternél hosszabb file-neveket! Ha a munkát egy PCSA-t futtató PC-nél befejeztük és a PC-n saját VMS file-rendszerünket file-szolgáltatásként megnyitottuk, ne feledjük el a use drive: /d pranccsal megszüntetni a kérdéses hálózati drive-ot, mert különben illetéktelenek is hozzáférhetnek a VMS-ben amúgy védett állományainkhoz! Arra is legyünk figyelemmel, hogy ne keverjük a VMS-es és DOS-os .exe és .com állományainkat, mert azokat a másik operációs rendszer nem tudja futtatni. Éppen ezért célszerű létrehoznunk egy [.VMSEXE] és egy [.DOSEXE] alkönyvtárat, ahol a megfelelő operációs rendszerben futtatható állományainkat egymástól elkülönítve tartjuk. Mindenki gondoskodjon arról, hogy a TUBCEC-en lévő VMS-es állományait a PCSA file-szolgáltatásait igénybe véve floppy diszkre mentse a VSZK személyi számítógépein! Állományok sérülésért és elvesztésért sem a VSZK, sem a DEC Support Center nem vállal felelősséget. További fontos PCSA programok a PC-n C:\> sethost host Kapcsolódás a host nevű VAX-hoz az egyetemi DECnet hálózaton. host-nak definiálva kell lenni a PC-nk lokális hálózati adatbázisában. Ez a VMS set host parancsának felel meg. To- vábbi részleteket lásd később. C:\> mail A VMS mail programjának teljes képernyős, menüvezérelt, interaktív megfelelője a PC-n. Használata magától értetődő. A címzés a VMS- MAIL-nél leírtak szerinti legyen! III A TUBCEC-re való kapcsolódás lehetőségei - vagy a hálózatra önálló hálózati csomópontként csatlakozó, Etherne t kártyás PC-ről, - vagy egy ún. DECserver-hez csatlakoztatott alfanumerikus terminálról (ami lehet egy soros porton csatlakoztatott PC a megfelelő terminál emulátor szoftverrel), Bejelentkezés egy hálózatba kötött PC-ről VAX-ra C:\> SETHOST host1 A PC-n ez a parancs olyan, mint a VMS-nél ismertetett set host parancs. Itt host1 annak a VAX számítógépnek a DECnet csomóponti neve, amelyikre be szeretnénk jelentkezni. Ha a hálózat adott helyéről az alapértelmezés szerinti kommunikációs protokollon keresztül (ez általában a LAT protokoll, de lehet a CTERM is) az illető VAX elérhető, akkor létrejön a kapcsolat, tehát az adott VAX felteszi a jól ismert Username: kérdést. Ha sikerült bejelentkezni, akkor azt mondjuk, hogy egy session-t kezdtünk azon a gépen. A sethost parancs paramétereként további VAX-ok neveit is felsorolhatjuk. Az esetleg megkezdett újabb session-ök rendre ezekre a gépekre vonatkoznak majd. A PC-n a sethost-ot a SHIFT-F9 billentyűkombinációval utasíthatjuk arra, hogy session-t váltson. Magát a sethost programot a CTRL-F10 billentyűkombinációval hagyhatjuk el. Ekkor a program a Disconnect host? (y/n) kérdéssel megkérdezi, hogy tényleg meg akarunk-e szakítani minden kapcsolatot a VAX-okkal. Y válasz esetén a kapcsolatok lebomlanak (úgy, mintha a logoff parancsot adtuk volna ki a VAX-on), és a sethost program is befejeződik. Ha egy VAX-on a logoff parancsot kiadjuk, akkor kilejelentkezünk az adott gépről, de nem fejeződik be a PC-n a sethost program futása. Ekkor 3 lehetőségünk van: vagy session-t váltva átlépünk egy másik gépre, vagy az ENTER leütésévél újr a bejelentkezhetünk az éppen otthagyott gépre, vagy kilépünk a sethost programból is. A sethost programmmal egy VAX-ra bejelentkezve a PC úgy fog viselkedni, mint egy VT200-as alfanumerikus terminál. Bejelentkezés a TUBCEC-re: C:\> sethost tubcec Connecting to Service 1: TUBCEC via LAT ------------------------------------------------------------------------ Technical University of Budapest DEC Campus Support Center ------------------------------------------------------------------------ VAX/VMS 5.5 Decnet: TUBCEC (10.2), TCP/IP: tubcec.dcsc.bme.hu (152.66.129.1) System manager: Gabor Nagy, R.303. tel.: (361)1664-011/26-37, E-mail: nagy@dcsc.bme.hu ------------------------------------------------------------------------ Error reports may be sent by e-mail to\: nagy@dcsc.bme.hu Try out our experimental list and file servers by sending mail to\: ListServ@dcsc.bme.hu and infofile@dcsc.bme.hu or TUBCEC::MX%"ListServ" and TUBCEC::MX%"infofile" Contributions are welcome! ------------------------------------------------------------------------ Guest account (limited): Username:READER ------------------------------------------------------------------------ Username: Password: Bejelentkezés a könnyvtári VAX-ra a katalógus használatára C:\> sethost tublib Connecting to Service 1: TUBLIB via LAT Unable to connect Service not known Connecting to Service 1: TUBLIB via CTERM ********************************** * * * Welcome to VAX/VMS V5.4 TUBLIB * * * ********************************** H a a k ö n y v t á r b a n a k a r k e r e s n i , g é p e l j e : A L E P H If you want to search the library,type: ALEPH Username: aleph A könyvtári katalógust ALEPH nevű felhasználóként bárki szabadon igénybe veheti, éppen ezért nem kérdez jelszót a rendszer. A TUBLIB gépre való bejelentkezéskor azonnal indul a könyvtári nyilvántartó program. A programból való kilépéskor az ALEPH nevű felhasználó automatikusan kilép a TUBLIB gépről és visszatér ahhoz a géphez, ahol a set host ill. sethost parancsot kiadtuk. Bejelentkezés egy terminál server-ről egy VAX-ra A terminál server (DECserver) egy olyan speciális cél-számítógép, amely egyrészt az Ethernet hálózathoz, másrész 8 vagy 16 terminálvonalon egyszerű alfanumerikus terminálokhoz csatlakozik. Egy terminál server-hez csatlakoztatott terminált bekapcsolva először magával a server-rel tudjuk felvenni a kapcsolatot. Ha a server-re az adott terminálvonalon még nem jelentkeztünk be, akkor az Enter username> kérdésre adjuk meg a user-nevünket (vagy egy tetszőleges, de egyértelműen azonosítható karaktersort). Ezután a server ún. local üzemmódban lesz: a Local> prompt jelenik meg. Itt a show services parancsot kiadva megnézhetjük, hogy illető server-en keresztül a számítógéphálózat mely szolgáltatásai érhetők el. Ha a listán a TUB CEC gép is szerepel, akkor adjuk ki a connect tubcec parancsot. Innen kezdve a bejelentkezés a szokásos. Így egy ún. session-t kezdeményeztünk a TUBCEC géppel. A session megszakítása nélkül a Local>-hoz juthatunk, ha terminálon megnyomjuk a 'Break' feliratú gombot (ez egy terminálemulátor programot futtató PC-n a CTRL-Break-nek felel meg). Ekkor a connect tubcec paranccsal egy újabb session kezdeményezhető. Minden session-nek egy sorszáma van. A számok 1 és 4 közöttiek lehetnek. Az aktiv session-ök kilistázása a Local>-ban kiadott show session pranccsal lehetséges. Egy adott session-hoz a Local>-nak adott resume session_number paranccsal lehet visszatérni, ahol session_number annak session-nek a száma, amelyikhez vissza szeretnénk térni. Egy adott session a disconnect session_number paranccsal lehetséges. Ha valaki a server egyéb lehetőségei iránt érdeklődik, adja ki local módban a help parancsot, bár megjegyzendő, hogy az itt ismertetett parancsokon kívül másra nincs szükség, sőt, a server egyes port-jellemzőinek állítgatásától tartózkodjunk. Ha a Local> promptnál kiadjuk a logout parancsot, akkor a server minden session-ünket megszakítja, és felszabadítja a kérdéses terminálvonalát is. Az egyetem területén több helyen (Központi Könyvtár, egyes tanszékek) találhatók terminál server-ek, illetve azokhoz csatlakoztatott alfanumerikus terminálok, ahonnan elérhetők a különböző VAX számítógé pek, így többek között a TUBCEC is. IV File-transzfer a DECnet hálózaton Az eddigiekben már láttuk, hogy ha olyan környezetben dolgozunk, ahol a hálózatba kapcsolt PC-ken és VAX-okon a PCSA (Pathworks for DOS) fut, akkor a VAX server-ek diszk, illetőleg file szolgáltatásokat nyújtanak a PC-k felé és ezen szolgáltatásokat a PC-ken úgy látjuk, mint egy-egy merevlemezes meghajtót (virtuális drive-ok). File szolgáltatásként pl. saját login könyvtárunkat is megnyithatjuk, s az így létrejött virtuális drive-ot a DOS parancsaival is kezelhetjük; például file-okat másolhatunk floppy diszkre, illetve floppy diszken hozott állományainkat egyszerűen a VAX-os könyvtárunkba másolhatjuk. Ezek a kellemes szolgáltatások azonban nem minden esetben érhetők el. Ha olyan DECnet hálózatba kapcsolt VAX géppel szeretnénk file átvitelt megvalósítani, amelyiken nem fut a PCSA, akkor a PC-n futó PCSA részét képező nft (Network File Transfer) programot használhatjuk. Másolás DOS-ból VMS-be: C:\> nft copy dosfile.dat schkol"pitypalko\":: Password for schkol/pityipalko ? A fenti példában a DOS default könyvtárából az SCHKOL gépen (kollégiumi MicroVAX) lévő pityipalko felhasználó főkönyvtárába akarjuk másolni a dosfile.txt file-t. Az nft program (Network File Transfer) előszőr ellenőrzi, hogy az SCHKOL gépen pityipalko tényleg létező felhasználó-e. Ha igen, akkor ellenőrzi, hogy a specifikált VMS path létezik-e. A fenti példánkban nem adtuk meg a VMS path könyvtárakra vonatkozó részét, így az nft program alapértelmezésként a pityipalko felhasználó login-könyvtárát (főkönyvtárát) tekinti. Ha teljes VMS path-t adtunk meg és az létezik, akkor az nft felkészül a másolásra, de előtte még egy biztonsági lépést tesz: meg kell adni az adott felhasználó VAX-os password-jét. A PC-n megadott karaktersort összeveti a VAX által ismert jelszóval. A tényleges másolásra csak akkor kerülhet sor, ha a PC-n megadott password helyes volt, illetve ha az adott felhasználónak a specifikált VMS directoryüban irási joga van. Példánkban a password megadása után a következő üzenetet írja ki az nft program: Copying DOSFILE.TXT to schkol::$ds1:[pityipalko]dosfile.txt;1 [8950 bytes at 1340 bytes/sec] Másolás VMS-ből DOS-ba: C:\PASPROG>nft copy schkol"mici"::$ds1:[mici.pascal]elso.pas elso.pas Password for schkol/mici ? Itt szintén megtörténnek a megfelelő ellenőrzések. Az nft program intelligensen kezeli a file specifikációkat. Mind a DOS path-t, mind a VMS path-t, illetve file specifikációt értelem szerűen kiegészíti. A DOS-ban, illetve a VMS-ben megszokott módon kezeli joker karaktereket (*, ?), ha nem adtuk meg a cél file specifikációját, az az értelemszerű default-ok felhasználásával maga generálja a forrás nevének ismeretében. Az nft program lehetőségeiről bővebb információt kaphatunk a DOS-ban kiadott nft help paranccsal. Triviális hálózati hibák A VSZK IBM PC kompatibilis számítógépeinek mindegyikén installálva van a PCSA rendszer. Hogy a PCSA diszk-szolgáltatásai kozül éppen melyiket vegyük igénybe, és ennek megfelelően a DOS környezeti változók hogy legyen jól beállítva, a gépek bekapcsolásakor jelentkező menübő l választhatjuk ki. Az alapvető DECnet és PCSA szolgáltatások minden esetben igénybe vehetők. Ha mégsem tudnánk belépni pl. a TUBCEC-re, vagy nem tudjuk használni az ALEPH programot, ellenőrizzük a következőket: a) belépés a TUBCEC-re: - létezzen a C:\DECNET directory, benne a hálózati szoftverrel - legyen definiálva az adott PC (executor node) hálózati cime és neve - legyen definiálva a TUBCEC címe és neve (10.2 TUBCEC) - a DOS PATH környezeti változójában legyen felsorolva a C:\DECNET; is Ellenőrzés: A PC bekapcsolása ill. boot-olása után az NCP LIST KNOWN NODES paranccsal ellenőrizhetők a fentiek. (Ha az NCP program sem fut, akkor a hálózat nem megfelelően indult az adott PC-n.) A PATH környezeti változó értékét a DOS SET parancsával nézhetjük meg. b) Az ALEPH közvetlen használata PC-ről - mint a)-nál, de a definiált csomópontok között szerepeljen a Központi Könyvtár VAX gépe TUBLIB névvel és 1.9-es címmel. Ellenőrzés: NCP LIST KNOWN NODES A hálózatra való kapcsolódásra vonatkozó problémák esetén (definiálat lan csomópont vagy egyéb gond) fordoljunk a VSZK operátoraihoz!