Informatika | Operációs rendszerek » Operációs rendszerek I. tananyag

Alapadatok

Év, oldalszám:2000, 57 oldal

Nyelv:magyar

Letöltések száma:2160

Feltöltve:2004. június 07.

Méret:396 KB

Intézmény:
-

Megjegyzés:

Csatolmány:-

Letöltés PDF-ben:Kérlek jelentkezz be!



Értékelések

Nincs még értékelés. Legyél Te az első!


Tartalmi kivonat

OPERÁCIÓS RENDSZEREK Bevezetés A XX. század végén az “Információs Társadalom” kialakulásának korát éljük A napjainkban történõ, az informatika fejlõdésének köszönhetõ változások áthatják a gazdaság és az emberi életmód egészét, s jelentõségükhöz még a klasszikus ipari forradalom vagy a könyvnyomtatás feltalálása sem hasonlítható. Lényege, hogy az “új, modern” világban való sikeres létezés legfontosabb feltétele hatalmas mennyiségû információ szelektív feldolgozásának képessége. Ebben ma az embereket különbözõ gépek segítik. Az általános fejlõdés meghatározó hajtóereje a technológia fejlõdése, amely hosszú történeti távlatokra nyúlik vissza. E fejlõdés legutóbbi állomásaiban megjelentek az ún. Számítógépek, számítógép- és hírközlési rendszerek E rendszerek egyrészt “hardver” eszközökbõl, másrészt az azokat mûködtetõ “szoftver” eszközökbõl állnak. A szoftver

eszközök között megkülönböztethetõk egymástól speciális alkalmazásokat ellátó célszoftverek, s olyan “univerzális”, az egyes speciális alkalmazások infrastrukturális jellegû kiszolgálását végzõ szoftverek, amelyeket összefoglaló néven operációs rendszereknek neveznek. A világon napjainkig nagyon sokféle számítógépet és nagyon sokféle operációs rendszert fejlesztettek ki. Ezek közül akár egyetlen konkrét rendszer dokumentációja papírhegyeket kitevõ információmennyiségnek felel meg. Ezen hatalmas információmennyiség azonban különbözõ mélységig és részletességgel ismerendõ attól függõen, hogy az ember milyen foglalatosság kapcsán kerül “érintkezésbe” egy adott konkrét operációs rendszerrel. A jelen szemeszter elõadása az informatika tárgykörébe tartozó alapmûveltség megadása mellett két konkrét operációs rendszer típusról, az MS DOS-ról, valamint a WINDOWS-ról kíván áttekintést adni,

illusztrációként különbözõ “mélységi szinteken”. Ezek a mai kereskedelmi forgalomban nagyon elterjedt IBM kompatibilis személyi számítógépek leggyakrabban használt operációs rendszerei. A “mélységi szintek” tekintetében megkülönböztetendõ egymástól a mûködés “hátterébe való betekintés” (DOS-BIOS hierarchia, adatok tárolásának finomszerkezete, stb.), valamint a “felhasználói felület” parancsainak legalább részleges ismerete. A szükséges alapfogalmak zömének megismertetése megtörténhet a DOS kapcsán, a WINDOWS ismertetése erre már ráépülhet anélkül, hogy ez túlságosan sok lexikális ismeret-többletet igényelne. Az “általános informatikai mûveltség” kategória nagyjából két csoportra osztható: a ma már “klasszikusnak” számító számítógépes és adatkommunikációs ismeretek csoportjára, valamint egy olyan, “újnak” nevezhetõ információhalmazra, amely immár nem tisztán informatikai

és számítógépes fogalmakat takar, hanem számítástechnikai, távközlési, informatikai, jogi és közgazdasági fogalmak egyfajta “keveréke”. E keveredés oka az, hogy az informatikai eszközöknek köszönhetõen egységesülõ világpiac kialakulásában ma ezen eszközök mûszaki fejlõdésével nem képesek lépést tartani a jogrendszerek (pl. kereskedelmi jog, adók, vámszabályok, nemzetközi kapcsolatok), s ugyanakkor az állam gazdaság-szabályozó feladatának ellátásában is új szempontok merülnek fel. Ezek rendezése jelenleg is folyamatban van, s a Fõiskola elhagyásáig eltelõ 3 év alatt e téren konkrét megoldások kidolgozása sem reménytelen. Ezért elkerülhetetlen, hogy a jövõ mûszaki menedzserei és informatikusai ne kapjanak valamilyen kvalitatív képet olyan fejlõdési trendekrõl, mint a kábeltelevízió várható szerepe az információ továbbításában, a tisztán elektronikus alapokon létrehozott aláírások,

szerzõdések kérdésköre, az elektronikus kereskedelem trendjei, az elektronikus banki szolgáltatások alakulása, az elektronikus pénz fejlesztésének és használatának helyzete, és a smartcard rendszerek jelenlegi és várható használata világszerte. Az “Informatika” tárgyának definiálása Információn a minket körülvevô világból származó mindenféle, érzékelhetô, mérhetô ismeretet, illetve az ezektôl gondolkodás útján elvonatkoztatott absztrakt objektumokra (pl. matematikai halmazok és fogalmak, a valóság fizikai, kémiai, biológiai, stb. modelljeiben használatos objektumokra) érvényesnek tekintett ismereteket értünk Az információ fogalmához többféle aspektusból lehet közeledni. Pl a filozófiában az ismeretelemélet vagy episztemológia 1 a világról egyáltalán bármiféle módon beszerezhetô ismeretek korlátait is kutatja. Egyes nézetek szerint ez nem a filozófia dolga: "Hitem szerint az episztemológia

tôrbecsalta a modern filozófiát, s kevés híján tönkretette; remélem, eljön az az idô, amikor a megismerés folyamatának tanulmányozása elismerten a lélektan tudományának körébe fog tartozni, s a filozófiát ismét úgy fogják fel, mint miden tapasztalás szintetikus értelmezését, nem pedig mint a tapasztalás módjának és folyamatának elemzô leírását. Az analízis a tudomány dolga és tudást ad nekünk; a filozófia gondoskodjék a szintézisrôl, amely bölcsességet ád."2 Valamennyi szaktudomány kénytelen foglalkozni az információ fogalmával: * * * matematika; fizika: (klasszikus statisztikus fizika és kvantumfizika); biológia: (az élô rendszerekben hatalmas információmennyiség áramlik); A gyakorlati élet ma már hatalmas mennyiségû információ kezelését és kézbentartását igényli: * * * * * * * * * * * 1 A 2 pénzügyi manôverek (bankügyek, adózás, tôzsde); állami adminisztráció; ipari szabványok; szabadalmak;

céginformációk; tudományos információk; mûszaki tervezés, termelésirányítás (CAD3, CAE4, CAPP5, CIM6, stb); folyamatirányítás, szabályozástechnika; numerikus és analitikus matematikai modellezés; biológia, gyógyászat; jogtudomány és igazságszolgáltatás; megismerés folyamatának tanulmányozása. Will Durant: "The Story of Philosophy" (magyar fordításban "A gondolat hôsei", Dante Kiadó, Budapest, 1931.) 3 CAD = Computer Aided Design = Számítógéppel Segített Mûszaki Tervezés. 4 CAE = Computer Aided Engineering = Számítógéppel Segített Tervezés. 5 CAPP = Computer Aided Process Planning Számítógéppel Segített Folyamattervezés. 6 CIM = Computer Intergated Manufacturing = Számítógéppel Integrált Gyártás. * . stb Az információt meg kell szerezni (méréselmélet), reprezentálni (kódolni) kell tudni, továbbítani kell (hírközlés), fel kell dolgozni (jelfeldolgozás), interpretálni kell

(szaktudományok). A fenti mûveletek mindegyikének elvégzésében a XX. sz végén az ember legfontosabb, legnagyobb teljesítményû segédeszköze a számítástechnika, a számítógép. Az utóbbi idôben a "Mesterséges Intelligencia" (AI=Artificial Intelligence) kutatások eredményeinek köszönhetôen a számítógépek a jelfeldolgozás "kulimunkáján" kívül egyre szélesebb területre nyomulnak be. A "Mesterséges Neurális Hálózatok ("Artificial Neural Networks") a biológiai rendszereket igyekeznek utánozni, az idea az 1940-es években merült fel7. McCulloh és Pitts feltételezték, hogy az élôlények idegrendszere egyszerû logikai küszöbfüggvények "kaszkád kombinációjaként" fogható fel, ami nem egyéb, mint egy "hardware" lehetôség a legkülönbözôbb matematikai algoritmusok megvalósítására. Az 1960-as évek elején a hagyományos halmazelmélet jelentôs mérvû általánosításon

alapuló megújítását végezte el Zadeh8. A szabályozástechnikában ez az ún. "Fuzzy Szabályozás" módszerének megalkotásához vezetett, ami abból a szempontból is fontos, hogy ez az adott szabályozási módszernek, azaz az információnak egy újfajta, az emberi gondolkodáshoz a hagyományos matematikai modellekénél közelebb álló reprezentálására vezetett. Ma a fuzzy szabályozási rendszerek és a mesterséges neurális hálózatok egyfajta integrációja van folyamatban, a szintén Zadehtôl származó ún. "Soft Computing Techniques" néven9. A hagyományos programozási technika, az analitikus modellezés és adatkezelés, a fenti új reprezentációk, valamint heurisztikus módszerek bizonyos szûkebb szakterületre vonatkozó integrálásával, összeötvözésével kísérleteznek az ún. "Szakértô Rendszerek" ("Expert Systems") a tényleges emberi munkaerô részleges kiváltása céljából. 7 W.S McCulloh, W

Pitts: Bull Math Biophys Vol 5, p 115, 1943 8 L.A Zadeh: "Fuzzy Sets", Information and Control, Vol 8, pp 338-353, (1965) 9 L.A Zadeh: "Plenary Paper" presented during the IEEE Int Workshop on Neuro-Fuzzy Control, Muroran, Japan, March 22-23, 1993. A számítógépek fejlôdéstörténetének rövid összefoglalása; Elôzmények, kezdetleges, mechanikus eszközök: 1 Kr.e 5000 év körül: "abacus" (Oroszországban, Kínában ma is használatos, volt speciális japán változata is); 1600 körül: Jonh Napier skót matematikus csontkerekei (a logaritmusfüggvény tulajdonságai alapján nagy számokat lehetett vele szorozni és osztani); 1642: Blaise Pascal francia matematikus számológépe (az édesapa adószedôi hivatalában folyó hatalmas mennyiségû pénzszámolási tevékenység megkönnyítése céljából); 1671: Gottfried Wilhelm Leibnitz megalkotja az elsô mechanikus gépet, amely közvetlenül volt felhasználható osztásra és

