A TECHNIKAI HÁTTÉR ÁTTEKINTÉSE A számítógép olyan elektronikus berendezés, amely képes a beépített utasításkészletének elemeiből összeállított utasítás-sorozatokat (programokat) tárolni és végrehajtani. A berendezés fizikai alkotórészeinek összességét hardvernek, a programokat szoftvernek nevezzük. A programok működés során adatokat használnak fel, illetve hoznak létre, amelyeket szintén a számítógép tárol. A számítógép egy rendszer, amely az input adatokat feldolgozza, szükség szerint tárolja és output adatokká alakítja. Amikor tehát számítógépes rendszerről beszélünk, a hardver, a szoftver és az adatok összességére gondolunk. Az információtechnológia vagy információs technológia (Information Technology – IT) a számítástechnikai és a telekommunikációs eszközök és módszerek együttesét jelenti. A számítógépes rendszerbe az adatokat különböző input eszközök segítségével vihetjük be. Ilyenek például a következők: • billentyűzet • egér • optikai leolvasó (scanner) • mágneses leolvasó • mikrofon • érintést érzékelő képernyő A feldolgozás a számítógép úgynevezett központi egységében (Central Processing Unit, CPU) történik. Ennek fő részei általánosan: • a vezérlő egység (Control Unit, CU) • az aritmetikai és logikai egység (Arithmetical and Logical Unit, ALU) • a központi memória (Random Access Memory, RAM) A mikroszámítógépekben a vezérlő egység egybeépül az aritmetikai és logikai egységgel. Ez az úgynevezett mikroprocesszor chip vagy röviden proceszszor. Ennek alapján ma a mikroszámítógépek legismertebb két családja a következő:
-1-
Központi egység Aritmetikai és logikai egység
Vezérlő egység Input eszközök
Output eszközök
Központi memória
Háttértár A gyártók a processzorokat folyamatosan fejlesztik, egyre gyorsabb és nagyobb kapacitású típusokat hoznak létre. Az azonos kategóriájú processzoroknak is több fajtája van. A gyorsaság egyik mérőszáma az órajel sebessége (amely a műveletvégzés ritmusát diktálja), amit Megahertzben (MHz) mérnek. Érdemes tehát erre is figyelni a vásárlásnál, de a számítógépünk gyorsasága még sok egyébtől függ, mint azt az alábbiakban is látni fogjuk. Az adatoknak és a programoknak a feldolgozás alatta központi memóriában (elsődleges tár vagy röviden memória) kell lenniük. Ez a tároló a RAM (Random Access Memory – véletlen elérésű memória), melynek jellemzője, hogy itt bármely adat közvetlenül és gyorsan elérhető, viszont csak addig őrzi meg a tartalmát, amíg áramot kap, tehát a számítógép kikapcsolása után az itt tárolt adatok törlődnek, elvesznek. A számítógép elindításához szükséges programot és különböző alapadatokat olyan speciális memóriában tárolják, amelynek tartalma állandó, nem törlődik, viszont nem is változtatható. Ennek a neve ROM, amely az olvasásra korlátozott használatra utal (Read Only Memory). Kísérletek folynak olyan elsődleges tárakkal, amelyek változtatható tartalmúak, de az adatok nem törlődnek a kikapcsolással, ezek azonban egyelőre még nem terjedtek el. A programok és adatok tartós tárolására háttértárakat használunk. Ilyenek például: • A beépített merev mágneslemez (mikroszámítógépeknél Winchesternek is nevezik). • Cserélhető hajlékony mágneslemez (mikroszámítógépeken 3½ és 5¼ inch méretben, bár ez utóbbit már alig használják, sőt vannak olyan konfigurációk, amelyekben egyáltalán nincs floppy-egység). • Optikai lemez (CD - Compact Disc; DVD – Digital Versatile Disc). • PenDrive (tulajdonképpen a hajlékony mágneslemezek kiváltására szolgál; az adatok tárolása elektronikus formában történik; kapacitásuk a floppy lemezek kapacitásának sokszorosa: 128 MB, 256 MB, 512 MB, 1 GB)
-2-
• Mágnesszalagos egységek; ilyen például a mikroszámítógépeken használt DAT kazetta. Ezek a leglassabb és legolcsóbb tárolók, általában biztonsági másolatok vagy archív adatok tárolására használják őket. Számítógépünk fontos jellemzője a tároló kapacitás, mind a központi memória, mind a háttértár vonatkozásában. A központi memória (RAM) mérete alapvetően közrejátszik abban, hogy mely programok futnak a gépünkön és milyen sebességgel. Minden programhoz megadják, hogy a készítés során minimálisan mekkora RAM-ra tervezték a programot, illetve azt, hogy az optimális futási sebességet mekkora RAM-mal lehet elérni. A programok mérete ugyanis általában nagyságrendekkel nagyobb, mint akár a legkorszerűbb gépek RAM-ja, ezért a programfutás közben az éppen szükséges programrészeket át kell másolni a háttértárból a memóriába. Ez a beolvasás lényegesen lassabb, mint a RAM-ban levő utasítások végrehajtása, tehát minél ritkábban van rá szükség, annál jobb. A tárolókapacitás mértékegységei a byte (ejtsd: bájt) többszörösei. Általánosságban azt mondhatjuk, hogy minél nagyobb a RAM, annál gyorsabb a gépünk, továbbá minél nagyobb a háttértár, annál több programot és adatot tudunk tárolni rajta. A programok futási sebességét szokták növelni speciális gyorsító memória (cache memory) alkalmazásával is. A számítógépek teljesítőképességének növelésére egyre gyakrabban építenek be több processzort egy gépbe. Az egyik fajta megoldás, hogy a főműködést végző processzor mellé bizonyos funkciókat ellátó segédprocesszorokat helyeznek. Ilyen például a számos PC-ben alkalmazott matematikai segédproceszszor. Valódi multiprocesszoros gépről azonban csak akkor beszélünk, ha az párhuzamosan egyszerre több programutasítást hajt végre, tehát a működésben levő program egyes darabjai szétosztódnak a processzorok között. A nagy párhuzamosságú gépekbe több száz vagy ezer processzort építenek be, ezek az úgynevezett szuperszámítógépek. A számítógépes feldolgozás eredményét különböző output eszközök jelenítik meg, mint például: • képernyő (angol szóval display vagy monitor) • nyomtató • rajzgép • beszédszintetizátor A számítógépek méret szerinti osztályozása azért nehéz, mert a hardver eszközök gyors ütemű fejlődése állandóan szétfeszíti a felállított kategóriákat. Ezek a kategóriák a számítógépek műveleti sebessége és az elsődleges tár mérete szerint növekvő sorrendben néhány példával az alábbiak lennének: • Mikroszámítógépek (microcomputers) Például: IBM PC, Apple Macintosh • Középkategóriájú gépek (midrange computere) Például: DEC Alpha, HP 9000
-3-
• Nagy számítógépek (mainframe computers) Például: VAX 9000, IBM ES/9000 • Szuperszámítógépek (supercomputers) Például: Cray T3E, SGI Origin 2000, IBM SP2, Fujitsu VPP500 A probléma az, hogy az emelkedő teljesítmények miatt a kategóriák között folyamatosan átfedések keletkeznek. Így például a néhány évvel ezelőtti középkategóriájú gépek többségének sebességét és tárkapacitását a mai mikroszámítógépek meghaladják. Ennek ellenére ezek a kategóriák használatban vannak és némi eligazítást nyújthatnak. Jellemző lehet még a felhasználók száma, bár ez az érték is csak hozzávetőleges. A mikrogépeket legtöbb esetben csak egy személy használja egyszerre, a középkategóriájú gépekhez általában több munkahelyet építenek ki, a nagy számítógépek és a szuperszámítógépek pedig több száz vagy ezer felhasználó egyidejű munkavégzését teszik lehetővé. A számítógépeket lehet a felhasználás szerint is osztályozni, ám ott is átfedések vannak. Az alábbi kategóriák jelenthetik egy számítógép kizárólagos funkcióját, vagy több funkciójának egyikét. • Személyi számítógép (Personal computer) – Legfőbb jellemzője, hogy egyszerre csak egy felhasználó dolgozhat rajta. Minden esetben mikroszámítógép. • Kliens gép avagy hálózati munkahely (Client computer) – Szintén egy felhasználó dolgozik rajta, de saját erőforrásain kívül a hálózaton elérhető erőforrások használatát is lehetővé teszi (programok, adatok, input vagy output eszközök). Lehet mikroszámítógép vagy középkategóriájú gép. • Professzionális munkaállomás (Professional workstation) – Olyan műszaki vagy egyéb számításigényes feladatokat old meg, mint például az építészeti vagy gépipari tervezés. Általában középkategóriájú gép. Számos számítógépgyártónak van kifejezetten ilyen célra szánt gépe, amelyet munkaállomás (workstation) megnevezéssel forgalmaznak. Ilyen például a SUN Microsystems ULTRA gépcsaládja. • Lokális hálózati szerver (Network server) – Helyi (például vállalati) számítógépes hálózat központi irányító és szolgáltató tevékenységét végzi. Általában középkategóriájú gépeket használnak ilyen célra, de megoldható a feladat nagy kapacitású mikroszámítógéppel is, vagy nagyvállalat esetén szükség lehet nagy számítógép alkalmazására. • Adatbázis szerver (Database server) – Hálózati erőforrásként adatszolgáltatást nyújt. Nagy számítógép vagy korszerű középkategóriájú gép. • Internet szolgáltató szerverek (például Web server, Ftp server) A szolgáltatott információ mennyiségétől függően alkalmaznak mikro, közepes vagy nagy gépeket. Mint említettük, a fenti funkciókat nem kell feltétlenül szétválasztani. Személyi számítógépünkkel vagy munkaállomásunkkal rákapcsolódhatunk a háló-
-4-
zatra, és máris kliens gépként funkcionál. A lokális hálózati szervert gyakran használják belső adatbázis szerverként vagy vállalati információt nyújtó Web szerverként is stb. A felsorolt funkciók egyikénél sem említettük, hogy szuperszámítógépeket használnának hozzá. Ez azért van, mert a szuperszámítógépek igen drágák, kevés van belőlük. Általában speciális jellegű, rendkívül nagy teljesítményt igénylő műszaki, tudományos vagy katonai célokra alkalmazzák őket.. A számítógépek szoftverét (programjait) alapvetően két csoportba soroljuk: • Rendszerszoftver: azok a programok, amelyek a számítógép alapvető működését biztosítják. • Felhasználói szoftver (alkalmazói szoftver vagy röviden alkalmazás): a felhasználó információfeldolgozási igényét kielégítő programok. A rendszerszoftver rendszerelméleti szempontból nem más, mint egy interfész a számítógép hardvere és az alkalmazói programok között. Az átlagos felhasználót alapvetően az alkalmazás érdekli, a rendszerszoftverek közül csak néhány speciális segédprogramot használ, a rendszerprogramok nagy része pedig el sem érhető a számára. Operációs rendszerek A rendszerműködtető programok és számos segédprogram egy integrált csomag, az operációs rendszer részét képezi. Ilyen operációs rendszer például a PC-ken futó MS-DOS, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, amelyek mindegyike Microsoft tennék, továbbá az IBM OS-2 Warp rendszere, vagy a sok közepes és nagy gépen használatos UNIX operációs rendszer, amelyet először az AT&T fejlesztett ki, vagy a Linux, ami egy ingyenesen terjesztett UNIX klón. Különböző operációs rendszerek különböző szolgáltatásokat nyújtanak, de mindegyiknek el kell látnia a számítógép működtetéséhez szükséges alapfeladatokat: • A számítógép bekapcsolásakor a rendszer elindítása (Boot process). • Programok futtatása. • A számítógép erőforrásainak kezelése (input-, output műveletek, háttértárak kezelése, a memória kiosztása). Az operációs rendszer tehát egy olyan program, amely a számítógép bekapcsolásától a kikapcsolásig folyamatosan működik és felügyeletet tart minden más program működése felett. Ez azt is jelenti, hogy az operációs rendszer egy része mindig a memóriában van, tehát a RAM szükséglet megítélésekor figyelembe kell vennünk, hogy az operációs rendszerünk mekkora helyet foglal el. A régebbi operációs rendszerek (például az MS-DOS) nagy része egyszerre csak egy programot tudott futtatni. A korszerű operációs rendszerek -5-
egyszerre több programot is képesek kezelni. Ezeket multitask operációs rendszernek nevezzük, velük egyszerre több alkalmazást is működésben tarthatunk, és kedvünk szerint váltogathatjuk, melyikkel akarunk éppen dolgozni. Azokat a programokat, ahol a felhasználó közreműködésére nincs szükség, (mint például a nyomtatás), úgy látjuk, mintha másik használatban levő programunkkal egyszerre lennének végrehajtva. Nagyobb gépeknél, az úgynevezett időosztásos (time sharing) rendszerekben pedig több felhasználó is dolgozhat egy időben úgy, mintha a gépet csak ő használná. Ez azonban egy processzoros gépnél csak látszólagos, valójában az operációs rendszer gondoskodik róla, hogy a futtatás alatt álló programok felváltva működjenek. Valódi párhuzamos működés csak multiprocesszoros rendszereknél érhető el. Minden operációs rendszer rendelkezik valamilyen felhasználói interfésszel, amelyen keresztül azt a felhasználó irányítani tudja. Ez a legrégebbi programok esetén parancsok megadását jelenti, a jelenleg korszerűnek tekintett rendszerek pedig menüvel és ikonokkal irányíthatók. Az alapműködést biztosító programokon kívül minden operációs rendszer tartalmaz különböző segédprogramokat. Ilyenek például: • Állománykezelő: ennek segítségével rendezhetjük a gépen levő programokat és adatokat, másolhatunk, törölhetünk állományokat. • Vírusellenőrző programok • Adminisztrációs programok • A felhasználók ellenőrzése, teljesítmény figyelése stb. Programozási nyelnek Sok felhasználó szemében kissé misztikusnak tűnik a számítógépek működése. „Hogy lehet ilyen okos egy gép?” – kérdezik sokszor. Valójában a számítógépnek nincs több esze, mint egy lámpának, amelyik világít, ha bekapcsolják, és elalszik, ha kikapcsolják. Hogy lehet mégis, hogy olyan sokféle, bonyolult műveletet képes végrehajtani? Ezt a hardver és a szoftver együttesen teszi lehetővé. A számítógép áramkörei úgy vannak kiépítve, hogy bizonyos elektronikus jelekből további meghatározott jeleket hoznak létre. Ezek az igen egyszerű alapműveletek alkotják a számítógép utasításkészletét, ezekből épül fel minden program. Az elektronikus számítógép elemi szinten kétféle jelet képes megkülönböztetni (pontosan úgy, mint a lámpa a ki- és bekapcsolást), ezért is hívják ezt a technikát digitális technikának. Ezt a két állapotot értelmezzük 0-nak, illetve 1-nek, ebből a két jelből alkotott sorozatok képezik az utasítások kódját. Így jön létre az a nyelv, amelyet a számítógép „ért”, azaz képes feldolgozni. A kezdet kezdetén a programozók ilyen, úgynevezett gépi kódú nyelveken írták a programokat, ez azonban igen nehéz és lassú munka volt, mert a feladatokat egészen primitív, elemi lépések százaira, ezreire kellett lebontani. Ezzel a programozási technikával a ma közkézen forgó programok egyikét sem lehetne elké-6-
szíteni, hiszen például a mostani játékprogramok közül az egyszerűbbek is több millió gépi utasításból állnak. A programozási nyelvek második generációja a szimbolikus (assembly) nyelvek. Az utasításokat számjegyek helyett hárombetűs szavak, angol nyelvű rövidítések jelölik, az adatokra pedig szöveges elnevezéssel lehet hivatkozni. Ilyen assembly nyelven programozzák be ma is a rendszerprogramozók a gép működéséhez szükséges alapfeladatokat. A gépek természetesen továbbra is csak a gépi nyelveket értik, tehát az assembly nyelven megírt programot át kell alakítani, le kell fordítani a gép nyelvére. Ezt a feladatot látja el a szimbolikus fordítóprogram (assembler), amelynek inputja a szimbolikusan megírt programszöveg, outputja pedig a gépi kódú, futtatható program. A szimbolikus nyelvek géphez kötöttek, mindegyik géptípusnak saját assembly nyelve van, mert minden soruk pontosan egy gépi utasításnak felel meg. Ez azt is jelenti, hogy assembly nyelven programozni még mindig igen bonyolult és hosszadalmas dolog. Nem véletlen, hogy már csak ott használják, ahol nagyon fontos, hogy a program optimálisan használja ki a gép lehetőségeit, egyetlen utasítással se legyen hosszabb, mint ami feltétlenül szükséges. A programozási nyelvek harmadik generációja tette lehetővé a ma használatban levő óriási mennyiségű, bonyolult program megírását. Ezek az úgynevezett procedurális avagy eljárásorientált nyelvek, amelyeknek mai változatait a programozók jelenleg is világszerte használják. (például: BASIC, FORTRAN, PASCAL, COBOL, C nyelvek). Jellemzőjük, hogy elemi utasítások helyett bonyolult kifejezésekből építhető fel a program forráskódja, amiből azután a fordítóprogram (compiler) készít futtatható programkódot. Összehasonlításként álljon itt két szám összeadásának egy lehetséges gépi kódja, assembly programja és BASIC nyelvű forráskódja: • Gépi kód: 1010 11001 1011 11010 1100 11011 • Assembly program: LOD Y ADD Z STR X • BASIC program: X=Y+Z A harmadik generációs nyelvek további hatalmas előnye, hogy nincsenek géphez kötve, a nyelv szabályai gépektől függetlenek. Tehát például egy BASIC programot használni lehet bármely olyan gépen, amelyiknek van BASIC fordítóprogramja vagy interpretere. Interpreternek azokat a speciális fordítóprogramokat nevezzük, amelyek nem készítenek önállóan futtatható programkódot, hanem „tolmácsolnak” a gép és a programozási nyelv között, a fordítás során azonnal működtetik is a programot. Számos fordítóprogram van, amely mindkét üzemmódot tudja. A harmadik generációs programok létrejötte sokat segített a programozóknak, de a laikusok számára még mindig lehetetlen maradt, hogy saját elképzeléseiket valósítsák meg a számítógépen, mert a programozáshoz még mindig
-7-
szaktudásra és gyakorlatra volt szükség. A negyedik generációs nyelvek viszont lehetővé teszik, hogy minimális számítógépes ismerettel is lehessen a géppel új feladatokat megoldatni, tehát programozni. Ide tartoznak a táblázatkezelő programok (például az EXCEL), az adatbázis-kezelők, az alkalmazásgenerátorok. Ezek a nyelvek lehetővé teszik, hogy a felhasználó azt mondja meg, „mit” kell a gépnek elvégezni anélkül, hogy megadná, hogyan. Például ahhoz, hogy egy EXCEL táblázatban az első oszlop harmadik mezőjén a felette levő két mező összegét lássuk, elegendő a kurzort erre az A3 mezőre vinni, utána rákattintani az összeadás jelére, majd a két összeadandó mezőre és máris megírtuk az A3=A1+A2 programot, ahol a felhasználó billentyűzetről változtathatja az A1 és A2 tartalmát, és mindhárom szám látható a képernyőn. Egy ilyen program elkészítéséhez BASIC nyelven minimálisan 6 programsort kellene írni (az input és output műveletek, valamint az ismételhetőség miatt). A negyedik generációs nyelveket nemcsak a felhasználók, hanem a programozók is használják, mert sokkal gyorsabb és hibamentesebb programozást tesz lehetővé. Ennek természetesen ára van, több szempontból is. Egyrészt a negyedik generációs nyelvek mindegyike bizonyos meghatározott típusú feladatok programozására készül, például egy táblázatkezelővel nem lehet autóversenyt szimuláló játékprogramot írni. Ez tehát behatárolja a felhasználás körét. Másrészt a negyedik generációs programok nagy része interpreterként működik, tehát nem készít önálló, futtatható kódot. Így például az EXCEL táblázatok önmagukban nem, csak az EXCEL vagy egy kompatibilis táblázatkezelő program segítségével használhatók. Ez egyrészt költség, másrészt helyet foglal a háttértárban és futás közben a memóriában, továbbá lényegesen lassabb működést eredményez, mint ha egy harmadik generációs nyelven írt, önálló programot használunk. A programozási nyelvek fejlődése nem állt meg. Jelenleg az objektumorientált nyelvek térhódítása folyik, amelyek szintén átkoncepcionálják a harmadik generációs programozási elveket, de más szempontból, mint a negyedik generációsak. Az objektum-orientált nyelvek, amelyek ismét csak professzionális programozók számára készültek, a programok újrahasznosíthatóságát hivatottak elősegíteni. Olyan zárt egységekből – objektumokból – építkeznek, amelyek integráltan tartalmazzák az adatokat a rajtuk végrehajtható eljárásokkal. Ilyen nyelvek például a VISUAL BASIC és a C++ (cépluszplusz). Felhasználói szoftver A felhasználói programok vagy más szóval alkalmazások azok a programok, amelyekért a számítógépeket használjuk, amelyekhez a működési alapokat megteremtik az operációs rendszerek, amelyek létrehozására kifejlesztették a különböző programozási nyelveket.
-8-
A felhasználói programok lehetnek készen kapható szériaprogramok, rendelésre készült egyedi programok vagy a felhasználó saját készítésű programjai. Rendkívül széles azoknak a feladatoknak a skálája, amelyeket számítógépes program segítségével meg lehet oldani. A szériaprogramok közül talán a legismertebb és legelterjedtebb alkalmazások az általános irodai munka hatékonyságának növelésére, automatizálására szolgáló programcsomagok.
Irodai automatizálási rendszerek (OAS) Az irodai automatizálási rendszerbe (Office Automation System) azok a számítógépes eszközök tartoznak, amelyek a hagyományos irodai munkát és eszközöket váltják ki. Ezek egyik nagy csoportja a többnyire mikroszámítógépeken futó, egyéni hatékonyságot növelő programok. Idetartozik tipikus példaként a Microsoft Office programcsomag, amely az alábbi részeket tartalmazza: • Szövegszerkesztő • Táblázatkezelő • Adatbázis-kezelő • Prezentációs program A szövegszerkesztők a különböző írásos dokumentumok elkészítését teszik lehetővé. Nagy előnyük, hogy az így készített iratok könnyen kezelhetők, módosíthatók, helyesírásuk automatikusan ellenőrizhető. Igényesebb, hosszabb méretű írásos anyagok előállításához speciális kiadványszerkesztő programokat használhatunk. A táblázatkezelő programok a kockás papírt helyettesítik, segítségükkel különböző számítási feladatokat oldhatunk meg igen könnyen. Ez már valójában a számítógép egyfajta programozása, ezért is említettük a táblázatkezelőket a negyedik generációs nyelvek között. Az adatbázis-kezelő programok használata némileg bonyolultabb, az átlagos irodai alkalmazott általában közvetlenül nem használja, csak a számára elkészített alkalmazáson keresztül. A prezentációs programokkal előadáshoz készíthetünk látványos, számítógépről kivetíthető anyagot, a szöveget, képekkel, hanggal vagy akár videoklipekkel ötvözve. Az irodai automatizálás másik fő célja a kommunikáció megkönnyítése és felgyorsítása, mind a vállalaton belül, mind pedig a külvilág felé. A telekommunikáció segítségével lehetővé válnak az alábbiak: • Elektronikus levelezés (e-mail). • Fax küldése számítógép segítségével. • Hangos üzenet küldése számítógép segítségével. • Csoportmunka szervezése (például automatikus időpont-egyeztetés). • Telekonferencia egymástól távol levő résztvevők számára, kép és hang kapcsolattal.
-9-
• Távmunka számítógépes hálózaton keresztül. A legkorszerűbb irodai rendszerek jellemzője, hogy mindezeket a tevékenységeket nem elszigetelten támogatják, hanem a vállalat egészét átfogó integrált rendszerbe foglalják. Ennek elvi alapját az ügyviteli folyamatirányítási (workflow management) modell adja, amely pontosan leírja, hogy a vállalatnál KI, MIKOR, HOL, MIT és HOGYAN csinál. A modell alapján a workflow programok gondoskodnak a feladatok megfelelő sorbarendezéséről és kiosztásáról, továbbítják az elektronikus munkaanyagokat (szöveg, kép, hang stb.) és integrálják a különböző alkalmazói programokat. Számítógépes hálózatok Az információtechnológia legdinamikusabban fejlődő területe ma a hálózatok világa. Számítógépes hálózatról akkor beszélünk, ha telekommunikációs eszközökkel adatátviteli kapcsolatot létesítünk több számítógép között. Ez különböző célokból és sokféle módon történhet, de a kapcsolat lényege az üzenetek küldése és vétele, amelyhez megfelelő hardver és szoftver eszközökre van szükség. A hálózatok két legfontosabb osztálya a következő: • Lokális hálózat (Local Area Network = LAN): Kis távolságon belül (egy épület vagy telep) létesített hálózat. Célja az informatikai erőforrások (hardver, szoftver, adatok) megosztása, közös használata, valamint a felhasználók közötti kommunikáció. Ma már a vállalatok többsége rendelkezik ilyen hálózattal. • Nagy távolságú hálózat (Wide Area Network = WAN): Nagyobb távolságokat összekötő hálózat. Célja távoli erőforrások elérése, leggyakrabban adatok, üzenetek átvitele, de lehetőséget nyújt távoli hardver és szoftver eszközök használatára is. A különböző lokális és nagy távolságú hálózatokat egymással is össze lehet kötni. A világot átfogó legnagyobb hálózat az Internet, amelyhez több millió számítógép, lokális és nagy távolságú hálózat csatlakozik. Az internet jelen pillanatban az alábbi szolgáltatásokat nyújtja a felhasználók számára: • Elektronikus levelezés (E-mail) • Kommunikációs csoportok (Usenet, Newsgroup): a feliratkozott felhasználók valamilyen témában csoportosan leveleznek, vagy faliújságszerűen közzéteszik véleményüket, amelyet minden tag elolvashat. • Csevegőprogramok (Chat): különböző gépeken dolgozó felhasználók folyamatos üzenetváltása. • Program- és adatfájlok letöltése szerverekről (FTP). • Bejelentkezés és munkavégzés távoli gépeken (Tehet, X-terminál). • World Wide Web: grafikus és szöveges információ elérése kattintással egyik honlapról a másikra vándorolva. - 10 -
• Vásárlás elektronikus úton megrendelve és fizetve (E-shopping). A hálózati kommunikáció logikai alapját az úgynevezett hálózati protokoll képezi, amely az üzenetek szerkezetét, az üzenetküldés és -vétel szabályait írja le. Különböző protokollt használó rendszerek összekötése magasabb költségeket és rosszabb hatékonyságot von maga után, de sokszor elkerülhetetlen. A protokollok egységesítése és szabványosítása jelenleg is folyamatban van. Az egyik legismertebb szabvány az Interneten is használt TCP/IP protokoll. • Számítógépek: különböző szerepet töltenek be a hálózatban o Terminál: a felhasználó által kezelt készülék, amely legtöbbször mikroszámítógép, de lehet professzionális munkaállomás is. o Szerver: más gépeken dolgozó felhasználók számára valamilyen szolgáltatást nyújtó gép. (Például az FTP szerverek letölthető fájlokat, a Web szerverek elolvasható Web-lapokat, az adatbázis szerverek adatkeresési lehetőséget tartalmaznak.) o Hoszt: lehetővé teszi, hogy az arra jogosultak a hálózat más gépeiről (általában terminálokról) bejelentkezzenek a rendszerébe és úgy használják erőforrásait mint a sajátjaikat. • Telekommunikációs eszközök: Az üzenetek küldését és vételét végzik, a szükséges konvertálással. Lehet a gépekbe beépített vagy önálló készülék. Ebbe a kategóriába tartoznak például a normál telefonhálózathoz való csatlakozást lehetővé tevő modemek. • Telekommunikációs közvetítő vonalak: Az üzenetek közvetítését szolgálják, mint például a különböző típusú kábelek vagy a mikrohullámú és műholdas közvetítő rendszerek. • Telekommunikációs szoftverek: A hálózatban részt vevő valamennyi számítógépen futó kisebb vagy nagyobb program, amely a hálózat működését lehetővé teszi. Ide tartoznak a hálózati operációs rendszerek, mint pl. a Novell, a különböző Web böngészőprogramok, de a Norton Commander vagy a Windows Terminál programjai is. Megjegyezzük, hogy a fenti alapelemeken kívül még igen sok hardver eszköz szerepelhet egy számítógépes hálózatban, leggyakrabban input-output készülékek, továbbá speciális terminálok, mint például pénztárgépek, bankjegykiadó automaták. A hálózatok szerkezete jelen tendencia szerint egyre inkább az úgynevezett kliens-szerver rendszert követi. Ebben a rendszerben egy szerver gép több klienssel van összekötve. A szerver felügyeli a hálózatot és rendelkezik a közös erőforrásokkal. A felhasználók a kliens gépeken futtatják programjaikat és szükség szerint szolgáltatásokat kérnek a szervertől (például üzenetküldés egy másik klienshez, adatbázisok elérése, programok elérése stb.). Nagyobb hálózatokban szoktak több szervert is alkalmazni. Egy hálózat szerver gépe ugyanakkor kliensként csatlakozhat egy másik szerverhez. Ilyen, úgynevezett több
- 11 -
rétegű hálózat például, ha a felhasználó termináljával egy alkalmazói programokat tartalmazó szerverre csatlakozik, amely a szükséges adatokat viszont egy adatbázis szervertől kapja. A hálózatfejlődés másik tendenciája a szabványosítás erősödése. Például a belső vállalati hálózatok szervezése egyre inkább az internethez hasonlóan, az ott alkalmazott megoldások alkalmazásával történik. Az internet mintájára kialakított, de attól elzárt vállalati belső kommunikációs rendszert intranetnek nevezik. Meg kell említeni az internetes technológián alapuló vállalatközi hálózatokat, az extranetet is, amelyek most kezdik felváltani az üzleti kapcsolatokban korábban használt drága EDI (Electronic Data Interchange, elektronikus adatcsere) megoldásokat. Adatkezelés A számítógépes rendszerek harmadik alapvető komponensét a hardver és a szoftver mellett az adatok képezik. Az adatkezelés azt jelenti, hogy az adatokat tárolni, továbbá szükség szerint előhívni, módosítani, törölni kell. Az adatokat a számítógép kódolt formában tárolja és manipulálja. A számítógépen tárolt adatokat kétféleképpen vizsgálhatjuk: fizikai és logikai szinten. A tárolás fizikai részletei tulajdonképpen csak a programozók számára jelentősek, de az átlagos felhasználónak is szüksége van egy minimális ismeretre ezen a téren, a tárolókkal való gazdálkodás megértéséhez. Fizikailag a számítógépes tárolás alapvető egysége a bájt. A bájt többszörösei közül használatos a kilobájt (1KB = 1024 bájt), a megabyte (1 MB = 1024 KB), a gigabyte (1 GB = 1024 MB), és a terabyte (1 TB = 1024 GB). Egy bájt 8 kétállapotú elemi egységből, úgynevezett bitből épül fel. A bit logikai szinten egy kettes számrendszerbeli (bináris) számjegy, vagyis értéke 0 vagy 1 lehet. Ily módon a 8 biten, azaz egy bájtban előállíthatunk 256 különböző, 0 és 1 kombinációjából álló sorozatot. Ezeket a sorozatokat értelmezhetjük számokként, de nyilvánvaló, hogy a 0-255 számtartományban való számításokért nem lenne érdemes számítógépet tartani. A nagyobb számok ábrázolására többféle kódolást alkalmaznak, 2, 4 vagy 8 bájt összefűzésével. Adataink nagy része azonban nem szám, hanem szöveges jellegű, például név, lakcím stb. Alfanumerikus karakterek (betűk, számjegyek, írásjelek stb.) tárolására olyan kódrendszereket dolgoztak ki, amelyek ezeket a karaktereket az egy bájtban tárolható számoknak feleltetik meg. Adatainkat a számítógépen olyan hierarchikus logikai rendben tároljuk, amelynek alapegységét ezek az alfanumerikus karakterek képezik. A karakterekből igényeink szerint összefüggő csoportot, megadott hosszúságú mezőket képezhetünk. Például, ha ügyfeleink adatait akarjuk nyilvántartani, ilyen mező lesz a név vagy a lakcím. A logikailag összetartozó mezők egy rekordot alkotnak. - 12 -
Az összetartozó rekordok összessége egy fájlt alkot. Ezt magyarul szokás állománynak is nevezni. Így tehát összes ügyfelünk adatait egy fájlban tároljuk. Az előzőekben „megterveztünk” egy adatfájlt az ügyfelek nyilvántartásához. Ez azonban nem elegendő pl. egy kereskedőnek, hiszen tárolnia kell az árukészlet és a beszállítók, továbbá a tranzakciók adatait. Ezek mindegyike egyegy különálló fájl lesz a hagyományos, úgynevezett fájl alapú adatszervezésnél. Ilyen rendszerekben egy nagyobb vállalatnál a különböző részlegeken használt alkalmazói programok különböző adatfájlokkal dolgoznak. Ily módon, ha bizonyos adatokra több alkalmazásnak is szüksége van, akkor az érintett adatokat több helyen is tárolják. Ez hátrányos a helykihasználás szempontjából, és sok hibalehetőséget ad. Az is igaz viszont, hogy a fájlok szerkezetét az adott alkalmazáshoz optimálisan lehet kialakítani, ami lerövidíti a programok működési idejét. Ez szükségszerű volt a lassú gépek korában, de bizonyos esetekben a fájl alapú adatszervezés használata még ma is indokolt lehet. Egyre inkább jellemző azonban, hogy az adatokat nem különálló fájlokban, hanem egységes szerkezetű, összefüggő adatbázisban tárolják. Az egységes adatbázis használata egy speciális program, az adatbáziskezelő rendszer (Database Management System, rövidítve DBMS) segítségével történik. Az adatbázis-kezelő program lehet az operációs rendszer szolgáltatása, megrendelésre készült egyedi program, vagy pedig valamelyik, kereskedelmi forgalomban levő adatbázis-kezelő programcsomag. Az adatbázis-kezelő program főbb feladatai: • Közvetít az adatok írási, olvasási műveleteinél. • Lehetőséget nyújt az adatszerkezet kialakítására és módosítására. • Lehetővé teszi az adatok rendezését, szűrését, különböző feltételek szerinti lekérdezését. • Hozzáférési jogok adhatók. • Biztosítja a felhasználás ellenőrzését, adminisztrálását. • Többfelhasználós környezetben gondoskodik az adatok védelméről. Az adatbázisok használatának a következő előnyei vannak a fájl alapú adatszervezéshez képest: • Az adatszerkezet egységes, logikailag tiszta, szükségtelen adatismétlések nélküli. • A programok és adatok nem függnek egymástól, ezért mindkettő könnyebben módosítható. • Az adatok rugalmasan lekérdezhetők. • Jobb biztonsági rendszer alakítható ki. Természetesen hátrányai is vannak, például a következők: • Az adatbázis-kezelő programok meglehetősen drágák.
- 13 -
Az adatbázis kialakítása és fenntartása költségesebb, mint az egyszerű adatfájloké. • Az adatbázis-kezelő programok nagy helyet foglalnak el. • Az adatok elérése lassabb a közbeiktatott adatbázis-kezelő program miatt. Az adatbázisok szerkezetét az adatmodell írja le. A legismertebb és legelterjedtebb típus a relációs modell, amely összekapcsolt táblák formájában ábrázolja az egymással összefüggő adatokat. •
Ellenőrző kérdések 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Milyen fő részekből áll a számítógép? Milyen input, illetve output egységeket ismer? Hol tárolódnak az adatok és a programok? Milyen szempontokat kell figyelembe venni a háttértár kiválasztásánál? Méret szerint milyen kategóriákba soroljuk a számítógépeket? Felhasználás szerint milyen kategóriákba soroljuk a számítógépeket? Miért jó, ha nagy RAM, illetve ha nagy háttértár áll rendelkezésünkre? Mi a program és hogyan történik a végrehajtása? Hogyan osztályozzuk a szoftvereket? Soroljon fel néhány példát! Mik az operációs rendszer alapfeladatai? Milyen fontosabb segédprogramokat tartalmaznak a jelenleg használatos PCs operációs rendszerek? Mi a multitask operációs rendszer működésének lényege? Mi a programozási nyelv és hogyan kategorizáljuk őket? Mik az irodai automatizálás lehetséges eszközei? Milyen alkotóelemekből áll egy számítógépes hálózat? Mire használhatók a lokális hálózatok? Mire használhatók a nagy nemzetközi hálózatok? Milyen szolgáltatások vannak az interneten? Mi az adattárolás logikai rendszere? Mik az adattárolás fizikai mértékegységei? Mit nevezünk adatbázisnak? Mik az adatbázis-kezelő rendszer feladatai?
- 14 -