szorzásra; 1728: Falcon szövôgépe: az elsô lyukkártyával vezérelt "automata"; 1801: Joseph Marie Jacquard szövôszerkezete, szintén lyukkártyavezérléssel, nagyon bonyolult minták szövésére ( kb. 20,000 kártyával lehetett a feltaláló arcképét elkészíttetni a géppel); 1822: Charles Babbage asztronómiai számítások megkönnyítésére gôzenergiával hajtott differenciáló gép tervezésére kap állami támogatást (a tervezést nem fejezte be); XIX. sz közepe: Babbage nekifog egy ún "analitikus gép" ("analytical engine") tervezésének, amely gép már a mai gépekben is fontos alapfunkciókkal (alkalmi memóriatárakkal rendelkezett volna, ha valaha el is készül2); 1887: Herman Hollerith lyukkártyás mechanikus "tabulátora" ("tabulating machine") (az USA Bevándorlási Hivatala nyilvántartásában használták nyilvántartási adatok sorbarendezésére, kb. 200 kártya/perc sebességgel tudott

dolgozni, 1890-re az ügyintézés idejét 1/3-ad részére csökkentette le 1896: Hollerith megalapítja a "The Tabulating Machine Company" nevû céget, amely késôbb 10 másik céggel egybeolvadva "International Business Machine" (IBM) néven mûködött tovább. A XIX. sz utolsó két dekádja: több amerikai számítástechnikai eszközöket gyártó cég megalakulása; A számítógépek korszakának kezdete 1 Ralph M. Stair, Jr: "Computers in Todays World", Richard D Irwin Inc (1986) kiadású könyve alapján. 11 E gépek általában azért nem készültek el, mert megvalósításuk olyan precíziós gyártástechnológiát igényelt volna, amely Babbage életében egyszerûen nem állt rendelkezésre. Halála után késôbb mindkét berendezést sikerrel megépítették mások Elektromechanikus számológépek korszaka 1937: Howard H. Aiken (IBM) "MARK I" nevû, elektromechanikus kalkulátora, amelyet automatikus parancssorozat

vezérelt; (10 jegyû számokat kevesebb, mint 10 sec alatt tudott egymással összeszorozni; 760,000 alkatrészbôl állt, 500 mérföld drót volt beleépítve;) 1942: John V. Atanasoff és Clifford Berry (ABC=Atanasoff-Berry Computer) számítógépe, amely a processzort már memóriával kötötte össze. Tisztán elektromos mûködésû számítógépek korának kezdete 1946: John W. Mauchly, J Presper Eckert ENIAC ("Electronic Numerical Integrator and Calculator" ) gépének kifejlesztése katonai megrendelésre (elektroncsöves berendezés, néhány száz szorzás másodpercenkénti sebességgel; 18,000 elektroncsôbôl álló, több, mint 30 tonnás szerkezet); 1944: Neumann János javaslatot tesz az elsô, tárolható programú számítógép megalkotására, amely 1952-ben el is készül EDVAC néven; A forradalmi áttörést a tárolható program koncepciója jelentette. A "valódi" számítógépek elsô generációjának kora A programnyelvek

kialakulásának kezdete 1951: UNIVAC I ("Universal Automatic Computer I") (Eckert & Mauchy); 1952: Grace Hopper (University of Pennsylvania) megalkotja az elsô programnyelvet; (E korból ered a számítástechnikában a hibakeresésre a "debugging" --bug=rovar, bogár az amerikai angolban-- kifejezés, egy a Hopper számítógépébe tévedt molylepke okozta meghibásodás okán;) A második generációs számítógépek kora (1959-1965) Az elsô generációs gépekhez hasonló szervezés, de a következô fejlôdési lépésekkel: * * * * * az elektroncsövek kiváltása tranzisztorokkal; mágnesszalagok és diszkek megjelenése; jobb lyukkártya- és lyukszalagolvasók megjelenése; a printerek és a terminálok fejlôdése; a memóriák tároló kapacitásának növekedése; * új programnyelvek kifejlesztése: 1957: FORTRAN (Westinghouse Lab) (tudományos célokra); 1961: COBOL (üzleti programokra); 1964: Kemény János, Tom Kurz: BASIC -- egy

könnyen kezelhetô programnyelv; A "harmadik generáció" ("miniszámítógépek") megjelenése (1965-1972) Az egyedi tranzisztorokat integrált áramkörök váltják fel az IBM 360-as számítógép családban. 1969: Az IBM cég megkezdi a HW és SW termékek egymástól elkülönített forgalmazását. E kortól kezdve a fejlôdés motorja a Si chip-en megvalósított félvezetô technológia maszkolási vonalszélességének csökkenése, az ún. "Scaling Down" jelenség. Hatásai: Kisebb "drótszélesség" => kisebb szórt kapacitások, nagyobb frekvenciájú órajel; idô ==> felület konverzió kisebb disszipáció mellett; A második világháború utáni fejlôdés exponenciális abban az értelemben, hogy ugyanazért az árért az egy alkatrészben lévô funkciók --tranzisztorok mint kapcsolóelemek-száma évente közel megduplázódik3: 1960-1970: 103 tranzisztoros egységek; 1970-1980: 106 tranz. egységek (LSI

technológia4); 1980-1990: 108 tranz. egységek (VLSI technológia5) Az elemek kapcsolási ideje: néhányszor 10 psec (1 psec = 10-12 sec). Az eszközök megbízhatósága nagy, szerkezetük univerzális. A megbízhatóság mérôszáma: MTBF (=Mean Time Between Failures, azaz a meghibásodások közt eltelô átlagos idô). Ez elektroncsöves gépekre ez kb 50-100 óra volt, 1962 körül a folyamatirányításra használt tranzisztoros gépekben elérte az 1,000 óra körüli tipikus értéket, a miniszámítógépekben az IC technológia mellett ez tipikusan kb. 20,000 órára nôtt6. 3 Roska Tamás akadémikus elôadásainak anyaga alapján, 1992. 4 LSI=Large Scale of Integration = Nagyfokú Integráltság. 5 VLSI=Very Large Scale of Integration = Nagyon Nagyfokú Integráltság. 6 Lipovszki György: "Modellreferenciás adaptív irányítás automatizált paraméter keresése", doktori értekezés, BME, Budapest, 1993. adatai alapján A "negyedik

generáció" -- az LSI technológia alkalmazása "mikroszámítógépek" (1972-tôl kezdôdôen) Apple Computers (Visi-Calc = Visible Calculator) (Dan Birkland, Harvard University;) Az "ötödik generáció" -- a VLSI technológia alapján Japán, USA, AI fejlesztések. A számítógépek durva anatómiai vázlata Fizikai felépítését tekintve a számítógép moduláris szerkezet, azaz többé-kevésbé különféle szabványos részegységekbôl állítható össze, igen sokféle kombinációban, pl. egy teljes öltözet (a zoknitól a télikabátig terjedô) ruhakombináció. Az egyes darabok egymáshoz való illeszkedése lehet szerencsés vagy kevésbé szerencsés. A tipikus elemek az alábbi vázlat szerint kapcsolódnak egymáshoz: Központi Aritmetikai Soros Párhuzamos Memória processzor koprocesszor portokportok egységek -----------------------------------------------------------------------------------------"Busz" vagy

"sín" -----------------------------------------------------------------------------------------Billentyûzet Floppy drive Winchester Busz egér drive saját kártyával Az adatok kezelése egy nyilvános postaládához hasonlítható: a buszra csatlakozó valamennyi elem rendelkezik bizonyos "címmel". Adatmozgatás esetén a központi processzor kitesz a buszra valamennyi adatot, valamint annak a részegységnek a címét, amelynek ez az adat "szánva" van. A "címzett" leolvassa a buszról a neki küldött adatot, s végzi vele a maga dolgát. Hasonlóan áramolhat az adat a részegységektôl a központi processzor felé. Tipikus perifériák a soros vagy a párhuzamos portokra: * * * * * * printerek, plotterek, másik számítógép MODEM-mel 1 vagy anélkül; "soros egér" (Mouse); digitalizáló tábla" scanner; A "soros és párhuzamos" "port"-okhoz szabványos HW és SW csatlakozó felületek is

tartoznak: pl. RS232, V24, Centronics, stb A szabványok vonatkoznak * a csatlakozó geometriájára, a lábak elhelyezkedésére; * a lábakon megjelenô feszültségértékekre és a lábak funkcióira; Szabványok vagy "protokollok2" is tartoznak az információ mozgatásához. Ez a szervezés teszi lehetôvé, hogy a legkülönbözôbb számítógépeket "fizikailag" sikeresen össze lehet kapcsolni a legkülönbözôbb perifériákkal. 1 MODEM = Moduláló és csatlakoztatáshoz. 2 Elôírt "viselkedési szabályok". Demoduláló elektronikus eszköz telefonvonalra való Az egyes perifériákat természetesen más és más "parancskészlettel" lehet mûködtetni (ez már arra az információra vonatkozik, amely a csatlakozó felületeken áramol). Egy EPSON mátrixnyomtató és pl egy HP lézernyomtató egészen más parancskészlettel bír egymáshoz nagyon hasonló jellegû feladatok ellátására3. A bonyolultabb felhasználói

programok (adatbázis- és táblázatkezelôk, szövegszerkesztôk, mûszaki rajzoló programcsomagok) nem jelentéktelen részét teszi ki az a "szoftver csatlakozó felület" jellegû adathalmaz, ami arra kell, hogy az adott programot a perifériák lehetô legkülönfélébb kiépítése mellett is használni lehessen. A számítógép "belsô", azaz közvetlenül a buszra csatlakozó alkatrészei is moduláris szerkezetûek. A számítógép doboza "fiók rendszerû", ami azt jelenti, hogy ugyanabba az alapdobozba különbözô * merev lemezes egységeket (régebben 20, 40, 80 Mbyte tárolókapacitással, ma Gbyte nagyságrendben); * hajlékony lemez meghajtó egységeket (5+1/4" átmérôjû, 360 kbyte vagy 1.2 Mbyte kapacitású, ún. "dupla sûrûségû4" ill "nagy sûrûségû5", ill 3+1/2" átmérôjû 1 Mbyte ill. 2 Mbyte tárolóképességû egységek); * különbözô maximális felbontóképességû, általában

többféle üzemmódban is mûködtethetô videokártya a hozzá illó monitorral (CGA=Color Graphics Adapter, EGA=Enhanced Graphics Adapter, HERCULES fekete-fehér nagyfelbontású, régebben fôleg az iparban használt kártya, illetve az utóbbi idôben terjedô nagy felbontású fekete fehér --színek helyett ún. szürke árnyalatokat használó-- VGA ill. SVGA kártyák és megfelelô monitorok); * különbözô hangkeltô eszközök, hangkártyák; * különbözô memóriabôvítések; * numerikus koprocesszorok többféle fajtái; * egyéb kártyás bôvítések (neurális hálózat szimuláló egységek, analóg vagy digitális folyamatszabályozó egységek), stb. illeszthetôk bele. Az így elôálló különbözôségeket egyrészt kezelni kell tudni az ún. "magas szintû programokból6, másrészt a számítógépnek "tudnia kell" arról, hogy benne magában milyen részegységek vannak, hiszen azokkal --konkrét fajtájuktól függôen-- más és más

módon kell 3 Néhány parancs-típust (pl. a HP nyomtatók alapparancsait) sok másik gyártó is igyekszik átvenni, így egyfajta szabványosodás e téren is megindult. 4 DS DD = Double Side, Double Density = Kétoldalas, Kettôzött sûrûségû lemez kezelésére alkalmas meghajtó egység. 5 DS HD = Double Sided High Density. 6 Azaz pl. adatkezelô szoftver ne akarjon olvasni olyan mágneslemez meghajtó egységrôl, amilyen a rendszerbe nincs beépítve, vagy ne akarja az aritmetikai koprocesszort használni, ha ilyen nincs a rendszerben, stb. "gazdálkodnia". (Pl egy 12 Mbyte-os lemezre ne akarjon annyi adatot felírni, mint amennyi egy 2 MByte kapacitású lemezen elfér. Ezen felül, a különbözô lemezeken az adatok rendezése, nyilvántartása is némileg eltér egymástól7.) A magas szintû programok HW lehetôségekrôl való "informálása" történhet a programok installálása folyamán, midôn az installáló program a HW környezet

részleteire egyszerûen "rákérdez", illetve vannak intelligens programok, amelyek a rendelkezésükre álló hardvert --legalább részlegesen-- önállóan is "fel tudják mérni", s mûködésüket azokhoz igazítják8. A számítógép fizikai felépítésének mélyebb részletei sok esetben nem érdeklik annak felhasználóját, hanem csak azoknak a funkcióknak a biztos ellátása, amelyeket elvár. Sôt, maga a felhasználó nemcsak nem érdeklôdik e részletek iránt, hanem kimondottan elvárja, hogy ôt ezekkel ne is terheljék. E szolgáltatás biztosítására találták fel az ún. "Felhasználói Program -- DOS -- BIOS hierarchiát", amelyrôl egy pár szó erejéig a következô alpontban foglalkozunk. 7 Åltalában nem a kezelés elvei szerint, hanem annak kisebb és nagyobb egységekre való osztásának módja szerint.fs 8 Pl. numerikus koprocesszor megléte vagy hiánya viszonylag egyszerûen érzéklehetô A felhasználói

program -- DOS -- BIOS hierarchia A fenti hierarchia pontos analógiája egy jól berendezett "munkahelyi titkárságnak" az alábbi "szereposztásban": Felhasználói Program -- Fônök DOS -- Intelligens Titkárnô BIOS -- Irodai Segédszemélyzet A "fônök" leginkább az ügyek vagy az azokhoz tartozó akták 1 tartalmi részletei iránt érdeklôdik, s nem aziránt, hogy az adott aktát a titkárnô éppen melyik szekrény melyik polcán szokta tárolni. A titkárnô dolga, hogy a kért anyagot elôkerítse Hasonlóan, az iktatás (azaz az egyes dokumentumok keletkezési idôpontja, elhelyezése és címe szerinti nyilvántartás vezetése és naprakészen való tartása) szintén tipikusan titkársági feladat. A számítástechnikában ennek megfelelôje a "DOS" (Disk Operating System2" vagy rövidebben "Operációs Rendszer". Nevének megfelelôen, az operációs rendszer foglalkozik többek között az adatállomány

diszkeken történô elhelyezésének megtervezésével, az állomány automatikus könyvelésével. Szintén a DOS segítségével olvashatók be azok az adatállományok, amelyeket az egyes programok kezelnek, vagy amelyekkel csak dolgoznak. Szintén a DOS dolga a végrehajtható programok memóriában való alkalmi elhelyezése, azok elindítása, futás közbeni folyamatos kiszolgálása, majd használatuk után az azokból való megfelelô kilépés biztosítása. Nevébôl közvetlenül ki nem derülô módon, a DOS nemcsak a diszkek kezelésével, hanem egyéb alkatrészek használatával is foglalkozik (pl. a soros és párhuzamos port-ok segítségével történô ki- és bevitelével, stb) is "foglalkozik". Általában véve azt mondhatjuk, hogy vannak olyan "tipikus szolgáltatások", amelyeket akár a felhasználó, akár a magasabb szintû programnyelvek gyakorta igényelnek. E szervezés megfelel annak az elvnek, amely szerint a bonyolultabb, nagyobb

feladatok megoldása realizálható viszonylag egyszerû, primitívebb részfeladatok egymás utáni sorozatos, algoritmikus megoldásával. A felhasználó oldaláról nézve az operációs rendszer funkcionális szervezésû, s mint ilyen, viszonylag nagy mértékben hardver-független, noha az nyilvánvalóan csak akkor mûködhet megfelelôen, ha a kezelésében álló konkrét, partikuláris hardver pontos ismeretével bír. Másrészt, az operációs rendszer feladatai még mindig eléggé bonyolultak ahhoz, hogy érdemes legyen támogatásukra még egyszerûbb, primitívebb 1 Az angol file szó magyarul ügyet, aktát jelent, s pontosan ezen jelentésében terjedt el a számítástechnikában. 2 Ez szószerint fordítva magyarul "Diszk Mûködtetô Rendszer" lenne. és alapvetôbb típusszolgáltatásokat bevezetni. Ezeket a még elemibb szolgáltatásokat nyújtja a "BIOS", azaz a "Basic Input-Output System"3. Feladataiból adódóan a BIOS

szolgáltatásaihoz szükséges a legtöbb konkrét ismeret az adott HW konfigurációról. A DOS -- BIOS hierarchia feladatrendszere a gyakorlatban úgy van egymás közt megosztva, hogy berendezésünk HW elemeinek cseréje esetén (pl. újabb lemezmeghajtó egység beépítése, vagy régebbi cseréje más típusúval, stb.) változatlanul ugyanazzal az operációs rendszerrel dolgozhatunk, mint korábban, azonban a gép bekapcsolása után a "SETUP" parancs alkalmazásával az érvényes hardver konfigurációt "be kell írnunk" a gép memóriájába. A gép memóriájának ilyen jellegû információkat tartalmazó része rendkívül fontos a programok helyes futása szempontjából. Általában olyan területeken helyezkedik el, amelyek tartalma a közönséges programokból nem írható felül, azaz nem sérthetô meg4. A programozónak magas szolgáltatást nyújtó nyelvek (pl. FORTRAN, BASIC, PASCAL) általában a DOS -- BIOS hierarchia "ügyviteli

szabályainak betartásával járnak el", így használatukhoz csak nagyon csekély programozói ismeret szükséges magáról a számítógéprôl. A gépekhez közelebbi ún. ASSEMBLER programnyelv csak akkor használható, ha a DOS és BIOS alapszolgáltatásait igen jól ismerjük, méghozzá részleteiben. A DOS és BIOS alapszolgáltatások közvetlen használata mellett az ASSEMBLER lehetôséget ad ezek részleges "megkerülésére" is, azaz a memória tartalom direkt változtatására. Szolgáltatásai azonban általában igen kényelmetlenek. Az ASSEMBLER nyelv megtanulása leginkább az adott rendszerrôl összerendezhetô információhalmazból áll. Magának a programnyelvnek nem sok és nem nagyon komplikált utasítása van5 A kombinált "C" nyelv ötvôzi a magas szintû nyelvek és az ASSEMBLER elônyeit. Szinte majdnem mindent lehetôvé tesz, amit az ASSEMBLER is, ugyanakkor agyon sok komfortos szolgáltatással is rendelkezik, olyanokkal,

mint a FORTRAN, így használata nagyon kényelmes. Annak köszönhetôen, hogy a számítógépeket már a kezdetek kezdetétôl a folyamatszabályozási feladatok igényei szerint is igyekeztek fejleszteni, a DOS -- BIOS rendszer mûködése az ún. "interrupt" vagy magyarul "megszakítás" rendszeren alapul 3 Magyarul 4 "Alapvetô Adat Ki- és Beviteli Rendszer". Emiatt szokásos az ún. "ROM BIOS" (Read Only Memory BIOS") elnevezés is, hiszen e mmóriaterület tartalma csak olvasható, de --programfutásközben szokványos SW eszközökkel-- nem írható felül. 5 Ez nem jelenti azt, hogy az ASSEMBLER könnyû programnyelv. Alkalmazásakor olyan sok apró részletre kell ügyelni, hogy a vele való munka kimondottan nehéz. A DOS és a BIOS interrupt rendszere Az interrupt szervezés lényege abban áll, hogy a rendszer normális mûködése közben a számítógép éppen azt a programot (utasítássorozatot) hajtja végre,

amelyet számára az éppen futtatott program elôír. Valamilyen külsô érzékelô jele beérkezésének hatására azonban gyakran szükségessé válhat, hogy e mûködést sürgôsen abba kell hagyni, s idôlegesen egyéb nem halasztható feladatokat kell ellátni, amelyek befejezése után az eredeti tevékenység tovább folytatható. (Például veszélyes helyzetek kezelése, stb.) A megszakítás vagy interrupt beérkezésekor a processzor egy "verem"-nek nevezett memóriaterületre átmenetileg lejegyzi azokat az adatokat, amelyek ahhoz szükségesek, hogy a felfüggesztett feladatot folytatni tudja az interrupt "kezelése" után (a saját regisztereinek 1 a tartalmát, amelybôl kiderül, hogy a felfüggesztett parancssor melyik utasításával kell folytatnia a munkát, valamint hogy az ahhoz használt numerikus értékek --azaz a regisztertartalmak-- melyek voltak). E mûvelet után a processzor elmegy arra az abszolút memóriacímre, amely

egyértelmûen az adott interrupthoz hozzárendelhetô helyen helyezkedik el, s e memóriarekeszt mintegy "postaládának használva" kiolvassa belôle azt az abszolút címet, amelyen az adott interrupthoz tartozó, ténylegesen végrehajtandó parancssor kezdôik. A fent vázolt "postafiók rendszert" a számítógép "megszakítási vektorai táblázatának" nevezik. Az IBM PC/XT/AT számítógépekben pontosan 256 darab ilyen rekesz van Mindegyik rekesz "négy byte" terjedelmû cím tárolására alkalmas. A teljes fiókrendszert kivétel nélkül a BIOS és a DOS foglalja le, s maga a táblázat a 0 címen kezdôdik. E szervezés lehetôvé teszi, hogy az egyes megszakításokhoz tartozó programok módosulhassanak anélkül, hogy ez a rendszer felborulna, hiszen a "postaládában" lévô kezdôcím módosulhat mint annak tartalma, de a rendszer mindig tudja, hogy e címet hol lehet megtalálni. Az interrupt mûveleteinek

befejezése után a processzor a verembôl vissza tudja olvasni az összes adatot, amely ahhoz kell, hogy a félbehagyott munkát folytatni tudja. Azért, hogy a verem "ne telítôdjön", a belôle való speciális olvasás nemcsak adatok belôle való kiolvasását, hanem a kiolvasott adatok helyének felszabadítását is eredményezi. (A verembe való beírás természetesen a veremben rendelkezésre álló hely egy részét ennek megfelelôen "leköti". E speciális mûveleteket az ASSEMBLER 1 A központi processzor közvetlenül egyszerre csak néhány adattal képes dolgozni, amelyeket véges, sôt nagyon limitált számú regiszterben tud tárolni. Az interrupt által kikövetelt feladatok ellátására e regisztereket más adatokkal kell megtölteni, emiatt eredeti tartalmukat ki kell menteni a verembe. nyelvben "PUSH" [nyomd bele a verembe] ill. - "POP" [rántsd ki a verembôl] nevekkel illetik. A verem szervezésének lényeges

sajátossága, hogy a PUSH és POP típusú mûveletek segítségével belôle az az érték szedhetô ki legelôször, amelyet utoljára tettek bele, az egymásba helyezett közérti kosarakhoz hasonlóan. A verem típusú szervezés biztosítja, hogy az egyes megszakítások mintegy "egymásba skatulyázva" torlódhatnak is, a verem beteltének határáig. Ez a szervezés annyira bevált, hogy azt nemcsak speciális hibajelek kezelésére alkalmazzák, hanem a teljes DOS -- BIOS hierarchia is így szervezôdik meg. A DOS utasításai általában a BIOS interruptokat foglalkoztatják. A verem betelésére utalhatnak a programok futásakor megjelenô "STACK OVERFLOW2" típusú hibaüzenetek. Ezek vagy a program hibájából erednek (például ha a verembe végtelen ciklusban mindig csak beírni akarunk annak ürítése nélkül), vagy a veremnek kiszabott terület megnövelésével kiküszöbölhetôk. Bizonyos kritikus mûveletek elvégzésének idôtartamára az

interruptok letilthatók. (Tipikus ilyen mûvelet az interrupt vektorok táblázatába való beírás, amelynek félbehagyása --éppen a megszakítások egymásba skatulyázhatósága miatt-- a rendszer felborulását okozhatná. Az ASSEMBLER nyelvû programozás szintjén ezek az interruptok közvetlenül hívhatók. Az interruptok hívása elôtt a processzor regisztertartalmait biztonsági okokból célszerû a verembe menteni, majd bizonyos regisztereket fel kell tölteni töltenünk azokkal az adatokkal, amelyeket a hívott interrupt bemeneti adatokként használ. A hívott mûvelet végrehajtására vonatkozó információk szintén a processzor megfelelô regisztereiben helyezkednek el. Ma már a magasabb szintû programnyelvek (pl. FORTRAN) is úgy vannak megszervezve, hogy belôlük bizonyos interruptok a DOS-BIOS hierarchia megkerülésével, közvetlenül hívhatók (pl. az egér kezelését megkönnyítendô) Åltalában azonban, a magasabb szintû programozás folyamán

ez az egész rendszer a programozó elôtt rejtve maradhat. Az ilyen programozási trükkökkel általában a kapott program futási sebessége növelhetô. Jelen elôadásnak nem célja e rendszer részletes ismertetése. A rendszer mûködésének logikai elvét azért vázoltuk, hogy erre emlékezve a hallgatók jobban megérthessék a számítógép mûködését. A következôkben rátérünk annak a szisztémának a vázolására, amelynek segítségével a DOS a lemezen fizikailag elhelyezi az adatfájlokat. 2 Overflow = túlcsordulás. Az adattárolás fínomszerkezete a diszken (MS DOS, IBM-kompatibilis rendszerek WINDOWS operációs rendszerrel) A közönséges adatok tárolására használt diszkek esetében különbözô "mértékegységek" használatosak, méghozzá praktikus okokból. Ezek az alábbiak: Track (nyomvonal): koncentrikus körök a diszken, amelyeken az írás és olvasás történik; Szektor: a nyomvonalak kisebb részei, (byte-ban

kifejezett mérete a konkrét diszktôl függ); Klaszter (cluster): adott számú szektorból álló csoport (a benne foglalt szektorok száma a diszktôl függ). A fenti speciális adatokat rögzíti a lemezen a legelsô (0.) szektor tartalma Nézzük például az 1.2 Mbyte tárkapacitású, 5+1/4 inch átmérôjû lemez legelsô, ún "Boot" szektorát: A 0. Szektor (ún "boot record") tartalma OEM ID: MSDOS5.0 (az op.r azonosítója) Bytes per sector: 512 (a szektorok mérete) Sectors per cluster: 1 (a klaszterek mérete) Reserved sectors at beginning: 1 (lefoglalt kezdôszektorok) FAT Copies: 2 (a FAT másolatainak száma) Root directory entries: 224 (gyök. könyvt bejegyzései) Total sectors on disk: 2400 (szektorok száma a diszken) Media descriptor byte: F9 Hex (a diszk anyagának leírása) Sectors per FAT: 77 (a FAT tábla mérete) Sectors per track: 15 (nyomvonalak mérete) Sides: 2 (oldalak száma) Special hidden sectors: 0 (spec. rejtett szektorok)

Big total number of sectors: (az összes szektor száma) Physical drive number: 0 (fizikai drive szám) Extended Boot Record Signature: 29 Hex Volume Serial Number: 976887024 Volume Label: NO NAME (a diszknek adható név) File System ID: FAT12 (file rendszer azonosítója) Az ún. "boot szektor"-on kívül egyéb speciális rendeltetésû szektorok is vannak a lemezen, amelyek megnevezését a fenti táblázatban dôlt vastag betûvel emeltük ki Ezek az adott konkrét diszk példáján bemutatva az alábbiak: A szektorok felhasználása az 1.2 MByte kapacitású hajlékony lemezen 0. szektor: "Boot" terület, a DOS használja elemi bejegyzésekre a lemezen való globális tájékozódás céljaira; 1 - 14. szektor: FAT (File Allocation Table), azaz "File Elhelyezkedési Táblázat", a DOS használja; 15 - 28. szektor: a "gyökér könyvtár" által használt terület "Root Directory"; 29 - 2,399. szektor: a ténylegesen

adattárolásra felhasznált terület A FAT használatán alapuló módszer egy igen praktikus "térképészeti trükk". Bár az adatfájlok legkisebb egysége a Byte3, az egy file-hoz hozzárendelhetô legkisebb terület az adott diszken definiált "klaszter". Ebbôl véges sok, és nem nagyon nagy számú fér el a ténylegesen adattárolásra felhasznált területen. A FAT tábla e terület "klaszternyi felbontású" térképének tekinthetô, amelyben valamennyi klaszterhez e táblázat egy meghatározott rekesze kölcsönösen egyértelmûen van hozzárendelve. A táblázat rekeszeiben bejegyzések találhatók. A FAT táblázat rekeszeiben háromféle bejegyzés lehet: * * * egy másik klaszter száma; vagy az ún. EOF (End Of File = a fájl vége) szimbólum; 0, ha az adott rész nem tartalmaz érdemleges adatot; Válasszuk ki találomra a FAT táblázat egyik rekeszét! Ha abban a 0 értéket találjuk, ez azt jelenti, hogy a rekesz számával

azonos számú klaszter még "szûz", azaz azon a területen az operációs rendszer még nem kísérelte meg valamelyik file egyik részének elhelyezését. Ha a rekeszben az EOF szimbólumra kakadunk, ez azt jelenti, hogy a rekeszhez tartozó klasztert pillanatnyilag egy konkrét file foglalja le, méghozzá úgy, hogy a file abban a klaszterben végzôdik. Ha a rekeszben álló bejegyzés egy másik klaszter száma, ez az adat azt jelenti, hogy a vizsgált rekeszhez tartozó klaszter teljes terjedelmében le van foglalva valamelyik file számára, méghozzá úgy, hogy ez a file nem ér véget ebben a klaszterban, hanem folytatódik a bejegyzésnek megfelelô számú másik klaszterban. Nézzük meg a fentebb már példának használt diszk FAT területének egy részletét! 1-14 szektor: az FAT elsô másolatának 1. szektora 2. Cluster 3 3 4 5 1 Byte = 8 Bit. 6 7 8 9 10 11 12 13 14 15 16 17 <EOF> 19 27 28 29 30 31 32 33 34 35 36 37 39

40 41 42 43 44 45 46 47 48 51 <EOF> 53 54 55 20 56 21 22 23 24 25 26 38 49 57 <EOF> 59 60 61 50 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 <EOF> 101 102 103 104 <EOF> 0 111 112 113 114 <EOF> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 stb. A "nem szabályos helyen álló, dôlt vastag betûvel szedett" 3 szám a 2. számú klaszterhez tartozó rekeszben áll, jelezve, hogy a 2. sz klasztert lefoglalja egy file, amelynek adatállománya a 3. sz klaszterban folytatódik (Az adott példában a FAT elsô rekesze a kettes számot viseli.) A 3. sz klaszternek megfelelô rekesz pontosan a 2 számúnak megfeleltetett rekesz mellett áll. A benne álló "4" szám jelzi, hogy az adott file a 3 klaszterben sem ér véget, hanem folytatódik a negyedikben, s.ít E láncolatot felgöngyölve a 17.

klaszterig jutunk, amelyben végre az EOF szimbólumra ráakadva megtudjuk, hogy a tekintett file e klaszterban végzôdik. A szomszédos, 18. klaszterhez tartozó rekeszben ismét egy klaszter-számot találunk, amely jelzi, hogy a 18, klaszter is hozzátartozik valamelyik file-hoz, amely azt nem meríti ki. Önmagában a FAT tábla adatai alapján azonban nem lehet nagyon könnyedén megmondani, hogy e másik file megelôzô részei hol helyezkednek el. A logikailag lehetséges megoldás az egész FAT táblázat átvizsgálása azon rekesz megtalálása érdekében, amelyben a 18 mint bejegyzés szerepel. A klaszterek fájlok számára való kiosztása --különösen erôsen telített diszkek esetében-- általában nem a fenti szép növekedô sorrendet mutatja, hanem lehet igen kaotikusnak tûnô. Ennek az az oka, hogy a telítôdô diszkeken új fájlok számára általában már nem áll módunkban olyan "összefüggô, egységes" területet találni, amelyben az adott

file elférne. Ilyenkor az operációs rendszer megkísérli a file elhelyezését nem összefüggô területeken, az egyes kisebb --minimálisan egy klaszternyi-- szabad területek felhasználásával. Világos, hogy a FAT szervezésének köszönhetôen, amely úgy mûködik, mint Ariadne fonala Minotaurus labirintusában, az így elszórt fájlok is kézben tarthatók az operációs rendszer részérôl. (Ilyenkor a diszk olvasási és írási sebessége is lelassul, hiszen az író/olvasó fejnek az egymástól fizikailag is távol esô helyek közt kell "ugrálnia" ahhoz, hogy feladatát elvégezhesse. Látható, hogy a FAT tábla segítségével az összes file diszken való elhelyezkedése pontosan nyomonkövethetô. Az is világos, hogy ennek a rendszernek egy kis sérülése is jelentôs adatvesztést okozhat akkor is, amikor maguk az adatok az azok tárolására kijelölt diszk-részeken lényegében sértetlenül állnak, de a szervezettségükre vonatkozó, a

FAT-ban maradéktalanul tárolt információ egy része elvész. Ez az oka annak, hogy a diszken --biztonsági okokból-- a FAT táblázatnak minimum két példányát is karbantartja az operációs rendszer. A FAT táblázatból még nem derülnek ki az alábbi dolgok: * a benne feltérképezett fájlok neve és egyéb, nem a tartalmukban tárolt adatai; * az EOF szimbólummal megjelölt klaszterek elejébôl hány Byte képezi az adott klasztert lefoglaló file érdemi részét (a maradék Byte-ok "szemetek", nem képezik az adott file részét, de a számára lefoglalt területen ülnek. E hiányzó információk nem a FAT táblázatba, hanem a directory részére lefoglalt részbe kerülnek bele. A már demonstrációra egyszer felhasznált diszk példáján mutassuk meg ennek szervezését! 1-14. szektor: DIRECTORY 1 Szektor a DIRECTORY-ból: File-név, Méret (Byte), Létrehozás dátuma/ideje, Kezdô klaszter, Jelleg INFALAP0 DOC 8192 2/06/94 2:52 pm 2 Arc

INFALAP1 DOC 7408 2/06/94 9:30 pm 18 Arc TARQ1 2823 2/06/94 12:27 pm 52 Arc 21504 2/08/94 4:56 pm 58 Arc SNAPSHOT 05 2050 2/08/94 5:00 pm 100 Arc SNAPSHOT 08 2050 2/08/94 5:05 pm 115 Arc SNAPSHOT 07 2050 2/08/94 5:04 pm 110 Arc WQ1 INFALAP2 DOC Láthatjuk, hogy a Directory olyasmi, mint egy iktatókönyv. Tartalmazza a fájlok nevét, Byte egységekben kifejezett méretét, s az adott file-hoz tartozó legelsô klaszter számát. Mivel a "Boot Sector" bejegyzésébôl a rendszer tudja, hogy egy klaszter hány Byte, a pontos fileméret alapján számolással meghatározható, hogy az utolsó klaszter mely byte-jai tekinthetôk "szemétnek". A fenti példákkal lényegében vázoltuk az adatok tárolásának "finomszerkezetét". Az IBM PC (XT-AT) számítógépek memóriagazdálkodása és megszakításrendszere A mai számítógépek két stabil állapotú elektronikus egységekbôl vannak összeállítva, ezért

mûködésük leírására közvetlenül a 2-es alapú számrendszer lenne a leginkább alkalmas, ugyanis e két állapot természetes módon feleltethetô meg a 2-es számrendszerben megengedett két számjegynek, a 0-nak és az 1-nek. E kétállapotú egység neve: bit. A gyakorlatban egy bit túl kevés információt hordoz ahhoz, hogy vele kényelmesen lehessen dolgozni. Ezért érdemes nagyobb egységeket, azaz elôre rögzített számú bitbôl álló képzôdményeket egyetlen logikai egységként kezelni. (Hasonlóképp jár el a latin írás a 32 betût vagy karaktert tartalmazó ABC bevezetésével, vagy a pl. az italszállítók a "láda sör" mint gyakorlatilag legkisebb, a kezelés szempontjából praktikus méretû egység bevezetésével. Mivel a számítástechnika fejlesztésével az USA járt az élvonalban a XX. század közepétôl, a világviszonylatban elterjedt, a számítógép memóriakezelése szempontjából legkisebb egységként egy "256

betûs ABC"-nek megfelelô jelrendszer terjedt el, amelyet ASCII (ASCII = American Standard of Coding for Information Interchange, azaz az információ cseréjére bevezetett amerikai kódolási szabvány) kódoknak nevezünk. Ebbôl a halmazból a [0,127] tartományba esô kódokat az eredeti szabvány részeként kezelik (bizonyos vezérlési funkciók ellátására --printer, képernyô meghajtás, stb.--, valamint a standard angol-latin ABC kis- és nagybetûinek jelölésére, míg a [128,255] közti sorszámúakat --többféle, az egyes európai nyelveknek, kereskedelmi vagy tudományos, grafikus, stb. jelölési igényeknek megfelelô célokra tartják fenn a legkülönbözõbb európai ill nemzetközi szabványoknak megfelelõen. Világos, hogy mivel 28=256, ez a mennyiség, amelyet a továbbiakban 1 byte (bájt) információnak nevezünk, összesen 8 bitnyi memóriaelembôl állítható össze, hiszen 8 kétállapotú, egymástól függetlenül beállítható elembôl

álló konstrukció összes lehetséges különbözô fizikai állapotainak száma pontosan ennyi. A számítógép memóriakezelésének alapelve ezért az alábbi: 1 byte információmennyiség, mint a legkevesebb nyilvántartott "adag. A címzés úgy mûködik, mint a teljes memóriaterület kicsinyített térképe, amelyen 1 egység a valóság 1 byte-nyi szeletét azonosítja. Az, hogy ennek a szeletnek a tartalma a lehetséges 256 tartalom közül melyik, a térképrôl önmagában nem derül ki. Ahhoz hogy ez kiderüljön, a térkép alapján meg kell keresni az illetô egységet, s ki kell olvasni annak tartalmát. Hasonlóan végezhetô el a memóriába való beírás is Röviden e leképezési rendszert nevezzük a számítógép memóriagazdálkodási rendszerének. E rendszer még több apró "finomsággal" is rendelkezik. Mivel általában 1 byte információ is elég kevés, más, a byte egységbôl felépített, annál nagyobb egységek is forgalomban

vannak, az alábbi táblázat szerint: Legkisebb egység a memóriatérképen 1 byte 1 paragrafus=16 byte 64 kbyte+=26x210x1 byte (1 szegmens) 1 Mbyte++=220x1 byte=210x210x1 byte A gyakorlatban használatosak még az inkább a különbözô számábrázolási módok szempontjából elônyös egyéb egységek: 1 szó (WORD) 1 dupla szó (DOUBLE WORD) 1 QUAD WORD 2 byte méretû információ, 4 byte méretû információ, 8 byte információ. +Megjegyezzük, hogy a 210=1024 közel 1000-rel egyezik meg, ezért a 10-es számrendszerben szokott módon ezt 1 kilo (k) néven tartják számon. ++Hasonló módon, 220 közel 1000x1000, ezért ezt a kettes számrendszerben milliónak (mega) (M) nevezik. Visszatérve a számítógép memóriagazdálkodásának kérdésére, az i8086 processzor ún. regiszterekkel vagyis különbözô információk tárolására alkalmas rekeszekkel rendelkezik, amelyek közül mindegyik 16 bites. E regiszterek közt vannak kimondottan cím jellegû

információk tárolására alkalmas regiszterei. Egy a gépen futó program általában a következô információféleségekkel dolgozik, amelyek mindegyike a gép operatív memóriájában van elhelyezve: * * * végrehajtható utasítások vagy más néven "kódok"; a program által kezelt "adatok" (nem értelmezendôk utasításként); a veremterület alkalmi és átmeneti bejegyzések tárolására. Ezek az adatblokkok általában egymástól elkülönítve helyezkednek el a memóriában, s tartalmukhoz címzéssel lehet hozzájutni. A megfelelô blokkok tartalmának címzésére az i8086 processzor az alábbi regisztereket tartja fenn és használja: • • • • CS=Code Segment regiszter a végrehajtható utasításokhoz; SS=Stack Segment regiszter a verem címzéséhez; DS=Data Segment regiszter az adatok címzéséhez; ES=Extra Segment regiszter egy addicionális, címek nyilvántartására használt regiszter "honnan hová" típusú

mûveletek elvégzéséhez. Bár ezen regiszterek mindegyike csak 16 bit méretû, az i8086 processzor mégis 1 Mbyte terület címzésére alkalmas, noha ehhez a fenti táblázat értelmében 20 bites regisztert kellene használni. Ezt a következô egyszerû trükk segítségével érik el: A címzési mûvelet elvégzésekor a processzor a fenti regiszterek tartalmát automatikusan megszorozza 16=24-gyel, vagyis a legkisebb egység, amelyben a regiszterek tartalmát tekintve a rendszer a címzésben gondolkodni hajlandó, 16 bitnyi címinformáció, amely mögött a valóságban 16 byte méretû memória rejlik. A címregiszterek tartalmának eggyel való növelése tehát egy paragrafusnyi információ "átugrását" jelenti. Kérdés ezért, hogy hogyan tud ez esetben a rendszer ennél kisebb mennyiségû, pl. 1 byte méretû információhoz hozzájutni. E finomabb felbontás elérése érdekében az i8086 processzoron futó programok a címzést a következô

"trükk" segítségével oldják meg: alkalmaznak további 16 biten tárolható "eltolás" vagy "offset" információt, ami azt jelenti, hogy a szegmensregiszterben tárolt számok 16-szorosához ezt az offset értéket hozzáadva megkapjuk annak a "memóriarekesznek" a címét, amelyben a keresett 1 byte információ "tartózkodik", vagy amelyikbe az beírandó. A fenti eljárással számolt címet fizikai címnek is szokás nevezni. A fentiekbôl következik a memóriagazdálkodás alábbi általános szabálya: Az i8086 processzor 2x16 bit= 4 byte területet foglal le a címinformációk kezelésére; • Ezek [(Szegmens reg. tartalom):offset] formában tárolódnak, s a [16x(Szeg reg tart.)+offset] fizikai címet jelentik; • Az adott szegmensregiszter tartalomhoz 216=26x210=64 kilo címbit mögötti tartalomnak, azaz 64 kbyte-nak megfelelô adat húzódik meg, amely pontosan egy szegmensnyi; • Ezek a szegmensek szükségképpen

az egyes paragrafusok közti határokon kezdôdnek. • Néhány definíció az IBM PC kompatibilis gépek DOS-ban használatos memóriafogalmairól Az itt következõ definíciók mintegy alkalmilag lakultak ki a szakzsargonnal együtt, megértésük a DOS Shell (felhasználói felület) kapcsán felmerülõ parancsokhoz szükséges. Mivel pontos magyar fordításuk nem eléggé elterjedt, pontos definiálásukban az angol nyelvû kifejezéseket használjuk. A fenti rendszerek négyféle típusba sorolható elektronikus memóriával rendelkezhetnek: • Konvencionális memória (angolul “Conventional”): ez minden PC-nél megtalálható, minimum 256 kbyte, max. 640 kbyte méretig növelhetõ; e memóriát a programok mindenféle extra, specifikus instrukció nélkül tudják használni, szemben a többi típusú memóriával; e memória egy részét az MS DOS maga használja, más részét a CONFIG.SYS-ben és a AUTOEXEC.BAT file-ban használt parancsok, a maradék rész jut

az egyéb programoknak; • “Extended Memory” (rövidítve XMS): a memóriabõvítés egy lehetõsége az XMS az Intel 80286 és magasabb verziószámú processzorok esetében, a programok sebességének és hatékonyságának növelésére; (a legtöbb PC 640 kbyte konvencionális és 384 kbyte XMS-sel rendelkezik); a legtöbb program olyan címzési rendszerrel dolgozik, amely a konvencionális memórián belül tud mûködni, de külön segítség nélkül nem képes címezni az XMS tartományaiban; használatához installálni kell az Extended Memory Manager programot (HIMEM.SYS), mint a DOS egy részét: ez sergíti a programokat az XMS használatában, s megakadályozza, hogy a különbözõ programok az XMS-nek ugyanazt a részét használják fel; a konvencionális terület egy részének felszabadítása érdekében a DOS maga is futtatható az XMS-ben; a WINDOWS 3.0 és magasabb verziószámú verziói szintén az XMS-ben mûködnek a legjobban; Az XMS felhasználható

továbbá a másik típus, az “Expanded Memory” (EMS) szimulálására az EMM386.EXE parancs segítségével; • “Expanded Memory” (EMS) alkalmazása a másik módszer a konvencionális memória addicionális bõvítésére; ehhez egy “expanded memory board” mint hardver kiegészítés, és egy azt kezelõ szoftver, az “expanded memory manager” szükséges; Az “expanded memory” használatára tervezett programoknak nincs direkt hozzáférésük az e memõriában tárolt adatokhoz, hanem az 16 kByte méret “page” (lap) nevezetû szegmensekre felosztva kezeltetik úgy, hogy a lapok rámásolûdnak a “page frame” (oldal keret) nevû területre, amely az itt utoljára említett “upper memory area”ban helyezekedik el; a program a “page frame”-en keresztül fér hozzá az EMS-hez a Lotus/Intel/Microsoft “Expanded Memory Specification” (LIM EMS) rögzített szabályai szerint; egyes programok nem tudnak kommunikálni az “expanded memory

manager”-rel, noha fejlesztés szempontjából az XMS késõbbi megoldás, mint az EMS. • “Upper Memory Area”: a legtöbb rendszer rendelkezik egy ilyen 384 kbyte méretû memóriaterülettel; ez közvetlenül szomszédos a 640kbyte méretû konvencionális memóriaterülettel; az Upper Memory Area nagyságát általában nem tekintik a teljes memória részének, mivel a programok e területen nem képesek adatot tárolni; e területet a rendszer speciális hardverei (pl. monitor) használják; amennyiben ennek egy része kihasználatlan, abba lehet a többi memória típusból is adatot másolni; az ilyen szabad blokkokat nevezik “Upper Memory Block”-oknak; az i80386 és i80486 proceszorral és Extended Memory-val felszerelt gépek tudják használni ezeket a blokkokat, több helyet hagyva a magasabb memóriacímek részére; (pl. olyan device driver-ek helyezhetõk ide, amelyek egyébként az Extended Memory-ban futnának); A fenti szisztéma tisztázása után könnyen

megérthetjük a számítógépek megszakítás-rendszerének mûködését. Az IBM XT-AT számítógépek megszakításrendszere Az IBM XT/AT számítógépek összesen 256 féle különbözô ún. megszakítást képesek kezelni. A megszakítások nem mások, mint a processzor által végrehajtható tipikus, gyakran használt "szabvány-programok", amelyek valamilyen tipikus részfeladat komplett ellátására képesek. E programok valahol a számítógép operatív memóriájában "tartózkodnak", s valamennyien rendelkeznek egy belépési címmel, azaz azzal a címmel, amelyen az elsô értelmes végrehajtható utasításkódjuk tartózkodik. (E programok egy része a BIOS-hoz tartozik, s állandóan a memóriában van. Más részük a DOS részét képezi és az operációs rendszer betöltésekor kerül be a memóriába. Harmadik részük állhat a felhasználók által írt programokból, amelyeket az operációs rendszer csak akkor tölt be a

memóriába, amikor tôle ezt a felhasználó kéri, s csak addig marad benne, amíg a felhasználó a program memóriából való törlését "meg nem rendeli".) Akárhogy kerül is e program a memóriába, annak kezdô címét a [SEGMENT:OFFSET] (ez összesen 4 byte) formában be kell írni az operatív memória legalacsonyabb címein elhelyezett interrupt táblázatba. Az interrupt táblázat a 256 különbözô interrupt számára 256*4 byte címterületet tartalmaz. Az interruptok maguk meg vannak számozva a [0,255] számokkal, a rájuk való hivatkozás e sorszámokkal történik. Az n-edik interrupthoz tartozó programcím a memóriában a (4xn)-edik byte-nak megfelelô helyen kezdôdik. A megszakítás "bejelentkezésekor" a processzor a verembe menti a regisztereinek tartalmát (köztök azt az utasítás-kód címet, amelyiknek a végrehajtásánál éppen tart, az interrupt táblából kinézi azt a kezdôcímet, amelyen az utasítássorozat kezdôdik,

amelyet a megszakítás miatt végre kell hajtania, majd ezt befejezve visszatér a megszakított programsorozathoz, amit azáltal tud folytatni, hogy a verembôl visszaolvassa regisztereinek megszakítás elôtti tartalmát. Az interruptok és a memóriacímek közti tájékozódást nagy mértékben áttekinthetôvé teszi a 16-os alapú (hexadecimális) számrendszer alkalmazása. Mivel 24=16, és 4x4=16, ez azt jelenti, hogy pl. a 16 bites szegmensregiszter tartalmak a 16-os számrendszerben összesen "4 jegyû számmal" írhatók le. A 16-os számrendszerben nyilván 16 féle eltérô számjegy létezik. Ezek jelölésére az alábbi konvenció használatos: A {0,1,2,.,9,10,11,12,13,14,15} 10-es számrendszerben felírt számokat az {0,1,2,.,9,A,B,C,D,E,F} számjegyek jelölik Emiatt a [SEGMENT:OFFSET] címinformációkra a kényelmes FFFF:EEEE típusú alak adódik. A megszakítások számozására az ASSEMBLER programokban is sokan szívesen használják a 16-os

számrendszert. Az IBM XT/AT gépek interrupt táblája durván az alábbi szerkezetû (a sorszámok után írt H betû a hexadecimális számrendszerre utal): Interrupt szám INT 00H--07H INT 08H--0FH INT 10H--1FH INT 20H--3FH INT 40H--FFH Rendeltetés Osztási túlcsordulások , egyéb túlcsordulások, "Print Screen", memória hibakezelések; Hardver interruptok, soros és párhuzamos portok kezelése, billentyûzet kezelés, floppy diszk vezérlés; a BIOS egyes programjainak kezdôcímei; a DOS egyes programjainak kezdôcímei; egyéb hardver és SW interruptok. Néhány fontosabb megszakítás (interrupt) Példák: INT 20H INT 21H INT 27H DOS A programok megszüntetését kezeli ("Terminate program") DOS a DOS alapfunkcióinak kezelôje; 09H számú funkciója: szöveg kiírása képernyôre; 0AH számú funkciója: szöveg beolvasása 1BH számú funkciója: FAT info lekérdezése kurrens lemezrôl; 22H számú funkciója: random file rekord írása; 25H

számú funkciója: Interrupt vektor beállítása; stb. (A lehetséges funkciók számozása: 00H--62H) DOS a "TSR" programból való kilépési mód kezelôje; Megjegyezzük, hogy készíthetôk olyan felhasználói programok, amelyek --miután a DOS már betöltötte ôket a memóriába, s mûködni kezdtek--, egyszerûen "kiolvassák" az interrupt tábla valamelyik bejegyzésében lévô címet, azt a memóriában maguknak eltárolják, majd ezután a tábla megfelelô helyén lévô címet megváltoztatják a saját egyik utasításuk címére, majd gondoskodnak arról, hogy az általuk elvégeztetett utasítássorozat végrehajtása után a processzort "tovább küldjék" arra a címre, amelyik eredetileg az interrupt tábla megfelelô helyén állt. Ezt átalában az ún TSR (Terminate and Stay Resident = Léptesd ki magadból a vezérlést, de maradj a memóriában) programokkal lehet elérni (ún. memóriarezidens programok) A fenti

szervezés tehát lehetôvé teszi, hogy akár a DOS, akár a BIOS alapszolgáltatásokba "belekontárkodhassunk" bizonyos utasítások azokhoz való "eléragasztásával". A fenti mûveleteknél nagyon gondosan kell ügyelni a verem karbantartására abban az értelemben. hogy egy teljes ciklus vége után a veremben tárolt adatok mennyisége ne változzék meg a ciklus elôtti állapothoz képest. A verem az egymásba rakott közérti kosarak szervezésével azonos logikájú. Kezelésével háromféle hibát követhetünk el: a) b) c) több adatot akarunk belôle kiüríteni, mint amennyit beletettünk; több adatot akarunk beletenni, mint amennyi belefér; a veremben lévô adatokat rossz tagolásban akarjuk használni. Az elsô két esetben veremtúlcsordulási vagy alulcsordulási hibaüzenetet adhat a rendszer, a harmadikban az is elôfordulhat, hogy a helytelenül tagolt adatok is értelmezhetôk lesznek, a program ennek megfelelôen hibátlannak tûnôen

mûködik, mégis rossz az az eredmény, amit számol. A tagolás potenciális hibái úgy keletkezhetnek, hogy egy-egy konkrét alkalmazás során az ember különbözõ típusú adatokat tesz le a verembe (pl. egy szót, egy duplavagy quad-szót, s például két, egymástól teljesen független mennyiség reprezentálására bevezetett szót egy adagban olvas vissza, mint dupla szót, s a visszaolvasott adatot megkísérli ekként értelmezni. Ez nyilvánvalóan olyan hiba, amely a veremgazdákodás "mennyiségi felborulását" nem fogja eredményezni. A számítógép megszakításrendszerének vázolása után van elegendõ alapfogalmunk ahhoz, hogy tisztázzuk a "compiler" és az "interpreter" típusú programnyelvek fogalmát. Compilerek és interpreterek Szó volt arról, hogy a számítástechnika fejlõdésével különféle új programozási nyelvek jelentek meg. Ezeket alapvetõen két nagy "diszjunkt" csoportba sorolhatjuk: a

"compiler" , ill. az "interpreter" típusú nyelvek csoportjába E két csoportot történetileg megelõzi az ún. ASSEMBLER típusú nyelvek megjelenése Az assembler nyelvek lényegileg a fenti két csoporttól elkülöníthetõk. Mirõl van lényegében szó? A fentiekben nagy vonalakban ismertettük az IBM PC jellegû számítógépek megszakításrendszerét, valamint a DOS-BIOS hierarchiát. Az ezen hierarchiában lévõ utasításkészlet teljes halmazt képez abban az értelemben, hogy annak elemeibõl valamennyi bonyolultabb program szekvenciálisan felépíthetõ, miként a téglákból is felépíthetõ egy egész ház. A kérdés már csak az, hogy ki végzi el * * a bonyolultabb feladat apró részekre való lebontását, valamint annak újra való felépítését az elemi építõelemekbõl. Az ASSEMBLER program szintjén gyakorlatilag a fenti két feladatsor lényegében a programozó személyre hárul. Maga az ASSEMBLER nyelv közvetlenül ezekbõl

az elemi utasításokból építkezik, emiatt a benne való programozás meglehetõsen fárasztó. (Az "Assembly" szó szerelést jelent Valóban, a vele való programozás folyamán a programozó mintegy annak elemi alkatrészeibõl "maga szereli össze" a programot. A gyakorlatban bebizonyosodott, hogy nagyobb programok ilyen módon való megírása meghaladja az ember koncentrációs készségeit, nagyon fárasztó, s rendkívül költséges lenne. Másrészt az is nyilvánvaló volt, hogy a programozás valóságos intellektuális, tényleges intelligenciát igénylõ része a nagyobb blokkokban, funkciókban való gondolkodásban merül ki, s az így létrehozott program-konstrukciók "elemi építõkövekre való lebontása", ill. ezekbõl a teljes programnak a számítógép szempontjából "kényelmes" újraépítése viszonylag egyszerû algoritmusok segítségével automatizálható. Ezt az automatizálási folyamatot végzik el a

programozó helyett a compiler és az interpreter típusú programnyelvek. A kétféle típus közti alapvetõ különbség az automatizálási folyamat idõzítésében rejlik. Az ún. "interpreter" típusú nyelvek, mint pl a BASIC eredeti formája, a felhasználó által kiadott utasításokat lépésrõl lépésre valós idõben bontja le s hajtatja végre. Az eljárás elõnye, hogy a programok viszonylag gyorsan javíthatók, hiszen a felhasználó a program futása közben pontosan tudja, hogy hol kapta a hibaüzenetet. Az elsõ hibaüzenet megjelenése után a program azonnal javítható, s a hibák lépésrõl lépésre felszámolhatók. Az interpreteres módszer hátránya, hogy miután esetében a elhasználói utasítások lebontása valós idõben történik, az ilyen programok futása eléggé lassú. (Megjegyezzük, hogy az "interpreter" szó a magyar nyelvben tolmácsot jelent, ami helyénvaló kifejezés, hiszen a programozás esetében

lényegében az ember és a gép közti kommunikációról van szó.) A "compiler" típusú megoldások a program futásának folyamatát idõben elválasztják a felhasználói program lebontásának, majd felépítésének folyamatától. A velük történõ programozás abból áll, hogy a felhasználó egy viszonylag egyszerû szövegszerkesztõ segítségével a saját észjárása, logikai és kényelmi szempontjai alapján összeállít egy ún. "forrásnyelvi" parancssorozatot, amelyben az adott programozási nyelv utasításkészletének nagy komplexitású parancsaira hivatkozik-használja azokat. (Az építkezések példájánál maradva ez megfelel annak, hogy egyes téglák és csövek használata helyett a lakásba egyetlen blokként beillesztünk pl. egy komplett fürdõszobát A beillesztésnél csak a csatlakozási pontokra "bekötésére" kell ügyelnünk, magának a blokknak a megépítése a házgyár feladata.) Az építõipari

hasonlatnál maradva a "házgyár" által "készre gyártott blokkok megfelelõje az adott programnyelvhez járó könyvtárállomány, amely nagy számú ilyen komplex, készre gyártott elemet tartalmaz, amelyekre a nevükkel lehet hivatkozni a felhasználói programban. A felhasználó által írt egyszerû ASCII-kódos programot az ún. compiler program átalakítja egy olyan szervezésû, köztes állapotú file állománnyá a diszken, amelynek szervezése már nem a felhasználó, hanem a számítógép szempontjából elõnyös és célszerû. Az így keletkezõ adatfájlok neve "object file", s nevük kiterjesztése ennek megfelelõen rendszerint ".OBJ" Az object file már mentes a konkrét programozási nyelvre vonatkozó specifikus szintaktikai szabályoktól, s egységes szervezésû, magában hordozza ugyanakkor a végrehajtandó programra jellemzõ logikai rendszert, valamint a hivatkozott függvények (könyvtári szolgáltatások)

neveit. (Megjegyezzük, hogy a "kompiláció" szó magyarul "összeválogatás"-ra fordítható, ami adekvát kifejezésnek tekinthetõ.) A programozás következõ lépése az object file "végrehajtható parancs- vagy programfájl"-lá való átdolgozása. Ezt a mûveletet az ún "linker" programok végzik (a "link" szó magyarul összekapcsolást jelent.) A mûvelet eredménye az ún végrehajtható program, amelynek kiterjesztése szabványosan a ".COM" vagy "EXE" elnevezés lehet. (A "COM" rövidítés a "command"=parancs, az "EXE" rövidítés az "execute"=végrehajtani szavak rövidítésébõl ered. A kétféle megoldás közti különbség azok egymástól eltérõ memóriagazdálkodásából ered, amelynek részletesebb megvilágítása egy késõbbi elõadás anyaga.) Az így keletkezett program a programnév kiterjesztés nélküli megadásával töltethetõ be a

memóriába, s hozható mûködésbe a DOS prompt-ból, pl. D:>WORD módon hívható be a WORD.EXE nevû szövegszerkesztõ program Nevéhez híven, a linker program az object-file-ban elhelyezett strukturális információ és a függvény hivatkozások alapján mintegy "összeférceli" a végrehajtandó programot olymódon, hogy a megfelelõ könyvtárakból a kellõ részeket "belemásolja" az EXE fájlba. A fenti szervezés lehetõséget teremt az ún, "kevert nyelvû programozásra", amelynek lényege abban áll, hogy különbözõ programnyelvek általában különbözõ feladat-típusok megoldására alkalmas könyvtár-állományokkal rendelkeznek. Egy nagyobb feladat bizonyos részeit így kényelmesebb lehet különbözõ forrásnyelven (pl. PASCAL, FORTRAN, C, ASSEMBLER, stb.) megírni, s a megfelelõ forrásnyelvû részt az adott compiler felhasználásával object fájllá alakítani. Mivel az egyes object fájlok már nem specifikusak

a forrásnyelv szintaktikai szabályait illetõen, a linker számára már nem is érdekes, hogy azok milyen forrásnyelvbõl keletkeztek. (Általában viszont meg kell adni a linkernek, hogy az object file-ban listázott függvényeket milyen DOS alkönyvtárakban elhelyezkedõ milyen "könyvtár-fájlokból" keresse ki.) Megjegyezzük, hogy az ASSEMBLER nyelv maga is a "compiler" kategóriába esik, bár "automatizáltságának foka" eléggé alacsony. Ezen alacsony szintû automatizáltságnak azonban megvannak a maga elõnyei. Míg az objcet file általában elveszti azt a partikuláris alakot, amelyben a felhasználó kényelmesebben tájékozódik (noha a program lényeges strukturális vonatkozásait maradéktalanul tartalmazza), s emiatt a gépi kódú programot pontosan olyan formában "visszaállítani", ahogyan azt a felhasználó a forrásnyelvi programban megírta, általában lehetetlen, éppen az ASSEMBLER kis automatizáltsági

foka miatt ASSEMBLER-be "visszafordítani" többé-kevésbé még lehetséges (az ASSEMBLER nyelvnek is vannak többé-kevésbé komfortos változatai). A programok javítására használható ún. "debugger" programok bármilyen forrásnyelvû kódban írt program ASSEMBLER-be való visszafordítására alkalmasak, így nagy mértékben segítik az elõforduló hibák megtalálását és megértését. (A visszafordítás e szinten természetesen változóneveket nem tartalmaz, hanem regisztertartalmakat, ill. egzakt címeket, amelyen a javítandó program futása közben ténylegesen elõfordulnak. Ez azonban már valamennyire emberileg követhetõ) Emiatt lehet hasznos az ASSEMBLER nyelv ismerete azoknak, akik programozni szándékoznak, még akkor is, ha a programokat ennél komfortosabb nyelv használatával készítik el. Megemlítendõ még, hogy a compiler és az interpreter jellegû programok közti különbség nemcsak programozástechnikai, hanem jogi

szempontból is lényeges. Egy interpreter számára forrásnyelven megírt programot jogtisztán csak olyan felhasználó alkalmazhat, aki maga is megvásárolta a program lebontását végzõ interpretert. (Pl egy DBASE IV adatbázis-kezelõnek megírt programot csak az tud használni, aki maga is megvásárolja a DBASE IV adatbázis-kezelõ alapszoftvert.) Más a helyzet a compiler-típusú programok esetében: a felhasználónak csupán az alapvetõ számítógéppel, s egy azon futó operációs rendszerrel kell jogtisztán rendelkeznie ahhoz, hogy egy ".EXE" vagy "COM" típusú programot használhasson Így a compiler típusú programok piaci értékesítési lehetõsége általában jóval tágabb, mint az interpreterekre írt programoké. A memóriakezelés kapcsán eddig az interrupt vektorok elhelyezkedésével foglalkoztunk. Illendõ még a memória egyéb területeinek használatáról is szólnunk pár szót. Az IBM PC/XT/AT általános

memóriatérképe Cím Lehetséges tartalom (aminek a hely fenn van tartva) 0000:0000 0040:0000 0050:0000 XXXX:0000 XXXX:0000 XXXX:0000 XXXX:0000 Interrupt vektorok táblázata (256x4 byte cím) ROM BIOS adatterület DOS adatterület IBMBIO.COM (BIOS kiegészítés) IBMDOS.COM (interrupt kezelõk) DOS pufferek, installált driverek és adatterületek A "COMMAND.COM" memóriarezidens része (kb 4 kbyte) (tartalmazza az INT 2H, INT 23H, INT 24H interruptok kezelõit) Memóriarezidens programok számára fenntartott terület A futtatott felhasználói ".COM" és "EXE" típusú programok, maximálisan 640 kbyte terület, és be kell végzõdnie az A000:0000 címnél A "COMMAND.COM" tranziens része, amely a belsõ DOS parancsok értelmezõjét (interpreterét) is tartalmazza; sérülés esetén újratöltõdik. Az EGA (Enhanced Graphics Adapter) által használt képernyõ RAM területe (amit ide írunk, az megjeleníthetõ a monitoron

-képernyõn); Monochrome monitor (pl. HERCULES kártya 1 lap) vagy EGA video memóriája; "CGA" (Color Graphics Adapter) vagy HERCULES kártya 2. lap, vagy EGA video memóriája; Külsõ ROM terület (pl. Hard disk, EGA v HERCULES BIOS) Az IBM AT alapkártya ROM moduljai; XXXX:0000 XXXX:0000 XXXX:0000 A000:0000 B000:0000 B800:0000 C800:0000 E000:0000 . E000:FFFF F600:0000 FE00:0000 F000:FFF0 F000:FFF5 F000:FFFE ????? ROM-BASIC-interpreter helye; ROM-BIOS; Belépési pont bekapcsoláskor vagy "RESET" után; BIOS készítési dátuma ASCII kódban; IBM PC azonosító kód Ábra A memóriatérkép durva vázlata A fenti táblázat vázolja azokat a korlátokat, amelyekkel a különbözõ programok futtatásakor vagy írásakor számolnunk kell. Látható, hogy a "COMMAND.COM" tranziens részének helyét elfoglalhatják a felhasználói programok, ezért általában e rész igen gyakran töltõdik újra a diszkrõl a helyét elfoglaló programok

memóriából való kiürülésekor. (Emlékeztetünk arra, hogy az operációs rendszer "SHELL" parancsával lehet megadni a megfelelõ COMMAND.COM program tartózkodási helyét a diszken A különbözõ verziószámú DOS-okhoz tartozó COMMAND.COM programok általában nem cserélhetõk fel egymással.) E gyakori újratöltõdés és memóriába kerülés miatt számos vírus a COMMAND.COM programon keresztül terjed el a számítógépben. Miután vázoltuk a durva memóriatérképet, szót ejthetünk az egyes felhasználói programok belsõ memóriaszervezésérõl. A felhasználói programok belsõ memóriaszervezése Az operációs rendszer számára gyártható, egyes DOS utasítások végrehajtására való ún. "Batch" ("kötegelt") programokon kívül (ezek egyszerû ASCII kódban megírt kis szöveg-fájlok), a DOS lényegében kétféle végrehajtható programtípust alkalmaz: a) a "COM" kiterjesztésû, a CP/M operációs

rendszerbõl (a DOS egyik elõdje) eredõ korlátokat és konvenciókat õrzõ szerkezetû programokat, ill. b) a DOS saját programokat. lehetõségeihez jobban illeszkedõ "EXE" kiterjesztésû Ezek mérete és belsõ szervezési rendje is jelentõsen eltér egymástól. (A "BATCH" fájlok ilyen végrehajtható parancsfájlok neveit tartalmazzák.) A ".COM" típusú programok memóriaszervezése A "COM" típusú programok teljes terjedelmükben bele kell férjenek 16 kbyte (azaz 1 teljes szegmensnyi) memóriaterületbe. E terület felosztását az alábbi ábra szemlélteti: Magasabb memória SS:SP (A verem lefelé bõvül, és "belelóghat" a programba) 64 kbyte Alacsonyabb memória CS:100H PSP (256 byte) CS:0 DS:0 ES:0 SS:0 Miután a teljes program egyetlen egy szegmensben elfér, valamennyi szegmensregiszter értéke úgy áll be a program indításakor,

hogy az az ún. "Program Segment Prefix" vagy rövidítve PSP elejére mutat. (Elnevezése abból ered, hogy a program betöltésekor ez a blokk a program-file elejére illesztõdik rá, szorosan.) (A program kódrészét és adatblokkjait a verem és a PSP közt kell elhelyezni.) (A PSP szerepére a memóriagazdálkodás vázolása után térünk ki.) A korábban már definiált "SS=Stack Segment Register" után álló "SP" kifejezés "Veremmutatót" vagy angolul "Stack Pointer"-t jelent. E 16 bites regiszter azt tartja nyilván, hogy a veremben meddig tartózkodik "értelmes adat". (Az alkalmazott fizikai cím a "SZEGMENS:OFFSET" szisztéma szerint számítható ki. Az ’.EXE’ típusú programok memóriaszervezése Az "EXE" kiterjesztésû programok több szegmensnyi területen is helyet foglalhatnak, így azokban külön definiálhatók a "Verem" (STACK), az "Adat" (DATA) és a

"Kód" (CODE) blokkok. A program, miután az operációs rendszer azt betöltötte a memóriába, az alábbi séma szerint helyezkedik el: Magasabb memória SS:SP VEREM SS:0000 ADAT DS:0000 KÓD kezdõ programparancs helye: CS:IP CS:0000 PSP Alacsonyabb memória A fenti táblázatban megjelenõ új fogalom az "Instruction Pointer" vagy rövidítve "IP" regiszter, amelynek tartalma azt mutatja, hogy a program melyik végrehajtható elemi utasításnál tart éppen. A "PSP" szerkezete mind a "COM", mind az "EXE" típusú fájlok esetében azonos, s az alábbi szerkezetû: DS:0000 DS:0002 DS:0004 DS:0005 DS:000A DS:000E DS:0012 DS:0016 DS:02CH DS:02EH DS:05CH INT 20H (kilépés hívásának) helye (2 byte); Maximális DOS szegmenscím (2 byte) A Microsoft cég "titka", foglalt terület "CALL" a memóriába töltés

hívása SEGMENT:OFFSET címe INT 22H hívásához 4 byte cím (SEGMENT:OFFSET formában) (A program kilépési címét tartalmazza) INT 23H ---"--- (a "Ctrl C"-vel való programleállítás kezelõje) INT 24 H ---"--- (Kritikus hibák kezelése) DOS által foglalt rész (DOS környezet) DOS által foglalt rész (DOS környezet) ?????? FOGLALT ?????? FCB #1 (File Control Block) DS:06CH DS:080H DS:0FFH FCB #2 "Paraméter string" Eddig a címig tart a PSP A fenti táblázatban "új" fogalmak az "FCB", a "DOS környezet" és a "Paraméter string". Ezek funkciói az alábbiak: File Control Block (FCB) A DOS eredeti felépítésében úgy van szervezve, hogy annak parancsai minimálisan két file-nevet tartalmazhassanak. Pl, mikor a DOS prompt után "kézzel" beírjuk a .:>COPY KUTYAABC MACSKABCA másolási parancsot (azaz a "KUTYA.ABC" nevû fájlt kívánjuk átmásolni egy

"MACSKA.BCA" nevezetû file-ba, a DOS megnézi, hogy e két "argumentum" vagy bemeneti adat értelmezhetõ-e filenévként a maga szintaktikai szabályi szerint. Ha igen, akkor ezeket másolja be a két "FCB" blokkba, s a program e fájlokra e blokkrészben álló információ alapján hivatkozik. A fileneveken kívül az FCB a fájlok kezelését lehetõvé tevõ számos részletes adatot is tartalmaz. Paraméter string Ha a program parancssorában két filenévnél több fordul elõ, s ezen felül még egyéb, filenévként nem értelmezhetõ információ fordul elõ, akkor azok ebbe a részbe helyezõdnek bele. (Az ide kerülõ fájlok kezelése nem az FCB-n keresztül történik) Maga a paraméterstring a következõképp szervezõdik: * * * a DS:0080H címen a string hossza áll karakterekben számolva a DS:0081H címen a "SPACE" (szóköz) karakter (ASCII kódja 20H) a DS:0082H--DS:00FFH tartományban maga a paraméter string áll. A

paraméter string egyes adatait ún. "elválasztó jelekkel" lehet szeparálni egymástól Az elválasztó jelek a DOS számára nem szabványosak, a programíró a maga kedve szerint definiálja azokat. Emiatt maga a DOS nem is ismeri fel, s ezért "söpri be" õket a paraméter string-be. Általában "space", a "/", a ",", a ";", ":" jeleket szokták elválasztásra használni. A "/" jelet szokták a parancsok és a paraméterek közti elválasztásra használni. A DOS környezet fogalma: A DOS számára a felhasználók definiálhatnak különbözõ memóriaváltozókat, amelyeket a DOS tárol, s amelyekre az egyes programok a nevükön keresztül hivatkoznak. Ezeket a definíciókat az adott programok installálásakor célszerû beírni az AUTOECEX.BAT file-ba, hogy a gép bekapcsolása után azonnal definiálva legyenek, s a megfelelõ programokkal hivatkozni lehessen rájuk. A saját

számítógépem "AUTOEXEC.BAT" fájlja a következõ parancsokat tartalmazza: @echo off prompt $p$g PATH C:WINWORD;C:WINDOWS;C:DOS;C:UTIL;C:BATCH;C:TP; SET TEMP=D:TEMP SET NC=C:util REM c:utilcheck.com graphics laserjetII d:dosedit C:MOUSEAMOUSE /1 /R9 c:MOUSEUTEST d:quattrokeybhtar d: Ezekbõl a bekeretezett rész SET parancsa felel meg környezeti változók definiálásának. Az "NC" nevû változót pl a NORTON COMMANDER használja A változó tartalma azon DOS alkönyvtár neve, amelyben a NORTON COMMANDER program fájljai találhatók meg. (A DOS prompt után a "SET" parancs "csupasz" (operandusz nélküli) megadása az éppen érvényes paraméterbeállításokat listázza ki a képernyõre). A fenti tömör összefoglalásból kitûnik, hogy a "PSP" alkalmazásának részben egyszerû praktikus okai vannak, másrészt bizonyos extra védelem nyújtása azáltal, hogy a legfontosabb interruptok a program futása alatt a PSP-be

bemásolt címeken keresztül, s nem az interrupt táblán át vannak elérve. Az i8086, i80286 processzorokra írt programok szabványos memóriamodelljei és címzési módjai Láttuk, hogy a fenti 16 bites processzorokkal a 64 kbyte-nál nagyobb memóriaterületen való címzés a "SEGMENT:OFFSET" "trükk" segítségével történik. E rendszerbõl következik, hogy a 64 kbyte adaton belül való mozgás kényelmesebb, mint az azon "túlnyúló" területeken való navigálás, hiszen erre elegedõ a 16 OFFSETbit is. Ez a körülmény az oka annak, hogy a fenti processzorokra a gyakorlatban kialakítottak bizonyos "tipikus" memóriakezelési modelleket. Ezek a "C" nyelv használata esetén könnyen beállíthatók, s az alábbiak: "Small Model Programs" (Kis programok) Mind a "KÓD", mind az "ADAT" szegmens mérete a 64 kbyte határon belül kell maradjon, az egész program 128 kbyte-nál nem lehet

nagyobb. "Medium-Model Program" (Közepes programok): * * egyetlen 64 k-s szegmens áll a program által kezelt adatok rendelkezésére, a program kód több szegmensnyi is lehet. Ez a típus nyilván viszonylag kevés adatot kezelõ, de nagyon bonyolult programoknak való. "Compact-Model Program" (Kompakt program): * * több szegmensnyi adat egy szegmensnyi programkód. Ez a típus nagy adatmennyiséget kezelõ, de viszonylag "egyszerû" programokhoz illik. "Large-Model Program" és "Huge-Model Program" (Nagy program): Mind az adatok, mind a programkódok tárolására több szegmens áll rendelkezésre. A két változat közti különbség a megengedhetõ tömbméretek elõírásában áll. Speciális címzési módok A fenti speciális memóriamodellek mind a 16 bites címzésre épülõ "trükk" folyományai. Amennyiben egy szegmensen belül kívánunk maradni, a szegmensprocesszorok tartalma maradhat ugyanaz az

érték, pusztán az "OFFSET" jellegû változók tartalmával kell foglalkozni. Emiatt kétféle címzési módszert is választhatunk. A "C"nyelv szintaktikai szabályai szerint azokat a változókat, amelyeknek a tartalma valamilyen -változó címét jelenti, "POINTEREK"-nek (mutatóknak) nevezik. Alapvetõen kétféle pointer van: a) b) "FAR" (távoli) pointer: SEGMENT:OFFSET adatokat kell tartalmazzon "NEAR" (közeli) pointer: elegendõ OFFSET adatokat tartalmaznia, a SEGMENT érték konstansnak van benne feltételezve. A pointer-hez még hozzátartozik olyan információ is, amely megmondja, hogy az adott címtõl kezdve hány byte jelent egy értelmes egységet, azaz a kezdõ cím milyen változótípushoz (WORD, DOUBLE WORD, stb) tartozik. Különösen fontos ez "tömbök" esetében, amely változók egy egész byte, WORD, DOUBLE WORD, stb. egységenként értelmesen tagolható adathalmazra utalnak Tipikus

adatátviteli követelmények: 1. kategória: emberi hang átvitele: • kezdetben telefonon, analóg módon történt; • ma digitalizálva, adatcsomagok (packet files) formában; • szükséges átviteli kapacitás: 64 kb */sec: az analóg hangból 8000 mintavétel/sec, 8 bit felbontással digitalizálva; (8×1000×8 bit /sec, azaz cca. 64000 bit/sec ≅ 64×1024 bit/sec); (szûkebb frekvencia sávszélességû eszközökön kompresszálva kisebb sávszélesség mellett is átvihetõ); • fõ probléma: a párbeszéd folyamatosságának fenntartása: néhányszor 10 msec késés széteséshez vezethet. 2. Videoképek átvitele (kép és hang szimultán): • kábel televízión vagy drótmentes rendszerekben analóg átvitel használatos; (a VHS minõségû analóg átvitel 6 MHz frekvencia sávszélességet igényel); • digitalizált VHS minõségû átvitel: 100 Mb/sec kompresszálás nélkül, 1.56 Mb/s kompresszálással; (ma a valós idejû kompresszálás erre a célra

túl drága, ezért átvitel elõtt elõbb külön kompresszálják a video felvételeket; bár ez a kompresszált átviteli igény nagyobb, mint a hang igénye, ma különösebb problémát sávszélesség szempontjából nem jelent); 1 kb ≡ 1 kilobit a konvencionális jelölés, míg 1 K (nagy betûvel) 1 kilobyte információt jelöl. Továbbá, a nagy B betû szokott lenni a "byte" egység jelölése, így pl. 1 KB = 1 kilobyte, 1 Mb = 1 megabit, 1 MB = 1 megabyte * 3. Adatállomány (Data Files) átvitele: • Ezek lehetnek igen sokfélék: számítógépes programok, grafikus fájlok, tárolt video anyagok, stb.; • Az, hogy szükség van-e valósidejû adatátvitelre, s mekkora sávszéleségre, az a felhasználásuk módjától függ; • Példa: 1000×1000 pixeles CAD rajz 24 bit színábrázolással kb. 24 Mb (3 MB) információt hordoz; Átvitele az ISDN (Integrated Digital service Network) hálózaton az arra érvényes 64 kb/s mellet több, mint 6 min

idõt igényelne; Ugyanez FDDI (Fiber Distributed Data Interface)-en 100 Mb/s mellett ¼ sec lenne, ha a rendszer idõosztásban dolgozna; (egy 32 állomásos LAN esetén (Local Area Network) idõosztás mellet ez 8 sec idõbe kerülne); A fenti igényeket egyszerre kielégítõ kompromisszumnak látszikaz ATM (Asinchronous Transfer Mode, azaz aszinkron adatátviteli mód) technológia, emiatt az látszik terjedni.+ Míg az egyéb adatátviteli technikák az adatformát és az átviteli sebességet "szorosan összekötik egymással", az ATM szabvány mindössze 53byte cella formát ír elõ, a "frame"-re, az adatátviteli sebességre és az átvitel fizikai közegére való megszorítás nélkül*. Ennek üzleti elõnyei vannak: míg más módszerek bérlõi, ha általában nagy sávszélességre (pl. tipikus kategóriák 10 Mb/s, 1544 Mb/s ill 100 Mb/s, 155 Mb/s) van szükségük, kénytelenek azt folyamatosan bérelni, a tényleges forgalomtól függetlenül. Az

ATM használói a ténylegesen kiküldött cellák száma után fizetnek, s nem egy speciális eszközpark sebességéért. + IEEE Spectrum, 1994. júniusi szám, 19-24 oldal, Arthur Miller: "From here to ATM" c cikke alapján IEEE Spectrum, 1994. februári szám, 42-45 oldal, Jim Lane: "ATM knits vioce, data on any net" c cikke nyomán. * Adatfájlok átvitele Az adatfájlok kisebb egységekre, ún. "frame"-ekre feldarabolódva kerülnek átvitelre. Ezek a darabok olyan méretûek, amelyeket a hálózat még kellemesen tud kezelni. Az egyes adagokhoz vag frame-ekhez kiegészítõ információk ("headers") adódnak hozzá, amelyek olyan segédinformációkat tartalmaznak, amelyek alapján a nagy adatfile darabjai a fogadó oldalon újra "összeilleszthetõk" egymással. A kiegészítõ információk nemzetközileg szabványosított módja az OSI (Open Systems Interconnections, azaz nyitott rendszerek összekapcsolása) szabvány,

amely az adatátvitelt szabályozza. Alapelemei az alábbiak: A kommunikációs protokollok OSI referencia modellje Réteg (Layer) Felhasználói (Application) Formázás (Presentation ) Szekció (Session) Átvitel (Transport) Hálózat (Network) Adatkapcsol ás (Datalink) Fizikai szint (Physical) A megfelelõ réteg funkciója Az átvitt információ feldolgozásához kellõ szolgáltatás-elemeket adja: erõforrások elosztása (sharing), file átvitel, adatbázis kezelés; A kicserélt adatok megfelelõ formába hozását, valamint az egyes szekciók közti dialógus menedzselését végzi; A kapcsolatok létrehozása és megszüntetése; a felhasználói jogok megadása a szolgáltatás folyamán; az adatátvitel szinkronizálása; A hibamentes adatátvitelt biztosítja: a folyam vezérlése, a hibák kijavítása, visszaigazolás a küldõ félnek; Az adatátvitelt végzõ közegek egymással összekötve. Az adott fizikai közegen való adatátvitel szabályait bocsátja

rendellkezésre: csomagformák, hozzáférési jogok, hibadetektálás és korrekciók; Az egyes állomások közti kapcsolat mechanikai és/vagy elektromos szintje. Az adatátvitelnél a küldõ oldalon az átviendõ információt jelentõ "információdarabra" mindegyik réteg "réteszi" a maga htáskörébe esõ járulékos információt, amelyet a fogadó oldalon a megfelelõ szint "leszed, továbbítva azt a következõ szintnek. A "fizikai" és az "adatkapcsolási" szinten az adatcsomag az alábbi részekbõl áll: • • • • • "Flag"; "Frame Control Information": a "frame" típusát azonosítja; "Destination Address": rendeltetési cím, ahová az adag küldendõ; "Source Address": a küldõ egység címe; "Payload": maga az elküldendõ hasznos információ; • "CRC=Cyclical kiszûrésére. Redundancy Check": redundáns információ a hibák

Az információ szállítására használt közegek: 1. Rézhuzal alapú galvanikus csatlakozások: • koaxiális kábel: a kezdeti években igen elterjedt volt a LAN és WAN (Local Area Network = helyi hálózat kb. 100 m huzalhosszig, Wide Area Network 100 m felett = Széles Területi hálózat) esetében az alábbi tipikus üzemmódokban: 1.544 Mb/s, 2048 Mb/s ill 10 Mb/s Ethernet hálózatokon; Hátránya, hogy vastag. merev, nehezen csapolhat/csatlakoztatható; • hang- ill. adatminõségû (voice- and data-grade) árnyékolatlan, csavart huzalpár (3 UTP, ill. 5 UTP = Unshielded Twisted Pair): 100 m távon vagy az alatt, az Ethernet igényeit kielégíti; az 5. kategória eladása 1992 folyamá duplája volt a hármasénak, igen terjed; • Árnyékolt, csavart huzalpár (STP = Shielded Twisted Pair, IBM Type 1): szinte kizárólag az IEEE 82.5 hálózatok használják Olcsó (kb 70 US$/ 100 m installációs költséggel együtt); Várakozások szerint a 156 Mb/s átvitel is

elérhetõ vele. 2. Száloptikák: • Nagy sávszéllességre és nagy távolságokra (több 10 km nagyságrend) elõnyösek; általában a száloptikák és a csatlakozó elemek drágák, s az installáció költsége is magas (kb. 400 US$/100 m); • Kétféle, kereskedelmi forgalomban is kapható fényforrás és "fénydetektor" kapható hozzájuk: λ=850 nm (olcsóbb, de a távolsággal erõsebben csillapodik), ill. λ=1300 nm (drágább, de kisebb csillapodású), midkettõ használható egyill. többmódusú üzemmódban; 3. Huzalmentes megoldások (rádióhullámok): • Sávszélessége korlátozott; • Szabványosítása nincs nagyon elõrehaladott állapotban, bár folyamatban van; • Forgalmazásában különbözõ sémákkal kísérleteznek (pl. telefon MODEM csatlakozással) Az adatkommunikáció alapvetô változatai az RS232 interfész példáján A különbözô gépek közötti adatkommunikáció vagy párbeszéd szabályai az emberek közti

kommunikációs szabályok átvételén alapul. A párbeszédben résztvevô partnerek azonban általában nem egyenrangúak egymással. A számítástechnikában elôforduló, egymással összekapcsolható, képernyôvel és billentyûzettel ellátott eszközök vagy más néven terminálok alapvetôen két fô típusba sorolhatók. Data Terminal Equipment, azaz "adatterminál eszköz", amely "csak nyeli" a részére kiküldött adatokat, de automatikusan nem szól vissza a küldô fél részére azzal kapcsolatban, hogy a beletöltött adatokat megfelelôen fel tudta-e dolgozni. (Erre a küldô félnél mûködô szoftverbôl kell tekintettel lenni.) Data Computer Equipment, azaz olyan viszonylag intelligensebb eszköz, amellyel szimultán kétirányú adatforgalom valósítható meg, s így az a küldô fél felé folyamatosan képes visszajelezni az adatok vételével kapcsolatban. A fenti kétféle típus segítségével a következô ún. adatforgalmi típusok

valósíthatók meg: "Duplex üzemmód": egyidôben kétirányú információforgalom. "Half-Duplex üzemmód":, idôben nem szimultán, hanem felváltva folyó "oda-vissza" adatforgalom. "Szimplex üzemmód": mindig csak egyirányban folyó üzemmód. Az adatok átvitele a kettes számrendszerre jellemzô legelemibb egységekben, azaz bitekben történik akkor is, amikor a küldô szoftverek "felhasználói szintjén" e felbontás "nem jelenik meg". A biteknek a jeladó oldalán két stabil feszültségértékbôl építkezô "négyszögjelek" felelnek meg, amelyek a vezeték szórt kapacitásain torzuló váltóáramok terjednek. Az egy byte információ bitekre való "feldarabolásának", és bitenként egymás utáni kiküldésének módszere miatt nevezik az RS232 interfészt "soros" interfésznek. A két feszültségérték közti ingadozás bizonyos frekvenciával történik. Ahhoz, hogy az

információ egyértelmûen "olvasható legyen" a fogadó oldalon, a "0" és "1" értékek között "billegõ" kiadott jelbõl a vevõ oldalán a küldô oldal jeleivel "idôben szinkronizált" módon kell "mintákat venni", ami megfelel a jel "betöltésének" egy alkalmi "pufferba". (A vevõ oldal számítógépének vagy termináljának külön szoftverbõl kell gondoskodnia ezen puffertartalom további elhasználásáról.) A szinkronizálásra alapvetôen két módszer létezik: Szinkron adatátvitel: ekkor a két eszközt összekötô vezetékkötegben egy szálat egy "ún." órajel átvitelére használnak fel, amelyet a küldô fél ad ki, s amelynek segítségével az adatok küldése és fogadása pontosan szinkronizálva van egymással. Aszinkron adatátvitel: ebben az esetben nincs szükség külön drótszálra az órajel átvitelére. E módszer azon alapul, hogy gyárilag

közelítôen biztosítható két különbözô óra azonos frekvenciája. Amennyiben az adatok küldôje a fogadó felé az adás kezdetét egy startjel; segítségével jelzi a fogadó fél felé. A két félen lévô óra közel azonos frekvenciája miatt a két óra járása rövid idô alatt nem sokat csúszik szét egymástól. A szinkronizáció módjai és a forgalmi típusok kombinációjával elvileg többféle módozat lenne kialakítható. A gyakorlatban kétféle fô típus terjedt el Ezek egymástól abban is különböznek, hogy a szabványos RS232 interface (csatlakozó) lábai közül különbözôeket és különbözô számúakat használnak fel az adatátvitelre. (A nem használt csatlakozó lábakra egyszerûen nem kell huzalokat kötni.) SOROS, ASZINKRON, EGYIRÁNYÚ ADATÁTVITEL Ez a módszer az alábbi elveken alapul: * Az adó fél nem ellenôrzi, hogy a vett jellel mi történik a vevô oldalon. Az adó a vevô állapotára való tekintet nélkül

ömleszti az adatokat, s azok biztonságos beolvasásáról csak a vevô oldalon használt szoftver nagyon gyors mûködésével lehet gondoskodni. * Tudjuk, hogy a programozás szempontjából a legkisebb információegység az egy byte. Pl ASSEMBLER-ben való programozással legkevesebb 1 byte kiírására lehet utasítást adni. Honnan tudja a vevô oldalán lévô szoftver, hogy az átvitel folyamán bitekre bontott karakter adatvonalra való kiküldése már befejezôdött? Erre a célra az RS232 interfészt külön vezérlô processzor státusz (állapot) regiszterének bitjei, az ún. állapotbitek adnak felvilágosítást a kommunikációs szoftvernek. E regiszter tartalma egy egyszerû utasítással beolvasható az i8086, i808286, i80386 processzor valamelyik regiszterébe, s ott bitenként megvizsgálható. A megfelelô információt az ún TX Ready nevezetû, (azaz a szöveg kiadására --T=Transzfer=átvitel-- vonatkozó) bit tartalma hordozza: ha ennek értéke

"1", az adó "pufferében" lévô egy karakter bitenkénti kiadása már befejezôdött, a pufferbe betölthetô a következô karakter. Ha a "TX Ready" bit értéke "0", a karakter kiadása még nem fejezôdött be, azaz a következô karaktert még nem célszerû kiadni a pufferbe. (Az új byte beírása ekkor is lehetséges, de azzal a veszéllyel járhat, hogy az adatvonalra így végül is kiküldött byte "elsô része" a pufferben eredetileg bent ülô karakterbôl, "második része" az újonnan beírt karakterbôl tevôdik össze, tehát "öszvér" karakter keletkezik, a kiküldendô információ tehát sérül. * Az RS232 vezérlésével foglalkozó processzor "TX Ready" állapotbitjén lévô feszültség közvetlenül galvanikusan is megjelenik egy IC lábon, így az adatkommunikáció jelentôsen gyorsítható, ha a státuszbiteket nem szoftverbôl vizsgáljuk, mint a fenti esetben, hanem

errôl a lábról közvetlenül indítható egy hardver interrupt is. * A módszer mindössze két szál segédhuzal bekötését igényli: a közös "föld"huzalét, valamint az adó oldal RS232 interfésze vezérlésével foglalkozó processzor "TX Ready" bitjének állapotát hordozó huzalét. * A vevô oldal a az adó "TX Ready" vezetéke jelének ugrásából tudja megállapítani, hogy mikor kezdôdik ill. végzôdik a 8 bitnyi információ leadása. Amint a vezeték állapota az adás befejeztét jelzi, az egy byte információt azonnal be kell olvasni ebbôl a pufferbôl Ennek leggyorsabb módja egy hardver interrupt, amelyet ezen vezetéknek az adatkiadás befejeztét jelzô állapotba való "átbillenése" vált ki. * A fogadó oldalon az adat kiolvasására korlátozott idô (kb. 150 msec) áll rendelkezésre. Ennyi idô eltelte után az adó fél nekifog a következô byte bitekre való "felszeletelésének" és

szeletekben való kiküldésének. Ennek eredményeképpen, amennyiben a vevô fél 150 msec alatt nem olvasta be a karaktert a fogadó pufferbôl, abban megintcsak "öszvér" karakter képzôdhet a fogadó pufferban már korábban bentlévô, illetve a részlegesen már beírt új adatokból. Ilyen esetekben szokott a "Timeout" (idôbôl való "kifutás") hibaüzenet elõfordulni. E jel figyelmeztet arra, hogy a vevô pufferbôl már nincs értelme kiolvasni a benne lévô adatot, hiszen annak sértetlensége eleve nem biztosított. * A "TX Ready" vezetéken való jelugrás közötti idôszakban kiadott és befogadott jelek olvasására érvényes a közelítô szinkronizáltság. * Az adatátvitelben elôfordulhatnak hibák. Ezek egy részét a rendszer megkísérli figyelni, s egy speciális státusz bit segítségével a vevô oldalon a hibát jelezni. Az adatnak a vevôpufferbôl való kiolvasása elôtt érdemes ennek a bitnek az

állapotát is megvizsgálni, azt eldöntendô, hogy egyáltalán van-e értelme ezt az adatot felhasználni. * Az fogadó RS232 processzor rendelkezik egy ún. "RX Ready" (azaz a vett jel -R=Receive=fogadni-- befogadását jelzô) státusz (állapot) bittel, amelynek értéke "1", hogyha a pufferben még egy érvényes, az imént befogadott karakter ül. A puffer kiolvasása után e bit értéke automatikusan "0"-ra vált, jelezve, hogy a processzor készen áll egy új jel befogadására. OPCIONÁLIS VISSZAKÉRDEZÉS LEHTÕSÉGÉVEL BÕVÍTETT ASZINKRON MÓDSZER Magától kínálkozik annak a lehetôsége, hogy a fenti szisztémába a fogadó processzor "RX Ready" jelét egy újabb drótszál bekötésével visszavezetjük a küldô processzorhoz. Ezzel módunkban áll "lassúbb" fogadópartner felé adatot közölni, hiszen az újabb byte kiküldésével várni lehet a fogadó puffer kiürüléséig. SZOFISZTIKÁLTABB MÓDSZEREK A

fenti egyszerû módszernél bonyolultabb eljárások a csatlakozók egyéb lábainak "behuzalozásával" érhetôk el. Ezek közül igen fontosak az alábbiak: "Data Set Ready Bit (DSR)", amelynek "1" értéke azt jelzi, hogy a partner készülék egyáltalán be van kapcsolva, míg "0" állapota arra utal, hogy a partnert be sem kapcsolták, tehát eleve fölösleges a kommunikációval kísérletezni. A "Request To Send (RTS)" láb jelentése: információ kérése. Ha ennek az értékét szoftverbôl "1"-re állítom, a partner felé ezzel jelzem, hogy tôle várok adatokat. A "Clear To Send (CTS) bit " "1" értéke azt jelzi, hogy az adott interfész jeladásra készen áll. Miután az adatok fogadására felkészült fél beállította a maga RTS jelét, s meggyôzôdött róla, hogy a partner CTS vezetéke adási szándékot jelez, vételre kell állnia, s meg kell kezdenie a vételt. SZINKRON

ÜZEMMÓD Kihasználva a közös órajel lehetôsége kínálta kényelmet, ilyenkor az adatvonalon a küldô részérôl vagy tényleges adat jelenik meg, vagy az érdemi információ küldésének szüneteiben "folyamatosan ömlik" rajta a "Break" karakter. A break karakternek a vevô félben meghatározott reakciót kell kiváltani, amelybôl eldönthetô, hogy szakadt-e az adatvezeték. Fôleg nagy távolságra történô információközlésnél az adatok viszonylag nagy valószínûséggel sérülhetnek. Ilyenkor elônyös a duplex üzemmód, amely felhasználható arra, hogy a fogadó fél pufferébe kiküldött adatot visszakérje a kiküldô fél, s amennyiben az a kiküldeni szándékozott adattól eltér, a kiküldést addig ismételgesse, amíg a kiküldött értéket nem kapja vissza, s csak az ilyen adatok felhasználását engedélyezze a vevô félnek. AZ ADATFORGALOM SEBESSÉGÉNEK MÉRTÉKEGYSÉGEI A fenti "bitekre szeletelési"

megoldás szellemével összhangban alapvetõen az alábbi két tipikus mértékegység használatos az adatforgalom sebességének mérésére: • A másodpercenként kiadott karakterek száma "Characters per (CPS)"; • A másodpercenként kiküldött bitek száma ("Baud Rate"). Second A gyakorlatban a 300-9600 baud körüli értékek használhatók jól, a két felet extra erõsítés nélkül néhány méter távon összekötõ közönséges kábelekkel. Mivel a kábel szórt kapacitása annak hosszával növekszik, s emiatt rajta a nagyfrekvenciás jel egyre inkább hajlamos "legyengülni", a kábelek hosszabbítása valameddig ellensúlyozható a az adatátviteli sebesség csökkentésével. Mivel 1 karakter = 1 byte = 8 bit » 10 bit, a 300 baud sebesség kb. 30 karakter/sec értéknek felel meg, azaz alkalmazása esetén egy 80 soros szöveges képernyõsor kitöltése kb. 2 sec nagyságrendû idõt igényel Ez a sebesség az ember szemével

még jól kõvethetõ, meglehetõsen lassú, így ez alá menni a sebességgel gyakorlatilag értelmetlen. A tekintett példák "digitális jelek" (digit=ujjperc) átvitelére szolgálnak. A digitális technika széles határok közt érzéketlen a jelek torzulásával szemben, hiszen a vételkor történõ mintavételezésnél a négyszögjel "aljának" ill. "tetejének" pontos feszültségértéke nem lényeges. Elegendõ, ha a vevõ fél annyit el tud dönteni, hogy az adott mintát "0" vagy "1" értékként "könyvelje el". Ugyanez a tulajdonság biztosítja a digitális technika robusztusságát a hordott jelre "rárakódó" zajokkal szemben is. Ha a digitális technika alkalmazhatóságának "határain belül" maradunk, garantált, hogy az adott jel az átvitel folyamán nem sérül meg jobban, mint amennyire az "megrongálódott" a digitalizálás folyamata alatt. Az elektrotechnikában

kiterjedt irodalma van annak, hogy különbözõ típusú folytonos jelek milyen mértékben állíthatók vissza "digitalizált" változataikból. (A problémával Nyquist és Shannon is sokat foglalkozott.) Az "analóg" jelek átvitel közbeni sérüléseit nem lehet ilyen egyszerû módon megbecsülni, emiatt az analóg technika zömében kiszorult az adatkommunikáció gyakorlatából. (Analóg adatforgalom korszerû berendezésekben zömében csak rövidebb távokon létezik egy-egy berendezés szenzorai (érzékelõi) és az A/D konverterek (analóg jelbõl digitálisat csináló "jelátalakítók") között. Tekintettel arra, hogy a nagyobb távolságokon mûködtethetõ távközlõ berendezések igen drága, nagy beruházási igényû eszközök (akár koaxiális elektromos vezetékrõl, akár száloptikáról, akár mûhold-telepítésrõl van szó), optimális kihasználásuk alapvetõ gazdasági érdek. Ennek figyelembevételét szolgálják

a különbözõ "multiplexerek" és "koncentrátorok". MULTIPLEXEREK ÉS KONCENTRÁTOROK A "multiplexelés" több jel "összekeverését" jelenti, alapvetõen két különbözõ lehetséges módon: A "Time Division Multiplexer (TDM)" vagy "idõosztásos multiplexer" segítségével, amely szimultán több jelbõl vesz mintát, majd az egyes mintákat "egymás után", meghatározott sorrendben küldi tovább ugyanazon a vonalon. (Az ötlet alapvetõen a digitális technika viszonyai között "érlelõdhetett ki", hiszen a mintavételek hatása ilyenkor követhetõ tisztán.) A vevõ oldalon egy ugyanilyen multiplexer "szétbontja" a kapott jeleket. A "Frequency Division Multiplexer (FDM)" vagy "frekvenciaosztásos multiplexer" használatával, amely a rádiótechnikában régóta használatos eljárást követi: az átviendõ jeleket modulációként "ráülteti"

valamilyen hordozófrekvenciára, méghozzá mindegyiket különbözõ frekvenciákra, s e hordozó jeleket szimultán továbbítja a rendelkezésre álló közegen keresztül. A "Koncentrátorok" a mesterséges intelligencia meglétén alapuló adattömörítési eljárásokat használó eszközök, amelyekhez mind az adó, mind a vevõ oldalon intelligens eszköznek kell állnia. (Az eszköz lehet mesterséges neurális hálózat is) A közönséges, polgári használatra tervezett telefonvonalak adatközlésre való felhasználását teszik lehetõvé a modemek és a telefaxok. A "MODEM" egy összetett "öszvér" szó, amely a "moduláló" és "demoduláló" eszköz nevébõl van képezve. Pl a számítógépekbõl RS232 interfészen keresztül kijövõ adatokat képesek olyan "hangszerû" információvá átalakítani, amely már átküldhetõ a közönséges telefonhálózaton át. Hasonlóan mûködik a

"Telefax" (neve a telefon és a "facsimile"=hasonmás kifejezésekbõl tevõdik össze), amely képi információt alakít át "hanghoz hasonló jellegû" információvá és fordítva. Annak érdekében, hogy az információ kiküldéséhez el lehessen kerülni a szöveg vagy kép papírra való kiprintelését, különbözõ ún. "fax-kártyákat" fejlesztettek ki, amelyek a személyi számítógépekbe beépítve közvetlenül kezelik a telefonvonalat. Az adatközlõ hálózatok optimális kihasználását célozzák a fenti technikai megoldásoktól logikailag független, alább ismertetett megoldások is. VONALKAPCSOLT ÉS CSOMAGKAPCSOLT ADATTOVÁBBÍTÁS A hagyományosan kialakított telefon az ún. "vonalkapcsolt" módszeren alapul: tárcsázás után idõben folytonos kapcsolat alakul ki a két fél között, amely akkor is lefoglalja a vonalat, ha azon éppen nem történik hasznos adatforgalom (például a beszélgetések

"gondolkodási" szüneteiben). Ilyen helyzet gyakran fordul elõ nagy adatbázisokban való számítógépes információkutatás esetén, midõn az adatbanknak kiadtuk a szükséges utasításokat, az pedig viszonylag hosszabb ideig azok végrehajtásán dolgozik, s az eredmény megjelenéséig a hívó fél számára érdemi közlendõje nincsen. (Ez az idõszak a gyakorlatban több percre is rúghat, s nagy mértékben fölöslegesen terhli le a hálózatokat.) A vonalkapcsolt módszer "távközlési kapacitást pazarló" jellegének kiküszöbölése céljából fejlesztették ki az ún. "csomagkapcsolt" technikát Ennek alapötlete, hogy a kommunikációban résztvevõ két partner közé "memóriapuffereket" építünk be, a pufferekbe pedig --mint valami postaládába bedobott levelek-- , a címzett és a feladó azonosítását szolgáló információval ellátott "kötegelt" adatcsomagok kerülnek be. Pl, ha egy munkahelyen 10

"darab" "saját postaládával ellátott" terminált használunk, kiszolgálásukra többnyire elegendõ egyetlen vonal. A hálózat vezérlése rendre végigkérdezi a "postaládákat" annak érdekében hogy megtudja: melyikben van épp elküldendõ adatcsomag (ez az ún. "polling" módszer) Az adathálózatot ténylegesen mindig csak egy kész csomag kiküldéséhez szükséges idõre terheli le, egyébként terheletlenül hagyja. A megcímzett "adatcsomagok" ezután a címzett felé haladva különbözõ memóriapufferekben "pihenhetnek", mint a postán feladott levelek bizonyos raktárakban vagy vasúti vagonokban. Miután a címzett és a feladó közt egy adott hálózatban többféle "útvonal" is kialakítható, egy ilyen rendszer vezérlése alkalmas lehet arra, hogy az egyes csomagokat a leterheltebb útvonalak megkerülésével "kézbesítse". Magyarországon a csomagkapcsolt rendszer

elterjesztését az "Információs Infrastruktúra Fejlesztési Program" (rövidítve I2F Program) támogatja az 1990-es évek elejétõl máig is. Ilyen jellegû üzemmódra alkalmasak az egyszerû személyi számítógépekbe betelepíthetõ ún. X25 kártyák A lokális hálózatok topológiája és mûködése A korábbiakban már vázlatosan érintettünk az adatok nagy távolságokra való átvitelével kapcsolatos néhány fogalmat és megoldási módot. Nem szóltunk viszont arról, hogy az adatok továbbítására kifejlesztett eszközök, az ún. hálózatok milyen rendeltetés és belsõ szerkezet szerinti típusokra osztályozhatók. E szempontból néhány alaptípus ismerete ma már okvetlenül fontos, noha a részletekben való elmélyedés nem e bevezetõ jellegû tárgy feladata. Általában "a hálózat olyan eszközök összessége, amelyek révén bizonyos számú, földrajzilag egymáshoz közelebb-távolabb esõ pont (állomás) között egy-,

két-, vagy többoldalú információközlés végezhetõ. Történetileg a legelsõ ilyen elektromos mûködésû rendszer a telefon volt, amely eredetileg emberi hang átvitelére szolgált. A számítástechnika fejlõdésével kialakultak ún. adatközlésre szánt hálózatok, természetesen az újabb, akkor már rendelkezésre álló mûszaki lehetõségek felhasználásával. Miután az egyre korszerûsödõ telefonvonalak is fokozatosan felhasználták ezeket az újabb mûszaki megoldásokat, ma már az adathálózatok és a telefonhálózatok fokozatosan közelítenek egymáshoz: • telefonvonalakat gyakran használnak adatközlésre; • a digitális technika alkalmazásával a beszéd is továbbíthetó adathálózatokon. Az adathálózatok az alábbi tipikus kategóriákba sorolhatók, amelyek szrvezési szinvonalukban és a szolgáltatások alkalmazásának jellegében jelentõsen különböznek egymástól: • egyszerû adathálózat; •

számítógép-kommunikációs hálózat; • számítógép hálózat. Az egyszerû adathálózat fõleg emberek közti kommunikációra való (adatok, szövegek, ábrák, beszéd, kép közvetítésére alkalmas eszközök). A számítógép hálózat függõségben lévõ vagy független, számítógép rendszerek egymással összekapcsolt együttese, amelyek abból a célból kommunikálnak egymással, hogy bizonyos erõforrásokon (pl. programok, adatbázisok) osztozhassanak, illetve a terheléselosztás és a megbízhatóság javításának céljából. A számítógép hálózat és a számítógép kommunikációs hálózat fogalma közti különbség a következõképp fogalmazható meg: A számítógép kommunikációs hálózatban a számítógépi erõforrásokat a felhasználóknak explicit módon kell kezelniük, míg a számítógép hálózatban az erõforrások kezelését a hálózati operációs rendszer automatikusan végzi. A fenti, funkcionális szempontokon

túl a hálózatok az alábbi szempontok szerint is osztályozhatók: • Az áthidalandó távolság szerint helyi (≤5 km), körzeti (≤25 km) és távolsági (25 km-nél nagyobb távokra) hálózattípusok léteznek; • Az adatátvitelre felhasznált fizikai közeg szerint lehetségesek fémvezetékek, optikai szálak vagy szabadon terjedõ elektromágnese sugárzás; • Topológiai szerkezet szerint, azaz az összeköttetések geometria szerkezete szerint beszélhetünk sín- , fa-, csillag-, gyûrû-szerkezetrõl, szövevényes, teljesen összefüggõ és kombinált hálózatokról. • A hálózatra adott jel "szétterülése" szempontjából léteznek passzív hálózatok (ezeken a jel minden elérhetõ pontra kiterjed), illetve aktív hálózatok, amelyeken a jelek elõre meghatározott, esetenként változtatható útvonalakon terjednek. • Sebességi jellemzõk szerint vannak "lassú rendszerek" (telefon, analóg jelátvitel vagy maximum

19.2 kbit/s átviteli sebességû hálózatok), létezik a "közepes sebességû kategória" (zártközû távolsági adathálózatok, 50 kbit/s sebességig), és gyors hálózatok (akár 50 Mbit/s fölött is mûködhetnek). Ma már léteznek olyan, ún. "Integrált Szolgáltatású Digitális Hlózatok" (angol rövidítésük "ISDN"), amelyek együttesen nyújtják a ma ismert hírközlési és informatikai lehetõségeket (telefon, telex, telefax, képek és szövegek továbbítása, adatterminálként való mûködés, stb). Világos, hogy a digitális technika ("Scaling Down") fejlõdésével az ezekbe invesztált beruházások hosszú távon jobban megtérülnek, mint a nem integrált technikáké, ezért egyre szélesebb közû elterjedésük várható. (Várakozások szerint 2000-re Franciaország legkisebb tanyája is elérhetõ lesz ISDN-en keresztül, míg 1995-re a világon kb. 50 millió csatlakozási pont kiépülésére

számítottak.) Az alap-hozzáférésû változat 64 kbit/s átviteli sebességû (ez. kb digitalizált emberi hang átviteléhez kell), míg az ún "szélessávú" változat 140 Mbit/s átviteli kapacitással már TV mûsorok közlésére is alkalmas. Az alaptípusok áttekintése után a számítástechnika speciális igényeihez közeledve indokolt kicsit részletesebben szólni legalább egy tipikus lokális hálózatról. A Netware Hálózat E hálózat (személyi) számítógépek olyan csoportja, amelyek úgy vannak összekapcsolva, hogy azok egymással kommunikálhatnak és a közös erõforrásokon is osztozhatnak. Az egyes felhasználók külön-külön PC-k mellett dolgoznak (ezen eszközök önállóan is mûködõképesek), ugyanakkor a hálózaton át nemcsak kommunikálhatnak egymással, hanem közösen használhatnak hard diszkeket, nyomtatókat, adathalmazokat, programokat is. A hálózat egyik "kiemelt fontosságú" eleme az egyik

(általában az egyes munkaállomásokon használatba állított gépeknél jobban kiépített) ún. "szerver gép", amelyhez az egyes felhasználói gépek mint "munkaállomások" csatlakoznak, amely az egyes felhasználók kiszolgálását, az ezzel kapcsolatos adminisztrációt és a hálózat kezelését végzi. A megfeleõ huzalozás kiépítése mellett az egyes felhasználóknak a csatlakozáshoz rendelkezniük kell egy ún. "shell szoftver"-rel (IPX+NET3), amelyek a szerverrel és a többi munkaállomással való kommunikációt teszik lehetõvé. A NET3 szoftver feladata megvizsgálni az egyes parancsokat, eldönteni azt, hogy azok a helyi DOS operációs rendszernek szólnak vagy a hálózatnak, s ennek megfelelõen továbbítani azokat. A hálózat mûködtetéséhez a file szerver hard diszkje a DOS-nál is szokásos "fa" struktúra szerint van felépítve, a hierarchia azonban egy alaszinttel bõvebb az alábbiak szerint: • Hard

diszk a file szerveren, amely felosztható • "Volume"-okra ("kötetek"), amelyek tovább oszthatók • "Directory"-kra, s ezek tovább bonthatók • "Sub-Directory"-kra, amelyekben • a hierarchia legiksebb "értelmes egységei", az egyes fájlok "laknak". A hálózat egyes felhasználói ("network users") nem egyenrangúak egymással. Ezek csökkenõ prioritás (gyakorlatilag "tevékenységi jogkör") szerint az alábbi szinteken helyezkednek el: • Network Supervisor ("Hálózat Felügyelõ"); • Network User ("az átlagos felhasználó" a munkaállomásoknál); • Network Operators ("hálózati operátorok", pl. nyomtatási sor operátorok, stb) A hálózatban lévõ információk védelméért felelõs az ún. "biztonsági rendszer". A Netware információit a file szerver hard diszkjén tárolják, amely információkhoz nem mindenki

férhet hozzá és általában nem azonos módon: • nem mindenki jogosult arra, hogy az összes információhoz hozzáférjen, • nem mindenki férhet hozzá egyszerre minden információhoz, • a hozzáférési jogkörök is különbözõek. A gyakorlatban a biztonság a következõ "rétegekben" õrzõdik: • Bejelentkezéskor ("LOGIN") jelszó ("password") áll valamennyi felhasználó rendelkezésére; • Az egyes felhasználóknak "meghatalmazotti jogai" vannak, amelyek átlépését a rendszer nem engedélyezi számára; • Vannak "Directory" jogok, azaz könyvtárhozzáférézi jogkörök, és • File/Directory attribútumok. A "Meghatalmazotti Jogok" egy-egy Felhasználóra vonatkoznak, akik különbözõ jogkörökkel bírnak az egyes könyvtárakra és azok file-jaira vonatkozóan. Ezek az alábbiak: • "Read": egy létezõ és éppen nyitott file-ba "betekinthet"; •

"Write": egy létezõ és éppen nyitott file-ba "beleírhat", módosíthatja annak tartalmát; • "Open": egy létezõ, de éppen nem nyitott file-t megnyithat; • "Create": új sub-directory ill. fájl létesítésére és egyúttal megnyitására is jogosult; • "Delete": sub-directory ill. fájl törlésére jogosult; • "Parental": sub-directory ill. fájl létesítésére, törlésére, átnevezésére jogosult, valamint mások számára meghatalmazotti jogokat biztosíthat; • "Search": Directory tartalmának listázása; • "Modify": file attributumok módosítására, directory-k és file-ok átnevezése. A hálózat felhasználói általában csoportokba ("Groups") szervezhetõk aszerint, hogy vagy azonos információkhoz férhetnek hozzá, vagy azonos feladatokat hajthatnak végre. "Directory Jogok" A fentebb vastag kezdõbetûvel jelölt meghatalmazotti

jogokhoz hasonló jogok róhatók ki nemcsak a felhasználókra, hanem a directory-kra és sub-directorykra is. Ezeket röviden a [RWOCDPSM] sorozatban vagy "maszkban" foglalhatjuk össze. (Ez az ún "Maximum Right Mask", ahol minden jogkör fennáll Valamelyik jogkör hiánya esetén a maszk megfelelõ része üres marad.) Egy adott felhasználó ""Effektív" jogait az illetõ directory-ra vonatkozóan a "Directory Jogok" és a "Felhasználói Jogok" maszkjaiból logikai és kapcsolattal képzett maszk fejezi ki. (Pl ha egy felhasználónak általában van törlési joga, de az adott directory általában nem törölhetõ, az adott könyvtárat az adott felhasználó sem törölheti ki. Vagy fordítva, ha pl. egy adott könyvtár éppen törölhetõ, de az adott felhasználónak nincs törlési joga, a törlést õ nem tudja végrehajtani.) File Attribútumok: Az egyes File-ok a DOS-fájlokkal azonos attribútumokkal bírhatnak

(Read Only/Read-Write), valamint a Non-Shareable/Shareable attribútumokkal. A file attribútumok mindig magasabb prioritásúak, mint az "Effektív Felhasználói Jogok". (Pl. ha egy adott directory-n belül általában szabad írni, s az adott felhasználónak éppen van írási joga, de az adott file csak olvasható, a file átírása vagy módosítása nem hajtható végre.) Directory Attribútumok A directory-knak a hozzájuk rendelt jogkörökön kívül attribútumaik is vannak. Ezek az alábbiak: Normal, Hidden, System, Private. Az egyes adatok, programok elérése a DOS-ban és általában a fa szerkezetû könyvtárakban szokásos teljes elérési út könyvelésével lehetséges, azaz a file server név/Kötet:Directory/subdirectory/file-név formában, pl. FS1/VOL1:USER/NSZ/N5/Lujza.prg módon. Hogy a hálózat kényelmesebben legyen kezelhetõ, a hálózati meghajtókat a rendszer egy Netware directory-ra képezi le a rendszer, amelyet egyetlen betûvel

jelöl, pl. H:=FS1/VOL1:USER/NSZ/N5 ("Directory Mapping"), amely azután szintaktikailag pontosan úgy kezelhetõ, mint a közönséges DOS-ban egy drive. (Pl a PC terminálon a H: beírása és az "Enter" gomb megnyomása után erre a meghajtóra állunk át.) Az általában közönséges egyfelhasználós DOS-ra épülõ programok megfelelõ változatai léteznek hálózatok alatti használatra is. Ezek (pl DBASE jellegû adatbáziskezelõk) tartalmaznak olyan parancsokat ill. opciókat, amelyek használatának csak hálózat, azaz szimultán több felhasználó ténykedése esetén van értelme. Tipikusan ilyen feladat gondoskodni arról, hogy miközben az egyik felhasználó olvasni akar adatokat egy adatbázisból, egy másik pedig éppen akkor írni akar bele, a fellépõ problémák miként oldhatók meg. Ehhez a megfelelõ felhasználói szoftverek mélyebb vagy kissé részletesebb ismerete is szükséges