Informatika | Felsőoktatás » GDF Kidolgozott Államvizsga tételek, 2007

Alapadatok

Év, oldalszám:2007, 98 oldal

Nyelv:magyar

Letöltések száma:1565

Feltöltve:2007. május 23.

Méret:973 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

Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. Jó tanácsok ! ☺ Államvizsga menete: Az Államvizsga reggel 8 órakor kezdıdik és körülbelül délig-egyig tart. Egy napon átlagosan 12-14 ember vizsgázik. A sorrendet magatok között Ti döntitek el, ezt nem szabja meg az Elnök Belépsz, húzol a tételek közül Leülsz kidolgozni a tételeid  Ügyelj rá, hogy minél több dolgot írjál le, de nem kell a legapróbb részletekig. (nem kisregény kell)  Próbálj meg inkább vázlatszerően a lényegre törıen írni minél többet, hogy lássák képben vagy, tudod mi tartozik a témához.  Ügyelj az olvashatóságra. Mikor szólítanak a felkészülés alatt leírtakat le kell adnod a kérdezı tanároknak és még a diplomamunkádat véded ık áttanulmányozzák amiket írtál. A vizsga 20 perc, ebben benne van a védés és a felelés a két tételbıl. Védésnél készülj fel rá, hogy alaposan átolvasták a munkádat, nagyon alaposan

kikérdeznek. Azok csak városi legendák, hogy csak az elejét meg a végét olvassák el mindenhol a munkáknak. Itt biztos lehetsz benne, hogy alaposan átrágják és a legapróbb hibákat is észrevételezik. Az enyémet is átnézettem 3 barátommal, akik a téma mesterei, de még így is találtak benne támadható részt, pedig csak egy eldugott alpont volt a közepén és mégis elolvasták és alaposan kikérdezték. Ha nem Te írtad, azt nyomban kiderítik !!! Abban sem reménykedj, hogy valami spéci témát választottál, ezért úgysem tudnak hozzászólni. Éppen ellenkezıleg, még kíváncsibbak lesznek, és minden dologra rákérdeznek, minden részlet érdekelni fogja ıket. Mikor végeztél a védéssel, következik az „A” tételbıl való felelés. A leadott felkészülési papírod alapján belekérdeznek a téma sőrőjébe. Tehát nem mőködik az, hogy elkezdet mondani, mint a vízfolyás a bemagolt tételt és mehetsz. Az sem mőködik, hogy csak az

elejét tanulod meg a tételeknek, és rákezdesz nyomni a szöveget abban bízva, hogy már úgy is 1000 szer hallották, ezért úgy is hamarosan azt mondják „elég”. Össze-vissza kérdeznek a tételbıl és ha látják rajtad, hogy csak a bemagolt szöveget nyomod, de lövésed sincs, hogy igazából mirıl beszélsz, akkor véged van. Kapsz egy következı lehetıséget majd Tehát nem igaz az a legenda sem, hogy ha végigmentél a 4 éven, úgysem rántanak meg az államvizsgán. De igen. Mikor én vizsgáztam volt olyan közöttünk, akinek nem az elsı próbálkozása volt, és sajnos nálunk is voltak, akiknek nem sikerült. Az egyik barátom csoportjában 6 embert rántottak meg, de 1-3 az átlag, de nagy ritkán elıfordul, hogy mindenkinek sikerül. Viszont, ha látják, hogy tudod a tételt és azt is, hogy mirıl beszélsz (nem tudnak kifogni rajtad), akkor nem faggatnak sokáig, még pár kérdés és jöhet a „B”. Ott ugyanazt javasolom, mint az elıbb Puska

készítésére ne pazarolj idıt, mert teljesen felesleges, nincs lehetıséged használni !!! Nem vihetsz be magaddal semmit, mindent adnak és figyelnek rátok. Inkább foglald el magad hasznosabban ☺ Attól nem kell tartanod, hogy szívózni fognak. Nagyon korrektnek találtam a bírálatot és vizsgát is, tehát ha becsületesen tanultál és felkészültél nincs mitıl tartanod. Tanuláskor próbálj meg a tételekhez a fejedben vagy papíron vázlatpontokat készíteni, és ez alapján megtanulni a tételt. Próbáld meg saját szavaiddal kifejezni magad, ne ragaszkodj a tétel pontos szövegéhez, így tudod legjobban kifejezni, hogy érted és tudod a témát! Majd ha mindenki végzett, kb fél óra-óra az eredményhirdetés ! Remélem Te is hasznát tudod venni a munkámnak, mert sokat dolgoztam vele. ☺ Próbáltam a minél érthetıbben fogalmazni, kijavítani az eddigi tételsorokat. Sok sikert Neked ! Zeus ☺ 1 Gábor Dénes Fıiskola kidolgozott Államvizsga

A és B tételsor. A1. A számítógépek architektúrája, az egyes egységek feladata A számítógépek nagyon sokat változtak az elmúlt évtizedek során, azonban ez a változás kapacitásukat, sebességüket érintette elsısorban, mőködési elvükben követték Neumann János által 1945-ben kidolgozott szabályokat. Ezek közül a legfontosabbak: 1. Tárolt program: az utasításokat az adatokkal azonos módón, közös, nagy kapacitású memóriában, numerikus adatok formájában kell tárolni 2. Kettes számrendszer: Az adatol és program kódok ábrázolására a kettes számrendszert kell alkalmazni 3. Vezérlıegység: szükség van egy olyan vezérlıegységre, mely különbséget tud tenni utasítás és adat között, majd önmőködıen végrehajtja az utasításokat 4. ALU: a számítógép tartalmazzon egy olyan egységet, amely az aritmetikai mőveletek mellett képes elvégezni az alapvetı logikai mőveleteket is 5. Perifériák: szükség van olyan

ki/bemeneti egységekre, amelyek biztosítják a kapcsolatot az ember és a számítógép között. CPU tölti be a vezérlıegység és az ALU feladatát. Napjainkban a legtöbb számítógépben egyetlen mikroprocesszor látja el ezt a funkciót. A CPU értelmezi és hajtja végre az utasításokban kódolt aritmetikai és logikai mőveleteket, vezérli az adatforgalmat a memória és a perifériák között. Memória: szavanként címezhetı tárolóegység, melynek rekeszei tárolják az utasításokat és az adatokat egyaránt. Az, hogy egy rekesz tartalma adat vagy utasítás, csak értelmezés kérdése, hiszen az ábrázolás módja azonos. A memóriáknak gyorsan olvashatónak és írhatónak kell lenniük, hiszen hozzáférési idejük alapvetıen meghatározza az utasítássorozat végrehajtásának sebességét. Perifériák: alapvetı feladata a kapcsolattartás a külvilággal, a felhasználóval. Számtalan típus képzelhetı el A felhasználókkal való közvetlen

kapcsolattartásra szolgál a billentyőzet, az egér, a monitor, nyomtató, rajzgép, scanner, stb., a hosszú távú archiválást a mágnesszalagos egységek és optikai lemezek szolgálják A perifériák közül az operációs rendszerek szempontjából kiemelkedı fontosságúak a mágneslemezes háttértárak, mint az adat- és programtárolás alapvetı eszközei. Busz: (vagy másik nevén Sín) biztosítja a funkcionális egységek közötti kapcsolatot. Kisség leegyszerősítve a dolgot, felfogható egy vezetékkötegként, melyen az adatok, címek, és vezérlıjelek eljuthatnak a címzettjükhöz. A buszon keresztül kommunikáló eszközöknek természetesen közös nyelven kell beszélniük, azaz meghatározott jelszinteket, sebességet, kódolást kell használniuk. Az adatok bevitelére négy alapvetı funkcionális egysége van Architektúra  - Központi egység (CPU) • • • - Vezérlı egység (CU) - Aritmetikai és logikai mőveletvégzı egység (ALU) -

Regiszterek  - Központi tár (memória)  - Másodlagos- vagy háttértárolók  - Perifériák (I/O) • • - Beviteli egységek (Input Units) - Kiviteli egységek (Output Units) Központi egység (CPU) Minden adatáramlás a processzor felügyelete alatt történik. A processzor biztosítja a számítógép összehangolt mőködését. A vezérlı egység és aritmetikai egység mőködéséhez használ regisztereket. Ezek a regiszterek gyors mőködéső tárolóhelyek. A mikroprocesszor a memóriából kapott adaton a programnak megfelelıen logikai és számítási mőveleteket végez, az eredmények alapján kiválasztja a következı lépést. 2 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. Központi tár (memória) Legfontosabb erıforrás a processzor mellett. A tárolóban található a végrehajtás alatt levı program és a feldolgozásban használt adatok. Memória áramkörök többfajta módon mőködhetnek, a különbség a

sebességben, a megbízhatóságban, és az árban is megnyilvánulnak. A dinamikus RAM (DRAM) memóriában a biteket cellákba osztva tárolják elektromos töltés formájában. Minden egyes cella egy kis felülető félvezetı kondenzátorból és egy tranzisztorból áll. A kondenzátor töltött vagy kisütött állapota felel meg a bit értékének (logikai 1 vagy 0). A kis kapacitás sajnos magától is ki tud sülni, ezért szükséges frissíteni a cellák tartalmát, ezért van a névben a "dinamikus" jelzı. A statikus RAM (SRAM) memóriák nem igényelnek frissítést, ezáltal sokkal gyorsabbak. Kisebb viszont a kapacitása és drágább az elıállítása Ezért ezeket a memóriákat általában cache memóriáknak szokás alkalmazni. A legkisebb tárolási egysége az egy bináris jel, a bit. Fizikailag legkisebb egységként kezelt tárolóterület a rekesz (1 byte). Minden rekesz címmel rendelkezik, amely alapján a tárolóhelyet a processzor ki tudja

választani, és abban adatot tud elhelyezni vagy kiolvasni. A rekeszek címet 0-val kezdıdı, szigorúan növekvı sorszámok alkotják. Címezhetı tartomány – megadja, hogy hány bináris értéket lehet felhasználni a cím értékének leírására Szó – logikai adat-mértékegység. Az aritmetikai mőveletvégzés során egy-egy számadat leírására nem elegendı egy byte, ezért egységként 2-4-8 byte-ot használ a processzor. Memória típusok RAM (írható és olvasható) - dinamikus RAM (DRAM) – alacsony teljesítményigényő, tartalmát rövid idı alatt elveszti, ezért annak tartalmát ciklikusan fel kell újítani. Kis mérete miatt (1 tranzisztor) nagy mérető tárakat lehet belıle kialakítani. - statikus RAM (SRAM) – gyors mőködési sebességő, nem igényli az állandó adatújítást (=bistabil multivibrátor) ROM (csak olvasható) - csak egyszer tölthetı fel a gyártás során (ROM) - a felhasználó által egyszer feltölthetı (PROM) -

speciális módon törölhetı és programozható (EPROM) - felhasználó által újraírható (FLASH ROM) A központi tár jellemzıi - elérési idı (access time): idıtartam, amely a kiolvasás megkezdése és az adatnak a tároló kimenetén való megjelenése között eltelik - ciklusidı (cycle time): magába foglalja a kiolvasás utáni feléledési idıt (recovery time), amelyre egyes memóriáknak szüksége van a következı memóriához fordulást megelızıen Pár éve a SDRAM (Synchronous Dinamic Random Access Memory) volt az uralkodó. A SDRAM-ok többsége DIMM (Dual Inline Memory Modul) modulként készül. Központi memóriának úgynevezett dinamikus RAM-ot használnak Ez a CMOS RAM-mal szemben igen rövid idı - a másodperc tört része - alatt elveszíti tartalmát, ezért frissíteni kell. Az alaplap áramkörei gondoskodnak errıl, a frissítés tulajdonképpen nem más, mint a memória kiolvasása. Létezik olyan memória modul is, amely maga végzi a

frissítést, nem terhelve vele az alaplap áramköreit. A SDRAM az adatátvitelt a rendszer órajeléhez szinkronizálja A ma kapható memóriamodulok többségén van egy SPD nevő kiegészítı memóriachip, amely tudatja az alaplappal a hozzá tartozó idızítési (frrissítési, írási, olvasási) beállításokat, így ennek beállításával nem kell a BIOS setup-jában foglalkozni. A DDR SDRAM és az RDRAM hasonló elven mőködik: a jel mindkét oldalát adathordozóként használja, így megduplázódik az adatátvitel. A DDR SDRAM elsı két verziója a PC1600 (DDR PC100) és a PC2100 (DDR PC 133) nevet viseli. Az 1600 és 2100 az adatátvitelre utal, azaz 1,6 és 2,1 GB/s-ra. Az RDRAM (Direct Rambus DRAM) adatátviteli sebessége 1,6 Gbájt, azaz 10-szerese az SDRAM-nak A Rambus végül nem terjedt el a magas ára miatt, hanem a DDR második kiadása hódította meg a piacot. A DDR2 SDRAM a DDR SDRAM-nál újabb fejlesztéső, alacsonyabb feszültségen mőködı,

kevesebbet fogyasztó memóriatípus. A memóriamodulok foglalatai régebben nem tetszılegesen voltak feltölthetık: A SIMM memóriamodulokra volt érvényes az, hogy általában csak párosával és egyforma nagyságú memóriamodulokat tehettünk be. A DIMM moduloknál már nincs ilyen megkötés A memória mérete is döntıen befolyásolhatja az alaplap teljesítményét. A ma kapható legnagyobb memóriamodul a 2 Gbájtos Az sem kizárt, hogy 2010 -re megjelenik az 5 Gbájtos modul is. A memória az amivel nem érdemes spórolni, mivel ez az egyik legolcsóbb része a PC-nek Ma már az 512 Mbájt abszolút minimumnak tekinthetı. A legjobb, ha legalább 1 Gb memóriát használunk, az új gépeket már így szerelik Háttértárak Igen nagy mennyiségő adatot kell tárolni, ezért a központi tár nem elegendı, igen korán igénybe vettek többnyire mágneses alapon mőködı tároló eszközöket (merev- illetve hajlékonylemezek) 3 Gábor Dénes Fıiskola kidolgozott

Államvizsga A és B tételsor. Merevlemezek: Kevés elektronikai eszköz büszkélkedhet olyan sikertörténettel, mint a merevlemez. Az 50-es években született elképzelésbıl a 80-as évek közepe óta a PC-k egyik legalapvetıbb részegysége vált, amelynek tárolókapacitása és sebessége folyamatosan növekedik, fizikai mérete és ára azonban egyre csökken. 1997 óta a meghajtók tárolókapacitása óriási, éves szinten mintegy 100 - 150 százalékos ütemben fejlıdik, vagyis a merevlemezek mérete hozzávetıleg minden nyolc hónapban megduplázódik. Mőködés: Állandó sebességgel forognak és az adatok írása/olvasása a felülettıl néhány mikron távolságra lévı fej segítségével történik. Minden lemezfelülethez tartozik egy író-olvasófej A mikroszámítógépekben kizárólagosan használt merevlemez típus a pormentesen, zárt tokban elhelyezett merevlemez, az ún. winchester lemez. A nagygépek és a mikroszámítógépek esetében

használnak fixen beépített merevlemezeket és cserélhetı lemezeket. A merevlemezek kapacitása 20 Mbyte és 420 Gbyte között mozog Hajlékonylemezek (floppy disk): Mágnesezhetı réteggel ellátott vékony mőanyag lemezek papír vagy mőanyag védıtokban elhelyezve. A lemezek írásakor/olvasásakor az író-olvasófej hozzáér a lemez felületéhez, ezért csak akkor forgatja a meghajtó, amikor adatírás vagy - olvasás zajlik. A lemez elérési ideje lényegesen nagyobb, mint a merevlemezeké A hajlékonylemez elsısorban a mikroszámítógépek adatbeviteli, - kihozatali adathordozója. A ma használt floppy disk-ek mérete 5.25", illetve 35" átmérıjő és kapacitásuk 360 Kbyte - 144 Mbyte között van Használnak 21 Mbyte kapacitású 3.5"-es lemezeket is (zip drive, a drive, külön meghajtó kell) Manapság Flash Drive-t vagy memóriakártyákat használunk. Optikai lemezek: nagy az elérési idı (15 msec), kicsi az adatátviteli sebessége (40x =

6 Mb/sec), több 100 Mb nagyságúak. (Típusai: csak olvasható (egyszer írhatók) a CD-ROM-ok, magnetooptikai (MO), újraírható CD-k (CD-RW) ). Mágnesszalagtár: archiválásra szolgáló eszköztár (streamer). Perifériák (monitor, billentyőzet, egér, nyomtató, scanner) A számítógép külvilággal való kapcsolattartás eszközei alkotják együtt a perifériákat. A processzor a perifériális eszközöket egy-egy vezérlı egységen (controller) keresztül éri el és irányítja. A vezérlık önálló egységként helyezkednek el a központi egységhez kapcsoltan, vagy pedig magában a perifériában találhatók és a központi egységgel egy szabványos csatlakozón keresztül tartanak kapcsolatot. A perifériák egyre több feladatot, vezérlési funkciót látnak el, saját vezérlıjük irányítása alatt. Elegendı a szabványos csatlakozási felület kialakítása a központi egység és a periféria között. A perifériák a közös sínrendszerre

csatlakozó vezérlıkön keresztül kapcsolódnak a processzorhoz. A perifériális eszközöket a processzor kontrolleren keresztül éri el és irányítja. Nagyszámítógépeknél a csatornarendszert használják fel a kapcsolat kialakítására. Az adatcsatornák önálló vezérlı egységgel rendelkeznek és megfelelı program alapján önállóan irányítják az adatátvitel folyamatát a processzor munkájától függetlenül a memória és a periféria között. Az adatátvitel indítása elıtt a processzor az átvitel programját átadja a csatornavezérlınek, majd elindítva azt, a továbbiakban a csatorna már önállóan dolgozik tovább, amíg be nem fejezi a kijelölt átvételi feladatot. Ekkor jelzést küld a processzornak, amely további igény esetén ismét elindít egy adatátviteli folyamatot. A mikroszámítógépek perifériái a közös sínrendszerre (bus system) csatlakozó vezérlıkön keresztül kapcsolódnak a processzorhoz. Monitor: az adatok

grafikus vagy szöveges megjelenítésére szolgál. Billentyőzet: kisebb mennyiségő adat bevitelére, valamint a gép közvetlen vezérlésére szolgál. Nyomtató, plotter: az eredmények szöveges vagy grafikus megjelenítésére használatosak nyomtatott formában. Szkenner: rajzok, grafikák, fényképek vagy szöveg raszteres (bittérképes) bevitelét teszi lehetıvé. Egér, trackball: mutatóeszközök, amelyek segítségével a grafikus képernyın mozgatott kurzorral, rámutatással kijelölhetık a mőveletek, így a program és a gép irányítása billentyőzet nélkül történik. Modem: amelyen keresztül a számítógép közvetlenül kapcsolódhat a távközlési hálózatokhoz (kapcsolt telefonhálózat, bérelt adatvonalak, csomagkapcsolt hálózat) és ezeken keresztül más számítógépes rendszerekhez. A külsı modemek külön készülékben helyezkednek el, mőködtetésükhöz külön áramforrásra is szükség van és a számítógép soros vagy USB

portjára kapcsolódnak. A belsı modemek csupán egyetlen bıvítıkártyából állnak, amelyet a számítógép belsejébe kell beszerelni. A belsı modemeket csak a telefonvonalra kell csatlakoztatni, nincs szükségük külön áramforrásra. Hálózati kártya: helyi számítógépes hálózathoz (LAN = Local Area Network) kapcsolható a számítógép. 4 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A2. I/O adatátviteli lehetıségek (soros, párhuzamos), adatvédelem A perifériák és a periféria interfészek közötti adatátvitelre két, lényegében különbözı megoldás létezhet: - a periféria interfész és a periféria között az adatokat bitenként sorba egymás után visszük át, ezt soros átvitelnek nevezzük - a periféria interfész és a periféria között az adatokat bitcsoportonként egyszerre visszük át, ezt párhuzamos átvitelnek nevezzük Párhuzamos adatátvitel A mikroszámítógépes rendszerekben a legnagyobb

számban a Párhuzamos adatátvitel lehet - programozott I/O átvitel, - megszakításos (IRQ), - közvetlen tároló hozzáféréses (DMA) Programozott I/O átvitel (polling): - a processzor teljes körően ellenırzi és vezérli az I/O mőveletet - a periféria állapot regiszter ciklikus lekérdezése folyamatosan terheli a processzort (ezért ennek csak akkor van értelme, ha az I/O eszköz nagyon gyors) A programozott I/O adatátvitel lehet feltétlen vagy feltételes. 1. Feltételen adatátvitel: az adatok küldésére és fogadására mindig kész perifériát feltételez, tehát nem szükséges állapot ellenırzés (pl.: számítógép jelzılámpái – LED kijelzık) 2. Feltételes adatátvitel: a CPU elıször megvizsgálja a periféria állapotregiszterét, s az adatátvitel csak akkor következik be, ha a periféria készen áll. Ennek lépései - periféria állapotát leíró adatok kiolvasása és vizsgálata - adatok küldése a számítógépbıl vagy a

perifériától A programozott adatátvitel nem túl elınyös, mert lassú átvitelt eredményez és a processzor idejét teljesen leköti. Az átvitelt mindig a processzor kezdeményezi. Megszakításos (IRQ): A periféria a számára kijelölt megszakítás kérı vonalon értesíti a megszakítás vezérlın keresztül a processzort, ha adatátvitelt igényel. A kérés elfogadása esetén a CPU egy idıre félre teszi éppen végzett munkáját, kiszolgálja a perifériát, majd folytatja ott, ahol abbahagyta. A processzor ez esetben nincs teljesen kiszolgáltatva a perifériának, viszont a programok közötti átkapcsolás, a visszatéréshez szükséges információk elmentése adminisztrációt, szervezést igényel, idıt vesz el. (A megszakításos adatátvitel elınye a programozott I/O átvitellel szemben, hogy a processzor lényegesen kevesebb idıt tölt az adatátvitel irányításával. Ugyanakkor továbbra is a processzoron keresztül zajlik az átvitel és a nagyobb

sebességő eszközök esetében már nem kellıen megbízható ez az eljárás.) Lépései: - megszakítja a futó programot - tárolja a futó program adatait - elindítja a kiszolgáló rutint (adatátvitelhez) - befejezi a megszakítást (ha befejezte az adatátvitelt) - folytatja a megszakított programot Közvetlen memória hozzáférés DMA: Lényege, hogy a processzor egy I/O mővelet végrehajtásához szükséges információkat átadja egy, a processzortól független DMA (Direct Memory Access) vezérlınek, mely ezt követıen az adatátvitelt a memória és az I/O eszköz között önállóan irányítja. Ezáltal a processzor felszabadul más feladatok végrehajtására. Lépései: - ellenırzi a perifériát, hogy tud-e fogadni - DMA buszfoglalási kérelmet jelez, a processzor visszaigazolja - DMA kizárólagosan lefoglalja a buszt, és végrehajtja az átvitelt - DMA jelzi a processzornak a befejezést - processzor ellenırzi az átvitelt, és a buszt szabaddá teszi

Ilyen például a floppy vezérlı (DMA 2). 5 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. Soros adatátvitel Nagyobb távolságú adatátvitelnél a párhuzamos nem lehetséges, ilyenkor az adatokat bitenként, a kiegészítı ellenırzı jelekkel együtt, idıben egymás után továbbítja a számítógép. Mivel a számítógépen belül az adattovábbítás párhuzamos formában történik, ezért a soros adatátvitelhez elıbb szükség van egy párhuzamossoros, illetve ilyen jelek fogadásakor, egy visszaalakító soros-párhuzamos átalakításra. A nagyobb távolságra történı adattovábbításhoz, a telefonvonalakat lehet igénybe venni, amelyek használatához a jeleket rá kell “ültetni” egy hangfrekvenciás hordozójelre. Az erre a célra szolgáló eszköz a modem A modem (modulator/demodulator) által használt leggyakoribb modulációs eljárások a frekvencia, az amplitúdó és a fázismodulációs eljárás. Színuszos vivıjel

ananlóg modulációja három féle lehet: Ha a moduláló jel a vivı jel 1. 2. 3. amplitúdóját változtatja, akkor amplitúdó moduláció (AM) frekvenciáját változtatja, akkor frekvencia modulációról (FM) fázisát változtatja, akkor fázis modulációról (PM) A két, modemen keresztül összekötött, berendezés egymással félduplex, illetve duplex üzemmódban tud kapcsolatot tartani. A félduplex üzemmódnál az adattovábbítás mindkét irányban lehetséges, de felváltva (adóvevı pl.) A teljes duplex lehetséges, de egyidıben mindkét irányban lehet adatokat továbbítani Az összekötéshez 2, vagy 4-vezetékes rendszer szükséges. A félduplex üzemmódhoz 2, a duplexhez 4-vezetékes kapcsolat kell. Az átvitel formája, elektromos jellemzıi szabályozottak. Az átvitel módját meghatározó szabályrendszert nevezik protokollnak. A soros adatátvitel lehet aszinkron és szinkron ütemezéső Szinkron átvitel: Szinkron adatátvitelnél, az egymást

követı jelek ütemezetten, órajellel vezérelve, szinkronizáltan követik egymást. Az adatok átvitele blokkos formában történik, amelyet kiegészítenek még szinkronizáló bitekkel is ( SYN SYN ADATOK SYN SYN ADATOK )Ezt a formát nevezik “frame”-nek, keretnek. 1. blokk 2. blokk Az egyes adatokhoz tartozó jelek csak egy meghatározott alapidıtartam egész számú többszörösei lehetnek (órajel miatt). Aszinkron átvitel: Az aszinkron ütemezéső adatátvitelnél, a karakterek ütemezés nélkül követik egymást, az átvitt bitek mennyisége változó is lehet. A start/stop bitek miatt a jelsorozat eléggé redundáns, tehát információtartalom szempontjából felesleges jeleket is tartalmaz, ugyanakkor a vevı oldalon nincs szinkronizálva a vétel és emiatt nagyobb sebességő átvitel nem biztonságos. Az aszinkron átvitelnél nem szükségképpen van folyamatos kapcsolat az adó és a vevı között, ezek szinkronban csak az adatátvitel ideje alatt

vannak. A szinkronizálást a start jel eredményezi START adatok STOP SZÜNET START adatok STOP Az aszinkron soros átvitelhez használt átviteli sebességek: 110-19200 (bit/s). Az átvitel egyik formája a karakter orientált protokoll (COP= character oriented protocol), amelynek használata esetén a grafikus adatok továbbítása körülményessé válik. Ezért azok átviteléhez a bit orientált protokollt (BOP= bit oriented protocol) használják. Ilyen, az ISO által is elfogadott bit orientált protokoll a HDLC (high-level data link protocol) protokoll. Szabványosított interface: A soros adatátvitelek lebonyolításához a soros kimeneteket/bemeneteket (interfaceeket) szabványosították. A mikroszámítógépek környezetében használt szabványosított soros csatlakozási felületek az Electronic Industries Association által kidolgozott: RS 232C (20 vezetékes), és az RS 449 (30 vezetékes) szabvány. Összehasonlítva: A szinkron átvitelnél a redundancia

alacsonyabb, de a kapcsolódó hardver bonyolultabb. Az alkalmazható sebesség magasabb, mint az aszinkron átviteleknél. A használt sebesség értékek: 4800, 9600 (bps), vagy magasabb érték. 6 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. Adatvédelem Minél kevésbé megbízható egy eszköz vagy adatátviteli rendszer, annál nagyobb szükség van az adatok védelmére, hibák javítására, detektálásra. Ilyen eljárások: Adatszintő védelem: - Paritásbit – egyetlen bithiba: értéke 1, ha az ellenırzött adatblokkban páros számú egyes van, 0 ha páratlan. Figyelése paritásellenırzı áramkörrel valósul meg - Hibajavító kódok – független hibák: alapja a Hamming távolság - Ellenırzı összegek (CRC) – összefüggı hibák: algoritmus alapján Eszközszintő védelem - Lemeztükrözés – lemez megkettızése - RAID – adatok redundáns elosztása 0, 1, 1+0 A RAID (Redundant Array of Inexpensive or Independent Disks)

napjaink egyik fontos technológiája. Segítségével sérülés-biztos merevlemez-rendszereket hozhatunk létre, melyek elengedhetetlenek bizonyos kritikus alkalmazásoknál, vállalatoknál vagy hálózatoknál. A RAID technológia lényege a nevében is benne van: több független merevlemez összekapcsolásával egy nagyobb mérető és megbízhatóságú logikai lemezt hozunk létre. A módszer kidolgozásánál a tervezık többféle célt tőztek ki: • Nagy tárterület létrehozása, a logikai diszk haladja meg az egyes fizikai lemezek méretét • Redundancia, azaz nagyfokú hibatőrés, az egyes lemezek meghibásodásával szembeni tolerancia • Teljesítménynövelés, azaz az összekapcsolt lemezek együttes teljesítménye haladja meg az egyes lemezekét (pl. írási és olvasási mőveletek átlapolása) Adatvédelemhez tartozik a tárkezelı rendszer is. A tárkezelı rendszer feladatai közé tartozik a felhasználói programok, adatok védelme is. Ez a

következıket jelenti:     a memóriaterület védelme - a címzések helyességét ellenırzi a rendszerprogramok védelme a felhasználó beavatkozásaitól a felhasználók feladataik egymástól való védelme a tárolt adatokhoz való hozzáférési lehetıségek védelme A védelmi módszerek két típusa alkalmazott:  hierarchikus. A programok más rutinokat csak a saját védelmi szintjükön, vagy magasabb szinten hívhatnak. Adatokat csak saját szintjükön, vagy alacsonyabb szinten érhetnek el A szintek közötti védelmet az egyes szintek saját veremtárolója is biztosítja. A feladatok közti védelmet az egyes feladatok saját deszkriptor táblája (LDT) biztosítja.  nem hierarchikus. Minden feladathoz(taszkhoz) egy mőveleti tábla van rendelve, amelye meghatározza azokat a taszk által elvégezhetı mőveleteket, amelyek más feladatokat érintenek. Az adatok védelme érdekében a szegmensekhez, lapokhoz adott hozzáférési jogokat szabályozza a

védelmi rendszer. Ilyen jogok:  olvasási  írási  végrehajtási 7 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A3. Processzorok címzési lehetıségei A számítógép mőködését parancsokkal tudjuk meghatározni. A parancsok végrehajtását teszi lehetıvé a processzor, mely beolvassa az utasításokat a memóriából, dekódolja és végrehajtja. Az utasítások abban különböznek egymástól, hogy az adatokat milyen formában tartalmazzák. Ezeket összefoglaló néven címzési eljárásoknak nevezzük. Címzési eljárások: 1. Abszolút címzés 2. Relatív címzés - bázisrelatív - programrelatív - utasításrelatív 3. Közvetlen adat (literális) címzés 4. Verem címzés 5. Közvetett címzés 6. Index címzés 1., Abszolút címzés Az utasítás címrészében az operandus valódi, pontos címe található. Ez a memóriára (memory direct), vagy a processzor valamelyik regiszterére (register direct). Regiszterek abszolút

címzését a programokban gyakran alkalmazzuk, abszolút memória címzést viszonylag csak ritkán. Ennek oka, hogy a programokat nem mindig azonos memóriacímre töltjük be (szabad hely miatt) így az egyes programbetöltési címtıl függıen a programutasításokban megcímzett adatok fizikai helye is megváltozik. Pl.: MOV AX,DX (= DX regiszter tartalmát vidd át az akkumulátorba) 2., Relatív címzés Az utasítás címrésze egy relatív értéket tartalmaz, amelyet egy másik (alap) címhez képest kell értelmezni. Relaítv cím + alapcím = az operandus címe. Az alapcím helye alapján megkülönböztetünk - bázisrelatív (bázisregiszterben van az alapcím) - programrelatív (program memóriabeli kezdetének, töltési helyének címe) - utasításrelatív: az éppen végrehajtott utasítás (ekkor a báziscímet az utasításszámláló regiszter tartalmazza) Fıként vezérlésátadó (ugró) utasítások alkalmazzák. Akkor használjuk ezeket, ha biztosítani

szeretnénk, hogy a program a memória tetszıleges helyére betöltve is futóképes legyen. Pl.: MOV AX, [ BP +4] (= a BP bázisregiszterben található címhez adj hozzá 4-et és az így keletkezett tartalmat töltsd be az akkumulátorba) 3., Közvetlen adat címzés (értékadó, álcímzés, literális) Az utasítás magára az adatra hivatkozik, amellyel a mőveletet végre kell hajtani. Ezt a címzési eljárást a programokban például a regiszterek konkrét számértékekkel (konstansokkal) való feltöltésére használjuk. A számérték nagysága erısen korlátozott, mivel az utasítás címrészébe kerül. Általában kisebb értékő konstansokkal való munkához lehet alkalmazni, gyorsasága és kis helyigénye miatt. Pl.: MOV AX, 0 (= nullát tölts be az akkumulátorba) 4., Verem címzés A verem (stack) egy regisztertár a CPU-ban, vagy egy kijelölt memóriaterület a fıtárban, amelybıl az utoljára beírt adatot lehet elıször kiolvasni. (LIFO) A verem egyik

legfontosabb alkalmazása a CPU állapotának (az állapot és utasításszámláló regiszter tartalma) elmentése abban az esetben, ha egy program végrehajtását átmenetileg fel kell függeszteni. Memóriaverem: a fıtár egy részét tartalékoljuk veremmőveletre, címzése regiszterrel történik, ezt nevezzük verem mutatónak (stack pointer) Kaszkádverem: ekkor a verem a CPU-ban van és korlátozott számú regiszterbıl áll. Veremmőveletek: - írás (adatbevitel vagy PUSH) - olvasás (adatkihozatal vagy POP) 8 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A verem memóriacímzése esetén a veremmutató tartalmát növelni (inkrementálni) kell beírás után, és csökkenteni (dekrementálni) kell kiolvasás elıtt. A veremtárat használjuk szubrutinok tárolására is, ilyenkor a program csak egyszer tölti be, de meghívni többször is tudja a szubrutint. 5., Közvetett (indirekt) címzés A közvetett cím egy olyan memóriaterületet

címez meg, amelyben az adat tényleges címe van. A közvetett címet sokszor pointernek vagy mutatónak is szokás nevezni. 6., Index címzés A feldolgozások széles körében van szükség arra, hogy adatsorozatokon kelljen elvégezni valamilyen mőveletet. Ezekben az esetekben azt kell megoldani, hogy valamilyen egyszerő formában, utasítással ciklikusan sorra elı tudjuk venni az egyes tárolóhelyeken lévı adatokat. Az indexelt utasításokat adatsorozatokon végzett mőveletekor, ciklusokban tudjuk elınyösen használni. Az adatsorozat elsı elemének tárolási címét tartalmazza az utasítás címrésze és az indexregiszterben (IX) található az ettıl való eltérés, azaz hogy hányadik elemet kell a sorozatból feldolgozni. Az indexregiszter tartalmának folyamatos növelésével (vagy csökkentésével) végig tudunk haladni az összes adaton, tárolóhelyen. Mivel egy-egy adat elıkeresése után mindig növelni (csökkenteni) kell az indexregiszter tartalmát,

ezért alkalmaznak olyan megoldásokat is, ahol ez a növelés automatikusan megtörténik. Ezt a lehetıséget nevezik autóindexelésnek. A tárolóhely pontos címe az utasítás címrésze tartalmának (mint alapcímnek) és az indexregiszter tartalmának összeadásával jön létre. Az indexregiszter tartalmát folyamatosan növelve, végig lehet járni a teljes adatsort. Az indexelt utasítás és a relatív címzési mód igen hasonlít egymáshoz, mert mindegyiknél egy alapcímtıl való eltérés adja meg a pontos tárolóhely címet. Azonban lényeges különbség van a kétféle címzési lehetıség között. A relatív címzésnél az alapcím egy regiszterben van és ennek értékét nem változtatjuk folyamatosan, az indexelt utasítások esetében az alapcím az utasításban van és a folyamatosan változó rész az indexregiszterben található. 9 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A4. Mikroprocesszorok belsı funkcionális

egységei A mikroprocesszoroknak három alapvetı funkcionális blokkjuk van: aritmetikai egysége (Arithmetic Logic Unit), vezérlıegység (Control Unit), regiszterek. Ezen kívül tartalmaz még: - busz illesztı egység (BIU = Bus Interface Unit) - címszámító és védelmi egység (AU = Adress Unit) - belsı gyorsítótár (L1 cache) - belsı sínrendszer, mely az elızı részegységek kommunikációját biztosítja Aritmetikai egység (ALU) Az utasításokban elıírt aritmetikai vagy logikai mőveleteket hajtja végre. Bináris mőveletek elvégzésére alkalmas, és a kettes számrendszer alapján történı mőveletvégzés mellett többnyire a decimális aritmetika szerint is képes mőveleteket végrehajtani. A mikroprocesszorok aritmetikai-logikai egysége (ALU), mint a mőveletvégzés eszköze, a legegyszerőbb esetben is néhány fı részegységet biztosan magában foglal. ALU fı részegységei: - összeadó egység, amely két operandus összeadására szolgál -

léptetı áramkörök, amelyek a regiszterek tartalmát mőveletvégzés közben jobbra, vagy balra léptetik, azaz tulajdonképpen 2-vel osztják, vagy szorozzák azt - logikai áramkörök a logikai mőveletek megoldásához - regiszterek, az adatok ideiglenes tárolására. Ezek lehetnek az ALU részét képezı, kizárólagos használatú regiszterek, mint pl. többnyire az akkumulátor regiszter (AC), vagy a processzor általános célú regiszterei közül egy, vagy több. Az aritmetikai mőveletek végrehajtásakor, az eredményétıl függıen, az állapotregiszter egyes jelzıbitjeit a processzor beállítja. A mőveletek eredményét visszatükrözı legfontosabb jelzıbitek a következık: - átvitel (carry): ha az eredmény legmagasabb helyértékén átvitel keletkezik, 1-es értéket vesz fel - nulla (zero): ha az eredmény nulla értékő, 1-es értéket vesz fel - elıjel (sign): ha az eredmény negatív, akkor az értéke 1-es lesz - túlcsordulás (overflow): ha az

eredmény nagyobb, mint a tárolható legnagyobb érték, akkor értéke 1-es lesz. Vezérlı egység (CU): Feladata a program utasításai, vagy külsı kérések (periféria megszakítási kérelme, sín igénybevételi kérése) alapján, vezérlı jelek segítségével a gép részeinek irányítása. Ez magában foglalja: - az ALU mőveleteinek irányítását, - az egyes útvonalak nyitását/zárását valamint - a külsı egységek, a memória, az I/O eszközök vezérlését. 10 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. Vezérli a mőveletek elvégzéséhez szükséges belsı adatforgalmat. A vezérlı egység irányítja a processzor és az I/O eszközök közötti adatátvitelt, valamint a tárolt program alapján a mőveletek végrehajtását és az ALU mőködését. A gép vezérlése legtöbbször mikroprogram alapján történik Minden egyes utasítás mőveleti kódja egy kis kapacitású ROM tárban, a mikroprogramtárban elhelyezkedı

mikroprogramot indít el, amelynek minden lépése a vezérlıjeleknek egy sorát eredményezi. A vezérlıjelek lehetnek - belsı vezérlı jelek: melyek a processzoron belüli részegységek mőködését irányítják (pl.: aritmetikai egység és a processzor regiszterei közötti adatátvitelt) - külsı vezérlı jelek: melyek o a processzor és a memória, o a processzor és az I/O eszköz, o illetve a megszakításkezelést és a sínvezérlést irányítják Regiszterek A processzor regiszterei a felhasználói programok szempontjából három kategóriába sorolhatók: - rendszerregiszterek, melyek a felhasználói programok számára nem láthatók, nem elérhetık (pl.: IR utasításregiszter) - speciális célú regiszterek, melyek a felhasználói programokban csak meghatározott utasításokban szerepelhetnek (pl.: flag vagy státuszregiszter) - általános célú regiszterek, melyek a felhasználói programok utasításaiban korlátozás nélkül használhatók (pl.:

akkumulátor regiszter) További általános részegységek: - A busz interfész egység (BIU = Bus Interface Unit) biztosítja a processzor kapcsolódását a külsı sínrendszerhez. - A címszámító és védelmi egység (AU = Adress Unit) feladata a programutasításokban található címek leképzése a memória fizikai címeire, s a tárolóvédelmi hibák felismerése. - A belsı sínrendszer a CPU-n belüli adatforgalmat lebonyolító áramkörök összessége. - A belsı gyorsító tároló (L1 cache) memóriából kiolvasott utasítások és adatok átmeneti tárolására szolgál. A pentium PRO processzorok óta az L2 cache is a processzoron belül található 11 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A5. A Mikroszámítógépek tároló-hierarchiájának elemei, mőködésük módja és jellemzıi a hozzáférései idıkkel (regisztertár, cache-tárak, RAM-ROM típusok, háttértárak). Megnevezés REGISZTER L1 / L2 CACHE ROM DRAM /

SRAM FDD HDD DAT CD DVD Kapacitás Néhány száz B 16-31 kB / 256-512 kB Néhány 10 kB-64 MB 32-512 MB 1,44 MB 40-230GB 2 GB 650-700 MB 4,7GB Elérés 1-5 ns 15 ns / 200 ns 60-70 ns / 15-20 ns 300 ms 10 ms – 30ns 1s 100 ms 100 ms Átvitel 0,5 kB/s 2 MB/s – 133 Mb/s 2 MB/s 1 MB/s 1 MB/s Regiszterek A CPU-hoz legközelebb lévı tárolok, amelyek viszonylag kevés adat befogadására képesek (általában egy szó). Az elérési idejük ugyanakkor ezeknek a legkisebb. Regisztertár: A processzorban egy-egy szónyi adat tárolására több gyors mőködéső tár szolgál, melyek együttesen alkotják a regisztertárat. A CPU-k teljesítményének fokozására az elmúlt években növelték a regiszterek darabszámát, így alakultak ki a regisztertárak (regisztertömbök). Fontos: általános célúak legyenek, háromcímes elérési lehetıség biztosítása(egy utasításon belül megadható két operandus és az eredmény címe is), minél nagyobb méret. Kezelési

technikák Regiszterbank: A regisztertömb nem átlapolódó, azonos mérető részekre, ún. bankokra van felosztva, melyek mérete 2 valamely hatványa. Az aktuálisan használt bank kezdetét a bank-mutató (current bank pointer) jelöli ki Ablaktechnika: A regisztertömb egy-egy azonos mérető de átlapolható része látható a processzor számára. A méret 2 valamely hatványa. Az aktuális ablak kezdetét az ablak-mutató (current window pointer) jelöli ki A szubrutinok közötti paraméterátadás megkönnyítésére használható ez a technika. Blokktechnika: A regisztertömb tetszıleges mérető átlapolható részekre van felosztva. Az aktuális blokk kezdetét a blokk-mutató (current block pointer) jelöli ki. ROM csak egyszer tölthetı fel a gyártás során (ROM) a felhasználó által egyszer feltölthetı (PROM) speciális módon törülhetı és újraprogramozható (EPROM) elektromosan törölhetı, és újraírható (EEPROM) DRAM / SRAM (írható és olvasható)

- dinamikus RAM (DRAM) – alacsony teljesítményigényő, tartalmát rövid idı alatt elveszti, ezért annak tartalmát ciklikusan fel kell újítani. Kis mérete miatt (1 tranzisztor) nagy mérető tárakat lehet belıle kialakítani. - statikus RAM (SRAM) – gyors mőködési sebességő, nem igényli az állandó adatújítást (=bistabil multivibrátor) Ismert típusai DRAM: FPRAM – Fast Page RAM (gyors lapozású memória) EDORAM – Extended Data Out RAM (kiterjesztett adatkimenetelő memória) SDRAM – Syncronous DRAM (szinkron DRAM) DDR SDRAM RDRAM – (Direct Rambus DRAM) nem terjedt el DDR2 SDRAM SRAM: Aszinkron SRAM (processzorral nem szinkronban mőködik) (Egyéb speciális típus: VRAM – videókártyán lévı RAM) 12 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. L1 / L2 CACHE L1: Belsı cache (processzorban) L2: általában processzoron kívüli, Pentium PRO –tól a processzoron belül van már Általában gyors eléréső

SRAM-okból áll, ma már létezik speciális cache is, pl.: merevlemez cache (az adatáramlás folyamatosságának biztosítására, pufferelési céllal, az egyes tárolási szintek közé kisebb kapacitású, felhasználó számára “láthatatlan”, gyors mőködéső tárolók kerülnek, melyeket cache-táraknak nevezünk) Szerepe: A cache tárak az utasítások és adatok átmeneti tárolására használhatók. Típusai: - teljesen asszociatív. A beolvasott blokkok bárhova elhelyezhetıek, bármelyik sorba kerülhetnek Az elhelyezés sorát a helyettesítési algoritmus határozza meg. - közvetlen leképezéső. Egy-egy blokk csak meghatározott helyre kerülhet A blokk helyét a blokksorszám alsó 8 bitje határozza meg. A blokk tehát abba a sorba kerülhet, amelyet a sorindex meghatároz A 16 adatbyte mellett a blokksorszám 20 + 8 bitje, valamint a jelzıbitek is tárolásra kerülnek. A 28 bites blokksorszám itt egy 20 bites lapsorszámra, és az azon belüli 8 bites

blokksorszámra bomlik. - csoport asszociatív. Átmenet a teljesen asszociatív és közvetlen leképezéső cache tár között A cache nagyobb sorokból álló csoportokra van osztva, melyek önmagukban is mint teljesen asszociatív tárként mőködnek, azaz egy csoporton belül bárhova kerülhet a blokk. Az elhelyezést a választott helyettesítési algoritmus határozza meg. - szelektor leképezéső. Köztes megoldást képzı, de ma már ritkábban használt cache tár DAT (Mágnesszalag): archiválásra szolgáló eszköz (streamer). Mágneslemez: Lehet hajlékony- vagy merevlemez. Az adattárolás koncentrikus sávok (track) mentén történik Egymás alatt elhelyezkedı sávok a cilinderek (cylinder). A sávok szektorokra vannak felbontva, amelyek egyenként általában 512 bájt hosszúságúak. FDD (Hajlékonylemez, floppy) Mágnesezhetı réteggel ellátott vékony mőanyag lemezek papír vagy mőanyag védıtokban elhelyezve. A lemezek írásakor/olvasásakor az

író-olvasófej hozzáér a lemez felületéhez, ezért csak akkor forgatja a meghajtó, amikor adatírás vagy -olvasás zajlik. A lemez elérési ideje lényegesen nagyobb, mint a merevlemezeké. A hajlékonylemez elsısorban a mikroszámítógépek adatbeviteli, -kihozatali adathordozója Mára ez a technológia kihalóban van, mert kapacitása kicsi, és árában (3500 Ft) sokkal nagyobb kapacitású és gyorsabb PenDrive eszközt lehet vásárolni. Az új számítógépekbe már bele sem építik, csak ha kérjük HDD (Merevlemez, winchester) Állandó sebességgel forognak és az adatok írása/olvasása a felülettıl néhány mikron távolságra lévı fej segítségével történik. Minden lemezfelülethez tartozik egy író-olvasófej A mikroszámítógépekben kizárólagosan használt merevlemez típus a pormentesen, zárt tokban elhelyezett merevlemez, az ún. winchester lemez A nagygépek és a mikroszámítógépek esetében használnak fixen beépített merevlemezeket

és cserélhetı lemezeket. (Programok tárolása, adatok tárolása és archiválása, virtuális memória) Merevlemezekrıl bıvebben: http://kac.dufhu/~balage/szakdoga/hddhtm#transferrate CD / DVD Olvasás elve, hogy a lemezt letapogató lézersugár a felületrıl visszaverıdve különbözı fázisban érkezik vissza az érzékelıhöz, attól függıen, hogy kiemelkedés vagy térköz halad el alatta. (Írottnál a mágnesezetség változik.) A manapság két új szabvány verseng a BlueRay és a HD-DVD, de már megjelent azok versenytárs is a holografikus lemez amely a Hitachi-Maxell fejlesztése és a Tapestry Disc nevet kapta, 13 centiméter átmérıjő, 3,5 milliméter vastag átlátszó lemez a három dimenziós technológiának köszönhetıen 64 DVD-nyi adat hordozására alkalmas, és sokkal nagyobb adatátviteli sebességre képes, mint elızı generációs társai. 13 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. SSD: Flashmemóriás

tárolóegységekbıl álló termékcsalád a Solid State Drive. A mozgó alkatrészt nem tartalmazó, energiatakarékos és strapabíró SSD-k eltávolítható rokonaikhoz, a pendrive-okhoz hasonlóan USB interfészen keresztül kommunikálnak, de van olyan változat is, amely Ultra-ATA66 interfésszel rendelkezik. Ezeket az adattárolókat azonban a gépek (elsısorban notebookok, de akár szerverek, útválasztók vagy vékony kliensek) beépítve tartalmazhatják. Az Solid State Drive egységek elsıdleges feladata a rendszer betöltési idejének, illetve a gyakran használt állományok elérési idejének gyorsítása. A flashmemóriát tartalmazó kiegészítı háttértár elınyeit mindazonáltal leginkább a noteszgépek tulajdonosai értékelhetik, a hordozható számítógépeknél ugyanis a gyorsabb fájlmőveletek mellett hosszabb akkumulátoros üzemidıt is szavatol ez a technológia. Az új tárolócsalád 1,2,4,8,32,64 gigabájtos kapacitással kerül forgalomba, A

Solid State Drive eszközök a gyártók szerint az átlagosnál jóval hosszabb élettartammal bírnak – ez számokban kifejezve közel ötmillió üzemórát jelent két meghibásodás közt (MTBF). A megbízható mőködésre további garancia a gyártó szigorú ellenırzési folyamata, melyen mindegyik SSD-nek át kell esnie, mielıtt elhagyja a gyárat. Az írási sebessége 45 MB/s, az olvasási tempó 64 MB/s. Ezek az értékek többszörösei az azonos mérető merevlemezekének, ugyanakkor az SSD tárolók energiafogyasztása csúcsüzemben is csak harmada a lemezes egységekének. A gyártók a következı évekre az SSD-k piacának robbanásszerő, évi 200 százalékot meghaladó növekedését jósolják, ami jó hír az árak szempontjából, hiszen végre széles körben elérhetıvé válhat ez a tárolótípus. A 64 GB-ost fıként noteszgépekbe szerelik, míg kisebb, 8–16 GB-os változatai médialejátszókba, navigációs eszközökbe, videokamerákba

kerülhetnek. Tárhierarchia: A tárolók, a processzoron kívül, a számítógépek legfontosabb erıforrásainak számítanak, ezért azok használatának hatékony formáit külön célszerő vizsgálni. Lényeges szempont az utasítások és az adatok használati gyakoriságuknak megfelelı elhelyezése, azaz minél gyakrabban van szükség rájuk, a processzorhoz annál közelebb és a processzor által annál rövidebb idı alatt elérhetıknek kell lenniük. Fordítva is igaz, hogy ha nincs szükség valamilyen programrészre, vagy adatra, akkor az kerüljön ki a processzor közvetlen közelébıl, átadva a helyet a nála fontosabb adatnak. A nagy kapacitású tárolók elérési ideje általában nagyságrendekkel nagyobb, mint a processzor közvetlen közelében lévı a különbözı tárolóeszközökön. A processzorhoz legközelebb a regiszterek vannak, amelyek viszonylag kevés adat befogadására alkalmasak, ugyanakkor az elérési idejük a legkisebb (1-5 ns). A

program végrehajtásához közvetlenül szükséges programrészek és adatok tárolására a központi memória szolgál, amelyek kapacitása néhány Mbyte és elérési ideje 10-20 nsec. Az éppen nem szükséges adatok tárolását a nagykapacitású háttértárolók biztosítják több Gbyte-os tárolóképességgel és 10-20 msec elérési idıvel. Ezt egészítik ki az ún tömegtárolók, amelyek összkapacitása végül is csak az igényektıl és a lehetıségektıl függ. Ezek elérési ideje nagyon változó néhány 100 msec-tól néhány percig is terjedhet. Az adatok csak a tárolóhierarchián végighaladva kerülhetnek feldolgozásra a processzorban. Fizikai megvalósítás: A mágneses elvő adatrögzítés a leggyakrabban alkalmazott jelrögzítési forma. A jelrögzítés formája digitális megoldású. Ennél a formánál két mágnesezettségi szintet használnak (párhuzamos és merıleges)A két mágnesezettségi jelszint között átmenet akkor következik

be, ha a rögzítendı jelsorozatban 1-es szerepel. Adattárolás elıtt a lemezek felületét formázni kell, hogy kialakuljon a szabványos jelrögzítési forma. A lemez felülete sávokra van osztva, melyen belül szektorok kerülnek kialakításra. Ha több lemez áll rendelkezésre, akkor az egymás feletti szektorokat cilindereknek nevezzük. Igen gyakran külön sávokat használnak az indextáblázatok, és a meghibásodott sávok átmentéséhez. A szinkronizáció mellett a sávok kezdetét is jelezni kell az olvasó rendszer számára. Ennek végrehajtására kétféle módszer használatos: soft szektoros (minden szektort valamilyen egységes jelsorozat vezet be) és hard szektoros (a szektorok kezdetét valamilyen fizikai jel határozza meg).A szektorok két részbıl állnak: fejrész (melyben az azonosításhoz szükséges információk vannak) és adatrész (melyben maga a tárolandó adatsor található). 14 Gábor Dénes Fıiskola kidolgozott Államvizsga A és

B tételsor. A6. A hálózat fogalma és célja, hálózattípusok (LAN stb), hardver és szoftver feltételek, jogosultságok Egymással (szoros) kapcsolatban lévı önálló számítógépek rendszere. A hálózat célja: • az erıforrások megosztása • nagyobb megbízhatóságú mőködés • költségmegtakarítás • adatbázisok elérése (több pontról!) • kommunikációs közeg kialakítása • terhelésmegosztás Hálózattípusok: Területi kiterjedés alapján (mekkora területen helyezkedik el): LAN (Local Area Network) - kis kiterjedéső hálózat, lokális hálózat; jellemzıje az egyedi kábelezés és az ebbıl következı gyors adatátvitel. Mérete 1 szobától kezdve néhány kilométerig terjed MAN (Metropolitan Area Network) - városi mérető hálózat; egy város nagyságrendjét lefedı hálózat. Fontossá teszik a térinformatikai rendszerek, melyek összefognak egy települést. Másik tipikus alkalmazás a világhálózatok kiindulási

pontjaihoz (pl. Internet node-ok) való belépés biztosítása WAN (Wide Area Network) - nagytávolságú hálózat; kiterjedése pár kilométertıl kezdve az egész Föld nagyságáig terjedhet. Tipikus átviteli eszközei a távközlési vállalatok által nyújtott eszközök: telefonvonal, mőhold, mikrohullám, stb. Topológia alapján: bus (sín): gépek egy közös átviteli közegre csatlakoznak győrő: a gépek egy győrőre vannak felfőzve fa: bármely két összekötött gép között egy és csak egy út van csillag: minden gép csak a központi géppel van összekötve teljesen összefüggı: minden gép minden géppel egyedileg össze van kötve (ez lenne az ideális, csak egy kicsit drága). részben összefüggı: a teljesen összefüggıbıl elhagyunk néhány ágat Átviteli sebesség alapján Lassú (kb 30 kbit/sec): általában telefonvonalak felhasználásával történı átvitelre jellemzı (ISDN – 64, ill. 128 kbit/s) Közepes sebességő (kb 1-20 Mbit/s):

ide tartozik a legtöbb lokális hálózat (Ethernet - 10 Mbit/sec, Token Ring 16 Mbit/sec) Nagy sebességő (50 Mbit/sec felett) Speciális hálózatok osztálya volt régebben, de mára a 100 Mbit/s-os lokális hálózatok terjednek robbanásszerően. Elkezdıdött a Gigabit/s-os hálózatok fejlesztése is Valószínőleg rövid idın belül ezt a tartományt fogjuk a nagy sebességő osztályba sorolni. Átviteli módszer alapján Alapsávú (baseband): modulálatlan jeleket továbbit, tehát az átviteli közegben haladó jel frekvenciája közel azonos a bitsorozat frekvenciájával (LAN-okra jellemzı) Szélessávú (broadband): az adatátvitel modulált, tehát a vivı frekvenciája jóval nagyobb, mint a bitsorozat frekvenciája (pl. kábeltévé) Kommunikációs irány alapján Szimplex (egyirányú): egyik állomás csak adó a másik csak vevı Fél-duplex (váltakozó irányú): mindkét irányú átvitel megengedett, de egyidıben csak az egyik irány élhet Duplex

(kétirányú): mindkét állomás egyszerre adhat és vehet Kapcsolási technika alapján vonalkapcsolt :Ebben az esetben a vonalat nem konkrétan egy adóhoz és egy vevıhöz rendeljük hozzá, hanem az állomások a kommunikáció szükséglete alapján jutnak hozzá. Ezt a megoldást nevezik vonalkapcsolásnak Abban az esetben, ha adatátvitelre van szükség, kialakítanak egy olyan vonalat, amely a vevı és az adó pontpont kapcsolatnak érzékel. A vonal kialakítása kapcsolóközpontok által hajtódik végre A kommunikáció végén a vonal bontásra kerül. Ilyen például a telefon A két végpont között létrejön a kapcsolat, megtörténik az információ csere, majd a kapcsolat bontásra kerül. 15 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. üzenetkapcsolt - két állomás között az átvivı hálózat tárolva továbbító egységekbıl áll, ezek továbbítják az üzenetet egy címinformáció alapján. Az üzenet hossza nem

korlátozott üzenetkacsolás során az információt nem darabolják fel Az üzenetnek tartalmaznia kell a küldı és a címzett adatait. Az adó (A) a teljes üzenetet elküldi a következı, éppen szabad hosztnak Ezzel tulajdonképpen a kommunikációt be is fejezte. Az az állomás, amelynél az üzenet van, keres egy szabad útvonalat a következı IMP-ig és elküldi neki. Ez a folyamat addig ismétlıdik, amíg a címzett (V) megkapja az üzenetet A megoldás nagy elınye, hogy a vonalakat csak nagyon rövid idıre foglalja le, ráadásul mindig csak két hoszt vesz részt a küldésben. A hátrány nagy üzenetek esetében merül fel, ugyanis minden hosztnak minimálisan akkora szabad tárolókapacitással kell rendelkezni, amekkora az üzenet. Ha ez a feltétel nem valósul meg, akkor az üzenet egy része elveszik. csomagkapcsolt - A csomagkapcsolás mőködése nagyon hasonlít az üzenetkapcsolás mőködéséhez. A különbség az, hogy ebben az esetben feldarabolják

az üzenetet kisebb mérető csomagokra. Ezeket a csomagokat egyenként, mint önálló információt küldik el a már megismert módon. Minden csomagküldés elıtt egy hálózatvizsgálat történik, amelynek során megkeresik a leggyorsabb, vagy a legrövidebb útvonalat. Minden csomag más és más úton halad, az érkezési sorrend más lehet, mint az elküldési sorrend volt. Annak érdekében, hogy a vevı képes legyen az eredeti üzenetet összeállítani, minden csomagba be kell építeni azt, hogy melyik üzenet hányadik csomagja. A megoldás elınye, hogy nem igényel nagy átmeneti tároló helyet, a hátránya, hogy bármelyik csomag megsérül, vagy elveszik, nem lehet az eredeti üzenetet összeállítani. Két változata létezik: összeköttetés nélküli: a csomagok átvitelét az ún. datagram service (távirat) végzi Minden csomag tartalmazza a teljes rendeltetési címet, külön továbbítódik (közben a sorrendjük is változhat). Hátránya a bonyolult

csomag-összeépítés. virtuális összeköttetéses: a csomagok átvitelét egy virtuális adatáramkör (virtual circuit) biztosítja. Ez egy hívás útján létrejövı logikai összeköttetés, amely a bontásig fennáll, a csomagok ezen a rögzített adatúton kerülnek át. Teljes cím helyett csak az adatáramkör azonosítóját kell tartalmazniuk Hátránya, hogy nem olyan flexibilis, mint a datagram. 16 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. Közeghozzáférési mód alapján véletlen átvitelvezérlés: egyik állomásnak sincs engedélyre szüksége az üzenettovábbításhoz, adás elıtt csak az átvivı közeg szabad voltát ellenırzi. osztott átvitelvezérlés: egyszerre csak egy állomásnak van joga adni, de ez a jog az állomások között körbe jár. Tipikus képviselıje a vezérjel-továbbításos (token passing) módszer. Az állomások között egy vezérjel jár körbe, akinél ez van, az adhat. A topológia alapján

lehet vezérlıgyőrő (token ring) vagy vezérjeles busz (token bus) központosított átvitelvezérlés: egy kitüntetett állomás foglalkozik az átviteli jogok kiadásával. A hálózat hardver feltételei - számítógépek - hálózati kártya - vezeték - csatlakozók - aktív eszközök (hub, switch): - repeater – jelerısítés, újradigitalizálás - bridge – hálózat szegmensei közti elválasztást oldja meg, ellenırzi a CRC értékét - router - bridge + útvonalválasztás, különbözı típusú hálózatok összekötése - gateway – protokoll átalakító - modem – analóg csatornán való kis sebességő üzenettovábbítás A hálózat szoftver feltételei: Egyenrangú hálózatoknál a kapcsolatban álló gépek kliensként és szerverként is mőködhetnek, az operációs rendszerbe vannak beépítve a hálózati szolgáltatások. Kliens-szerver hálózatoknál a szerveren hálózati operációs rendszert kell futtatni (pl. Novell NetWare, Windows

NT/2000/XP,VISTA), ami kiszolgálja a kliensektıl érkezı kéréseket. A szerver feladata a fájlok tárolása és védelme és a hálózati nyomtatás lehetıségének biztosítása. A klienseken bármilyen kompatíbilis operációs rendszer futhat. Az alkalmazói programok a kliens gépeken futnak Felhasználói jogok a hálózatban: Jogtípusok: Elérési jogok: Egy felhasználó kaphatja a jogokat ahhoz, hogy egy könyvtárban elérje az ott található fájlokat. Ez a jogkör korlátozható, ekkor a felhasználónak nincs meg minden joga az alkönyvtárban lévı fájlokhoz. Az alkönyvtárban lévı fájlokhoz másnak még lehet nagyobb fokozatú jogköre Hozzáférési jogok: Az elıbb ismertetett jogokat kaphatja egy alkönyvtár vagy egy fájl ahhoz, hogy bárki hozzáférjen az adott fájlhoz vagy alkönyvtárhoz. Így az alkönyvtárban végezhetı mőveleteket korlátozhatjuk Effektív jogok: Az elızı két jogtípus-halmaz közös metszete adja meg egy könyvtárban

végezhetı mőveletek körét. Más szóval, ha a felhasználónak joga van egy könyvtárban valamilyen mőveletre, de nincs joga senkinek abban a könyvtárban ahhoz a mővelethez, akkor a mővelet nem végezhetı el. Ugyanez fordítva is igaz Egyik jog sem felsıbbrendő. Jogok: FILE SCAN - KERESÉSI JOG: A felhasználó látja az alkönyvtárban lévı fájlokat, így keresni is tud közöttük. Ha ez a joga nincs meg, nem látja az alkönytárat és annak tartalmát, azonban ha más joga adott, attól meg olvashatja, futtathatja. READ - OLVASÁSI JOG: A felhasználónak joga van az alkönyvtárban lévı fájlokat olvasásra megnyitni, azok tartalmát olvasni, és olvasás után lezárni. WRITE - IRÁSI JOG: A felhasználó az általa megnyitott fájlba írhat, az ott lévı adatokat módosíthatja az adott alkönyvtárban. CREATE - LÉTREHOZÁSI JOG: Az alkönyvtárban új fájlokat hozhat létre a felhasználó. ERASE -TÖRLÉSI JOG: Az adott alkönyvtárban lévı fájlokat

törölheti a felhasználó. MODIFY - MÓDOSÍTÁSI JOG: Az alkönyvtárban lévı fájlokat a felhasználó átnevezheti, attribútumait módosíthatja. ACCESS CONTROL - HOZZÁFÉRÉS ELLENİRZÉSE: Ezen joggal rendelkezı felhasználónak joga van, az alkönyvtárak és az állományok attribútumait megváltoztatni, azokhoz való hozzáférési jogokat a felhasználók számára adni és elvenni. SUPERVISOR - RENDSZERGAZDAI JOG: Minden joga megvan a felhasználónak az adott könyvtárban és annak alkönyvtáraiban. Ez a legmagasabb jog egy könyvtárban 17 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A7. A hálózat hardver, szoftver elemei A hálózatok hardver és szoftver megvalósítása rendkívül sokféle lehet. A különbözı hálózatok összekapcsolásához szükség van valamilyen megállapodásra, szabványra, ami ezt segíti. Ilyen az ISO által elfogadott OSI ajánlás, amely a különbözı protokollok egymáshoz való viszonyára

vonatkozik. A protokollok, vagyis az eljárások egymásra épülı rétegeket képeznek. Minden protokoll csak a két szomszédjával - az alatta ill. a felette lévıvel - tart kapcsolatot Az OSI modell 7 ilyen réteget tartalmaz, a felhasználónak nyújtott szolgáltatásoktól a kábelen megjelenı feszültségig fogja át a hálózat mőködését. 1. Fizikai réteg (Physical Layer): A közvetlen fizikai kapcsolatot írja le a hálózat állomásai között Ide tartozik a kábeltípus, csatlakozók, feszültségek, stb. 2. Adatkapcsolati réteg (Data-Link Layer): Ide tartozik a kódolás, a címzés, a fizikai hibák kezelése 3. Hálózati réteg (Network Layer): Két állomás közötti stabil kapcsolat kialakítása tartozik ide 4. Szállítási réteg (Transport Layer): A kapcsolatok megbízhatósága, a hibajavítás és az esetleges titkosítás tartozik ebbe a rétegbe. 5. Együttmőködési réteg (Session Layer): A szállítási rétegre épülı, magasabb szintő

szolgáltatásokat, pl a hálózaton át folyatott párbeszédet nyújtó réteg. 6. Megjelenítési réteg (Presentation Layer): Az adatok megfelelı formájú átalakítását végzi Tömörítés, adatkonverzió tartozik ide. 7. Alkalmazási réteg (Application Layer): A felhasználói programok számára olyan magas szintő szolgáltatásokat nyújt, mint a fájlátvitel két állomás között vagy az elektronikus posta. Az OSI modell csak ajánlás, és általában hivatkozik a hálózatokra. Egy konkrét megvalósításban pl egy helyi hálózatban nem biztos, hogy van minden rétegnek megfelelı protokoll vagy szolgáltatás. Hardver: A hálózathoz legfıképpen kettı, vagy ennél több számítógépre van szükség. Ezek közül az egyik a kiszolgáló (szerver) szerepét tölti be, ez általában munkaállomásként nem használható. A második és a többi gép lesz(nek) a munkaállomás(ok). Az összeköttetés megvalósítása érdekében szükség van még egy - egy

hálózati kártyára és a gépeket (kártyákat!) összekötı vezetékekre. Ezeknek a kártyáknak és vezetékeknek a legelterjedtebb típusa az Ethernet Az átvivı közeg elemei a következık: 1.Koaxiális kábel Középen általában tömör rézhuzal található, ezt veszi körül egy szigetelıréteg, majd erre jön az árnyékolás. Jellemzıje a hullámimpedancia. Szabványos hullámimpedanciák az 50, 75, 93 Ohm Lehet alapsávú és szélessávú átvitelre is használni. Számítógépeknél a megcsapolás T elosztóval vagy vámpír csatlakozóval történik. Elınye: nagy sávszélesség, nagy távolság, zajérzéketlenség Hátránya lehallgathatóság valamint a kiépítési struktúrájából adódó sérülékenysége és nehézkes szerelhetısége. Szélessávú átvitelnél komoly szaktudást igényel telepítése és karbantartása. 2. Sodort érpár Két szigetelt, egymással összecsavart rézhuzalból áll. Lehet árnyékolatlan illetve árnyékolt

felépítéső Elınye könnyő szerelhetısége, strukturáltsága, egyszerő bıvíthetısége. Hátránya zajérzékenysége, limitált 18 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. sávszélessége valamint lehallgathatósága. A strukturált kábelezési rendszerek alapeleme Sávszélességük függ a minıségüktıl, pillanatnyilag öt osztályba sorolják ıket. Strukturált kábelezés A rengeteg különbözı kábelezési elıírás rendkívül megnehezíti a bıvítéseket és a hálózat átépítéseket. Ezért felmerült az igény egy olyan kábelezésre, amely tetszıleges kábelezési elıírásnak megfelel, azaz univerzális. Az ilyen módon kialakított rendszereket strukturált kábelrendszernek nevezzük. Felépítés: Minden munkahelyhez külön fali aljzat tartozik, mely tartalmazza a telefon és a számítógép csatlakozást. A fali csatlakozót a gépekkel illetve a telefonkészülékkel adapter kábel, az ún patch kábel köti

össze. A fali csatlakozókat sodort érpáras kábelen keresztül egy közös helyiségbe vezetjük. Itt egy nagy elosztóra kerülnek, ennek patch panel a neve. Így kialakul egy csillagstruktúrájú végponti hálózat, ahol a központi patch panel minden csatlakozójának egy munkahely felel meg. A közös helyiségben kerülnek elhelyezésre az aktív elemek. Ezek a telefonközpont számítógépek, a hálózat összekötı elemek. Ezeket az aktív elemeket szintén patch kábelekkel kötjük össze a patch panel megfelelı pontjával Osztály 1 2 3 4 5 Impedancia 84-113 Ohm 100 Ohm 100 Ohm 150 Ohm Tipikus felhasználás analóg és digitális hang, alacsony sebességő adat ISDN (1,44 Mbps), AS 400 10 Mbit/sec Ethernet, 4 Mbps Token Ring 16 Mbit/sec Token Ring 100 Mbit/sec Fast Ethernet 3. Optikai kábel Az információkat egy üvegszálban haladó fénysugár megléte vagy hiánya hordozza. A fény a szál belsejének és külsejének eltérı törésmutatója miatt nem tud

kilépni. A belsı, nagyobb törésmutatójú üveget (core) ugyanis egy kisebb törésmutatójú héj veszi körül (cladding), így teljes visszaverıdés jön létre. Alaptípusa a multimódusú (több hullámhosszon rezgı), step indexő (lépcsıs törésmutatójú) szál, amelynek viszonylag nagy a jeltorzulása. Megoldás a torzulás kiküszöbölésére a fokozatos törésmutató-átmenető szál (gradded index) vagy a távközlési vállalatok által használt lézerrel táplált egymódusú kábel. A technikai fejlıdés során elıször a 820-1300-1550 nm-eres hullámhossz tartományban (ún. optikai ablakban) sikerült a csillapítást 1 dB/km alá vinni. Itt mőködnek a mai átviteli rendszerek A kábelek lehetnek kültériek és beltériek, fémtartalmúak és fémmentesek. Jellemzik ıket a core átmérı/cladding átmérı érték, ezt általában a köpenyen is feltüntetik (monomódnál tipikus 8-10/125, multimódnál 50-100/125-140). Elınyei: érzéketlen az

elektromágneses zavarokra, nincs földpotenciál probléma, nagy sávszélesség, erısítés nélkül igen nagy távra vihetı, nem hallgatható le. Hátránya: drága, nehéz javítani és megcsapolni (bár ez utóbbi a védelem szempontjából elınyt jelent). Hátránya: Az ára. Az utóbbi években sokat csökkent az optikai kábel ára, de még így is kb 300 forint métere, még az UTP kábel ára kb 70 méterenként. 4. Infravörös, lézer, Rövid távú átvitelre alkalmazzák, nem terjedt el széles körben, fıleg idıjárás érzékenysége miatt sem alkalmas nagyobb távolságokban való használatra Elınye: Kiépítést nem igényel, csak a két berendezést kell telepíteni és lehallgatás és zaj ellen védett 5. mikrohullámú, rádióhullámú, Igen elterjedıben lévı technológia. Gondoljunk a WiFi hálózatokra, amelyek szinte már minden településen megtalálhatóak 2,4 Gh-en forgalmaznak, Magyarországon 13 különbözı csatornát engedélyeztek eme

technológia számára. Manapság a notebook számítógépekben is alapfelszerelésnek számít a WiFi. A 80211-es szabvány foglakozik ezzel a technológiával Elınye: Olcsó Hátránya: Nagyon kevés a 13 csatorna, amelyek ráadásul átfedik egymást. Igazából csak négy igazi csatorna van. Ha egy kisvárosban több szolgáltató osztozik egy helyen, akkor ez problémát okozhat 6. mőholdas átvitel Speciális esetben alkalmazzák. Szabványok: 802.3 10 Mbit/s sebességő Ethernet, 802.3u 100 Mbit/s sebességő Ethernet 802.3z 1000 Mbit/s sebességő Ethernet optikai kábelen 19 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. 802.3ab 802.3ae 802.11 802.11b 1000 Mbit/s sebességő Ethernet rézkábelen 10 Gbit/s sebességő Ethernet optikai kábelen 1-2 Mbit/s-os drót nélküli Ethernet átvitel 11 Mbit/s-os drót nélküli Ethernet átvitel. Hálózat Elemei: - Passzív elemek: - csavart érpáras kábelek, amelyeket minden leendı és már

kiépített munkahelyhez a “falban” el kell vezetni. - üvegszálas kábelek, amelyek a központi helyiségek közötti nagysebességő gerinchálózatot adják. - fali csatlakozók, amelyek a munkahelyeknél biztosítják a hálózatra való kapcsolódást. Általában egy adat és egy telefoncsatlakozót tartalmaznak. - patch panelek, amelyekre a sodort érpárak végei illetve az optika csatlakozik - patch kábelek, amelyek a patch panelek és az aktív elemek, illetve a fali csatlakozók és a számítógépek közötti összeköttetést adják - Aktív elemek: aktív “HUB”, telefonközpont, média konverter a központi helyiségben. Ma már egy központi szekrénybe (rack-szekrénybe) szerelve, modulárisan bıvíthetıen is kaphatók. Szoftver elemek: Architektúrák és operációs rendszerek Csoportosítsuk tehát a hálózatos operációs rendszereket a szerint, hogy a hálózatba bekötött gépek milyen feladatot látnak el. Így nagyjából három fı csoportra

oszthatjuk a ma mőködı rendszereket 1. Host-terminál alapú hálózatok A hálózat magját egy vagy több, egymással összeköttetésben lévı központi számítógép (host) alkotja. Itt futtatja az operációs rendszer a felhasználói programokat és mőködésének egyik integrált része a hálózatkezelés. A központi gépekhez intelligencia nélküli terminálok csatlakoznak, amelyeknek egyetlen feladata a billentyőzetrıl kapott adatok továbbítása és a képernyı adatok fogadása. Elınyei: a nagy kapacitású központi gépek és a terminálok között adatforgalom minimális, mivel a felhasználói program a host-on fut. Hátrányai: Drága beszerzés mind a hardware mind a software oldaláról. A központi gép komoly hardware-t igényel. Drága az üzemeltetés is, általában klimatizált helység, szakképzett operátorok és rendszerprogramozók kellenek hozzá. Tipikus képviselıi: IBM nagyszámítógép rendszerek, DEC számítógép rendszerek (VMS

operációs rendszer), UNIX . 2. Egyenrangú (peer to peer) hálózatok A hálózatban lévı bármelyik gép lehet hálózatot kiszolgáló és alkalmazást futtató gép is egyben. A gépek saját erıforrásai megoszthatóak (nyomtató, winchester, CD). Ezek a rendszerek kis LAN-ok kialakítására alkalmasak, ahol kevés gép van és a hálózati forgalom is minimális. Védelmi rendszerük egyszerő A hálózat kiszolgálása mellett a felhasználói programot is futtatniuk kell, ez néha sebesség gondokkal jár. Elınye: olcsósága és egyszerősége Hátránya: kis kapacitása, valamint az, hogy hálózatorientált nagy feladatokhoz nem ad kielégítı hardware és software hátteret. Tipikus képviselıi: a Windows alapú hálózatok 3. Server-client alapú hálózatok A szerver feladata a mindenki által elérni kívánt file-ok tárolása, ezek hatékony védelme és a hálózati nyomtatás. Itt fut a hálózati operációs rendszer, amely mindezt megvalósítja. Az

alkalmazói programok a kliens gépeken futnak, melyeken szinte tetszıleges operációs rendszer lehet. Ha adatra van szükségük, illetve nyomtatni szeretnének, akkor a server géphez fordulnak. Mivel a hálózatos funkciók a servereken összpontosulnak, hatékony operációs rendszereket és komoly védelmeket lehet ide telepíteni Elınye: nem kíván nagyon komoly hardware hátteret, gyors a kiszolgálás sebessége. Üzemeltetése olcsó, legtöbb helyen nincs is hozzá operátor. Hátránya: mivel az alkalmazói program a client gépen fut, nagy a hálózati adatforgalom. Ezért az ilyen rendszerek csak LAN környezetben mőködnek jól, a távoli belépés nehézkes. Nagy adatbázisok gyors kezelése járulékos software eszközt igényel. Tipikus képviselıi: Novell Netware, Microsoft Windows NT server 20 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A8. A számítógép be- és kiviteli eszközeinek (input-output perifériák) típusa és ezek

feladatai és mőködésük elve. (egér, billentyőzet, floppy, optikai lemez, szkenner, digitalizáló tábla, digitális fényképezıgép, és videó és nyomtató fajták, plotter, adatmentı eszközök stb.) Beviteli és kiviteli eszközök (billentyőzet, egér, nyomtató). A mikroszámítógépek beviteli eszközei közül a billentyőzet és az egér az, amelyeket a leggyakrabban használnak a felhasználók. Nagyobb mennyiségő adat bevitelére a billentyőzet nem alkalmas, ezért ilyen célra más eszközöket kell használni. Billentyőzet: A billentyőzet a mikroszámítógép közvetlen irányítására, kisebb mennyiségő adat bevitelére használható. A 101/102 gombos változatnál külön számbillentyőzet van a numerikus adatok könnyebb bevitelére. A billentyők funkcionálisan több csoportba sorolhatók: - a billentyőzet legnagyobb részét, az írógép billentyőzethez hasonló felépítéső, alapkarakterek (betők, számjegyek, speciális karakterek)

billentyői alkotják - a numerikus adatok bevitelét könnyíti meg a számbillentyőzet, amely a billentyőzet jobboldalát foglalja el - a (101/102 gombos) billentyőzet felsı részét foglalják el a funkcióbillentyők, amelyek hatása az egyes felhasználói, alkalmazói programoknál más és más - az alapkarakterek és a számbillentyők között helyezkednek el a képernyıkezelı billentyők, amelyek a kurzor mozgatására, a képernyı tartalom mozgatására szolgálnak - Egy másik csoportosítási lehetıség: karakterbillentyők funkcióbillentyők váltóbillentyők (shift, ctrl, alt), amelyek egy másik billentyővel együtt lenyomva módosítják az eredeti billentyő hatását kapcsolóbillentyők (caps-lock, num-lock, scroll-lock), amelyek tartósan módosítják egyes billentyő csoportok hatását A billentyőzet mőködése: A billentyőzet saját vezérlıvel rendelkezik, amely nem csak adatokat tud küldeni az alaplapon lévı billentyőzet illesztı felé,

hanem parancsokat is tud fogadni. A billentyőzet megszakítási rutin valamelyik billentyő lenyomásakor annak billentyőkódját átküldi a billentyőzet pufferbe. A lenyomott billentyő azonosítására egy sorszám szolgál és nem a karakter ASCII kódja, mivel ugyanahhoz a billentyőhöz több karakter is tartozik. Azoknál a kombinációknál, amelyek valamely funkcióbillentyőhöz tartoznak, az átküldött byte-ok közül az elsı 0 értéket, a második a billentyőkódot foglalja magában. Tetszıleges ASCII kódértéket (a 0 kivételével) bevihetı, az ALT billentyő lenyomásával és vele egyidıben, a számbillentyőzeten a decimális kódérték bebillentyőzésével. Mivel a 0 kódérték a funkcióbillentyők jelzésére van fenntartva, ezért azt nem lehet bebillentyőzni. Egér: Az egér az utóbbi idık grafikus képernyıinek kedvelt “mutató” eszköze, amivel a képernyı különbözı helyein lévı objektumokra lehet rámutatni és a pozíció

alapján, az egér billentyőivel vezérelni lehet az objektumhoz kapcsolódó rutint. Amíg az egérhez hasonló funkciójú botkormányhoz és fényceruzához beépített BIOS rutinok tartoznak, addig az egér kezelı rutinjait önálló és külön betöltendı meghajtó tartalmazza. Ezt a meghajtót az egér használata elıtt betöltve, az állandó jelleggel a memóriában marad a gép kikapcsolásáig. Mőködés szempontjából, az egérnek alapvetıen háromféle típusát használják: - mechanikus vezérléső egérnél két, egymásra merıleges görgırendszer mozgását érzékeli a berendezés és ennek jeleit továbbítja a gép soros portja felé - optikai vezérléső egér esetében, egy hálózatos rajzolatú egér alátéten mozgatva az egeret, egy LED fényének a visszaverıdését érzékeli a berendezés és továbbítja a processzor felé - opto-mechanikai vezérléső egér mőködése hasonló a mechanikus megoldásúéhoz, azzal a különbséggel, hogy az

egér elmozdulásával együtt elforduló hasított korongon fényt átbocsátva, az így kapott fényimpulzusokat érzékeli a berendezés. 21 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. Nyomtatók: A nyomtató a mikroszámítógépek azon kimeneti eszköze, amely az ember számára közvetlenül olvasható, értelmezhetı eredményt szolgáltat. A mikroszámítógépek mellett kisebb teljesítményő nyomtatókat használnak, amelyeknél fontos követelmény a jó minıségő nyomtatási kép. A leggyakoribb nyomtatók az alábbi csoportokba sorolhatók: - karakterenkénti nyomtatók (teljes karaktert nyomtatók, mátrixnyomtatók), amelyek egy-egy karaktert kiírva a nyomtatófejet egy pozícióval jobbra, vagy balra viszik - sornyomtatók, amelyek egyszerre egy teljes sor összes karakterét kiírják. Emellett beszélhetünk karakter és grafikus nyomtatókról. Ez utóbbiak esetében pontonként történhet a nyomtatás. Nyomtatótípusok: -

karakternyomtatók: A margarétakerekes nyomtatók esetében a karakterek képei egy forgó, hasított tárcsa (olyan, mint a margaréta virág) szélén helyezkednek el. A forgó tárcsa mögött elektromágnessel mőködtetett kalapács helyezkedik el, amely a szükséges idıpontban a tárcsa valamelyik szirmát az elıtte lévı papírhoz nyomja. A betőt tartalmazó tárcsa és a papír között található a festékszalag A margarétakerekes nyomtatók igen jól minıségő kiírást eredményeznek, különösen karbonszalag alkalmazásával. A nyomtatás sebessége: 30-50 kar/sec. - mátrixnyomtatók: A nyomtatófejben, egy oszlopban 9, vagy 24 nyomtatótő található, amelyek egyenként vezérlehetık. A karakterek alakját egy 5*7-es, 911-es, vagy 1823-as pontmátrix pontjaival rajzolja ki a nyomtató, egyidıben mindig csak egy oszlop pontjait nyomtatva. Az egy sorban irható pontok (dot) száma adja a felbontás és így a nyomtatás finomságát. Az alkalmazott felbontási

pontszám 60-144 dpi (dot/ inch) Az egyes nyomtatóknál használt NLQ (near letter quality), vagy LQ (letter quality) nyomtatási formánál a jobb minıség, a folytonos vonal látszatának elérése érdekében, többszörös nyomtatást valósítanak meg ½-1 pontnyi eltolással az egyes nyomtatások között. A nagyobb tőszámú nyomtató használata természetszerőleg lassúbb nyomtatást eredményez a nyomtatásai kép javulása mellett. A nyomtatók sebessége 100-200 kar/s nagyságrendő, amelynek értéke NLQ, LQ minıség mellett a harmadára, negyedére eshet vissza. - tintasugaras nyomtatók: A tintasugaras (ink-jet), buborék (bubble-jet) sugaras nyomtatók igen jó minıségő nyomtatási képet eredményeznek, szinte zajtalanul és alacsonyabb áron, mint a lézernyomtatók. A nyomtatási kép több tucat fúvókán keresztül kilövellt, porlasztott apró tintacsepp hatására alakul ki a papíron. A nyomtatóval jó minıségő grafikus nyomtatás is elérhetı,

akár színesben is A nyomtatási finomság szokásos értéke 300*300 dpi, a sebessége pedig igen széles skálán 4-5 lap/s körül mozog. - lézernyomtatók: A mikroszámítógépek környezetében a legjobb minıségő nyomtatási lépet a lézernyomtatók adják. A lézernyomtatók mőködési elve hasonlít az elektrosztatikus elvő másolók mőködéséhez. A nyomtatóban egy kb 1000 V-ra feltöltött, fényérzékeny bevonattal rendelkezı forgó henger van. A forgó henger felületét végigpásztázza egy lézersugár, amit a nyomtatandó kép jelével modulálnak. Ahol fénysugár éri a hengert, ott a fénysugár erısségének megfelelı mértékben a henger felülete elveszti a töltését. A forgó henger felülete elhalad a finom festékport tartalmazó kazetta elıtt, amelybıl a töltéssel arányos mennyiségben festékpor tapad a henger felületére, amelyet rányom a papír felületére. A papír főtött hengerek között halad át, amelyek a festékanyagot

“ráégetik” a papírra A forgó henger felületét a nyomtatás után letisztítják és így alkalmas lesz a következı lap nyomtatására. A nyomtatás elıtt a teljes lap tartalmát pontokra bontva elı kell állítani, hogy a lézersugarat megfelelıen vezérelni lehessen. A nyomtatási kép elıállítása többféle módon történhet: - - - a nyomtató saját processzorral rendelkezik, amely a számítógéptıl kapott kiiratandó adatokat átalakítja a szükséges ún. bittérképes formába, azaz elkészíti a kiiratandó lap teljes képét pontokra bontva Ennek a módszernek elınye, hogy a számítógép és a nyomtató között viszonylag alacsony (2000-8000 bit/s) adatátviteli sebesség szükséges, így a soros csatlakozón keresztül átküldhetık az adatok és a nyomtatás nagy mértékben függetleníthetı a számítógéptıl. Ugyanakkor a nyomtató saját vezérlıje gyakorlatilag egy kismérető számítógép, saját processzorral és memóriával.

Egy-egy lap bittérképes tárolása kb 1 MB memóriát igényel. a nyomtatási képet a számítógépben állítják össze és az elkészült képet továbbítják a nyomtatóhoz. Ennél a megoldásnál ugyan olcsóbbá válik a nyomtató, de ugyanakkor leköti a számítógépet a kép elıállításával, másrészt a szükséges adatátviteli sebesség lényegesen magasabb (1-1,56 MB/s), mint az elızı változatnál. a korszerőnek tekinthetı megoldás a nyomtatási képet egy közvetítı nyelv, a PostScript segítségével írja le és ezt az elıírást továbbítja a nyomtató felé, amely ennek értelmezésére képes és ennek alapján alakítja a végleges nyomtatási épet. 22 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A lézernyomtatók teljesítménye változó, a mikroszámítógép mellett használt nyomtatók 8-15 lap/sec sebességgel mőkıdnek. - hıpapiros nyomtatók : speciális papírt igényelnek, manapság már ritkaság, de

faxokban még található ilyen technológia. Hátránya, hogy a papír több év után nehezen olvashatóvá válhat, nagyon ügyelni kell az ilyen dokumentumok tárolására. Besárgulhat a papír és a szöveg is veszít erejébıl Elınye viszont, hogy nem kell festékanyag utánpótlással veszıdni, csak beletesszük a papírt és kész. Ideális a titkárnıknek ☺ 3 dimenziós nyomtatás A 3 dimenziós nyomtatás már napjainkban is létezik, de egyenlıre csak a nagy cégek engedhetik meg maguknak, hiszen több millió forintba kerül, de 2010-12-körül akár magánszemélyeknek is elérhetıvé válik ez a technológia. Ma még inkább csak autógyárak és építészek használják A térbeli nyomtatók általában tizedmilliméter vastagságú lapokból állítják össze a kívánt tárgyat. A leggyakoribb mőködési elv szerint a por állagú alapanyagot egy henger felületére viszik fel, majd ebbe lézer égeti bele a tervrajznak megfelelı ábrát. Ahol a lézer

nem érte a felületet, ott a por por marad és könnyen eltávolítható - ahol érte, ott megszilárdul, és így a hengerrıl a kívánt tárgy egy vékony szelete kerül le, amit már csak össze kell ragasztani a többivel, amit szintén a nyomtató végez. Mőködés közben videó: http://www.3dnyomtatashu/frequent FDMprocesshtml A 3D-nyomtatók gyártói az internetrıl pénzért letölthetı, majd szabadon módosítható modellekben látják a nyerı üzleti modellt. A Fabjectory nevő cég a játékosokat célozza, a Second Life és a World of Warcraft üzemeltetık egy online játékok karaktereirıl egyedi "szobrokat" készítı szolgáltatásban látják a jövıt. Vetélytársuk, az IdeaLab még tovább vinné ezt a vonalat. "Képzeld el, hogy felmész a Mattel oldalára, letöltesz egy Barbie-modellt, hozzárendeled a lányod fényképét, kiküldöd a nyomtatóra, és máris kész a gyereknek a tökéletes ajándék!" - fantáziált a cég vezetı

marketingese. Optikai lemezek Az optikai jelrögzítés valamilyen formáját alkalmazó eszközök az utóbbi néhány évben terjedtek el, már ma is igen széles körben. Az adatrögzítés a korong felületén egy spirális pályán, lézersugárral kialakított digitális jelsorozat által történik. http://www.freewebhu/hmika/Lexikon/Html/OptTarolhtm CD-ROM: A mesterlemez felületére a rögzítendı jelsorozatot lézerrel beégetik. A 0,5 µm átmérıjő lyukak és közbülsı szakaszok váltakozása adja az eltárolt adatokat (lyuknem lyuk átmenet = 1). A mesterlemezrıl készül a negatív nyomóforma, amellyel a pozitív lemezt préselik mőanyagból. Az adatrögzítés spirális pályán történik, a jelsőrőség állandó. Emiatt a fordulatszám 250-500 f/p közt változik 23 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. CD-RW: A jelrögzítés magneto-optikai elven történik. A felületet speciális fémmel borítják be (gadolinium,

terbium), mely alacsony hımérsékleten nem mágnesezhetı, felmelegítve viszont igen. A jel felviteléhez felmelegítik a fémréteget, majd felmágnesezik a kívánt irányban. Leolvasáskor a polarizációnak megfelelıen a visszavert lézerfény iránya változik. Adatrögzítés: A Cd olvasása nagy hibaaránnyal jár, ezért - minden byte-ot 14 bitre egészítenek ki hibajavító kóddal; - az adatot csoportokba rendezik, és ellenırzı mezıkkel látják el; - a csoportok keretet, azok blokkot alkotnak. - Az adatcsoporton belül az egyes byte-ok nem követik egymást; - A rögzítés keresztben átszıtt Reed-Solomon hibajavító eljárás segítségével történik. A keresztben átszövés a hosszú csoportos hibákat több rövidebb hibára darabolja fel, míg a Reed-Solomon kódolás feladata a hibajavítás. A keresztszövés lényege, hogy a forráskódból két kódolási eljárással kapjuk meg a felírandó adatokat, és a két kódolás késleltetés és átszövés

iktatódik be. Az átszövés azt jelenti, hogy a felírandó adatokat nem egymás után, hanem valamilyen algoritmus szerint kevert sorrendben írjuk fel. Ez azzal az elınnyel jár, hogy a csoportos hiba egyes bájtjai, az átszövés visszaalakulása után egymástól távolra kerülnek, és egyedi bájthibák lesznek. Kompaktlemeznél forráskód 24 bájtos, melybıl a C2 kódoló 28 bájtos adatot állít elı. Átszövés után a C1 kódoló a 28 bájtos bemenı 32 bájtos kódot állít elı, azaz a 28 bájthoz további négy bájtot tesz hozzá Ha a lemezrıl beolvasunk egy blokkot, elıször az elsı 14 bites csatorna adatból dekódoljuk az alkód bájtot. Ezután a keret 24 adatbájtját és a 8 hibajavító bájtot átadjuk az elsı Reed-Solomon dekódernek (C1). Ez a dekóder 4 hibajavító bájtot használ fel, és a 32 hibás bájtból (24 adat + 8 hibajavító) csak kettıt tud javítani. Ha nem fordul elı nem javítható hiba, az adatok egyszerően továbbadódnak Ha

van ilyen hiba, az adatok hibás jelzést kapnak. A 24 adatbájtot és négy hibajavító bájtot bájtonként különbözı mértékben késleltetik, mielıtt a második Reed-Solomon dekóderre jutnak. Ezek a késleltetések az adatok átszövésében azt eredményezik, hogy a hosszú adathibák egyedi hibákra tagolódnak szét. A késleltetések nagyságára jellemzı, hogy 450 bájt hosszú hiba is javítható A második Reed-Solomon dekóder a négy hibajavító bájtot felhasználva további hibákat javít a keret 24 adatbájtjában. Ennél a pontnál az adatok átszövésének visszaállítása befejezıdik, és helyreáll a bájtok eredeti sorrendje. Egyéb perifériák: Monitor: az adatok grafikus vagy szöveges megjelenítésére szolgál. A monitoron a számítógép úgy jeleníti meg a képet, hogy az információkat elküldi a gépben lévı videokártyához, a kártya átalakítja azokat a monitort mőködtetı vezérlıjelekké, amelyek azután kábelen a monitorhoz

jutnak. A ma használt videokártyák és monitorok már jobb minıségő megjelenítést tesznek lehetıvé, mint a jó minıségő televíziók, és akár 16 millió színt is képesek ábrázolni. A hordozható számítógépeken LCD és TFT monitorokat használnak Plotter: (rajzgép) az eredmények grafikus megjelenítésére használatosak nyomtatott formában. A plotter karja a számítógép utasításának megfelelıen emeli fel a tollat és az utasítást követve rajzol egyenes vonalakat és íveket. A legnagyobb plotterek tintasugaras elven mőködnek és nagyon nagy mérető papírlapra is képesek rajzolni. Szkenner: rajzok, grafikák, fényképek vagy szöveg raszteres (bitképes) bevitelét teszi lehetıvé. A szkennerek videokamerához hasonló CCD fényérzékelıvel digitalizálják a képeket. A fehér fénnyel megvilágított képet egy mozgó tükör fókuszálja a fényérzékelıbe, mely színekre bontja, digitalizálja, majd átküldi a PC-nek. Digitális

fényképezıgépek: A digitális fényképezıgépek ugyanazt valósítják meg, mint a szkennerek. Az ilyen készülékek ugyanis a látott képet azonnal digitális képpé alakítják át, amelyet közvetlenül a számítógépbe, vagy kis mérető winchesterre képesek továbbítani. A fényképezés után össze kell kötni a fényképezıgépet a számítógéppel, majd letölteni a kész képet és a kép azonnal megtekinthetı a számítógép képernyıjén. Modem: A modem segítségével a számítógépet ráköthetjük a telefonvonalra. A külsı modemek külön készülékben helyezkednek el, mőködtetésükhöz külsı áramforrásra is szükség van és a számítógép soros portjára (csatlakozójára) kapcsolódnak. A belsı modemek csupán egyetlen bıvítıkártyából állnak, amelyet a számítógép belsejébe kell szerelni. A modemek a számítógépes adatokat olyan hangokká alakítják (modulálják), amelyek normál telefonvonalon is továbbíthatók. Ha a

telefonvonal másik végén szintén egy modemmel rendelkezı PC van, az a hangokat vissza tudják alakítani (demodulálni) adattá. Ezzel a módszerrel a gépünkön lévı bármilyen fájlt el lehet küldeni egy másik PC-nek. De mivel a telefonrendszereket nem nagy tömegő adat továbbítására fejlesztették ki, az ilyen adatátvitel eléggé lassú. Ma már minden modem képes 56000 bps sebességgel továbbítani. 24 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A9. A számítógép sínrendszerének feladata és logikai felépítése, a mikroszámítógépek PCI sínen alapuló architektúrája (a belsı és a helyi rendszersín feladata és a csatlakoztatható eszközök, sínvezérlés, sínfoglalás) Sínrendszer elhelyezkedése (és az általuk összekapcsolt területek) alapján • külsı (helyi sín, rendszersín, nagygépeknél memóriasín) • belsı (címsín, adatsín) A sínrendszer felépítése alapján • címsín • vezérlısín

• adatsín • elválasztó sínvezérlı Sínvezérlés alapján • szinkron • aszinkron Sínfoglalás alapján • párhuzamos • soros Jogosultság megszerzése alapján • centralizált módon • decentralizált módon A mikroszámítógép sínrendszere (buszrendszere) egy több tucat vezetékbıl álló vezetékrendszer, amelyen az adatok, vezérlıjelek, eszközcímek meghatározott módon vihetık át. A sínrendszer szabályozott módon köti össze a számítógép különbözı részeit. A gép különbözı egységei egymás számára, csak ezen keresztül továbbíthatnak adatokat, vezérlı jeleket. Mivel minden eszköz ugyanarra a sínrendszerre kapcsolódik, az átvitel létrehozásakor: meg kell oldani az adatátvitelben résztvevı eszközök kijelölését, meg kell határozni az adatátvitel irányát, meg kell oldani a kapcsolatban résztvevı eszközök mőködésének összehangolását. A sínrendszer használatának elınye, hogy a szabványosított

jelhasználat és vezetékkiosztás miatt könnyen cserélhetık a csatlakoztatott eszközök, illetve azok vezérlı kártyái és így gyártótól, géptıl függetlenné válik azok használata. A sínrendszer elhelyezkedése szerint két nagy csoportba osztható: Belsı sínrendszer: a processzoron belüli egységek összekötésére szolgál, órajele megegyezik a CPU órajelével Külsı sínrendszer: a processzor és az azon kívül lévı egységek összekötésére szolgál Az összekapcsolt területek alapján Belsı sínrendszer Kialakítását az elérni kívánt teljesítmény szabja meg. Nagyobb teljesítményő processzorok esetében, az átvitel gyorsítása érdekében, 3-sines rendszer kialakítása a célszerő, amelynél a címsín mellett, külön adatsín van írásra és olvasásra. Ezzel a közel egyidejő írás és olvasás megoldható Egyszerőbb megoldást ad a 2-sines (adat és címsín) rendszer, amely általánosan elterjedt megoldás a processzorok

körében. A közös adat és címsín használata csak a nagyon egyszerő, célfeladatokra használt processzoroknál alkalmazott. Külsı sínrendszer az összekapcsolt területek alapján lehet: helyi sín (local bus), amely a processzorhoz közvetlenül kapcsolódó részt jelenti, tehát a processzor hajtja meg. Erre kapcsolódnak azok az eszközök (pl. memória, grafikus kártya), amelyek esetében a gyorsaság lényeges; rendszersín (system bus), amely a processzort köti össze egy sínmeghajtó közbeiktatásával a gép egyéb részeivel, elsısorban az I/O eszközökkel; memóriasín (memory bus), amely nem minden esetben képez önálló részt, de nagyobb rendszernél célszerő leválasztani a rendszersínrıl a memória területét. 25 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. Sínvezérlés (buszvezérlés) módjai: szinkron ütemezéső buszok, amelyek saját órajellel rendelkeznek és ezek ütemei szabják meg a buszon zajló

folyamatok, mőveletek idıbeli lefutását; aszinkron ütemezéső buszok, amelyek saját órajellel nem rendelkeznek és a folyamatok és mőveletek lefutását, az egymást követı elemi lépések befejezése szabályozza. Sínhasználat (buszhasználat): A sínt egyidıben csak egy eszközpár használhatja. A busz használatát valamelyik eszköz kezdeményezi, amelyet aktív eszköznek (master) neveznek, szemben a kapcsolatban résztvevı másik, passzív eszközzel (slave), amely csak fogadja és végrehajtja az aktív eszköztıl származó vezérléseket. A mikroszámítógépeknél a busz irányítását megszerzı eszköz: a processzor, vagy valamelyik DMA-t alkalmazó I/O eszköz lehet. Minden busztevékenységhez meghatározott idıtartam, ütemszám szükséges. Azt az idıtartamot, amely egy adatátviteli folyamat lefutásához - egy következı tevékenység megindítási lehetıségéig - kell, buszciklusnak (bus cycle) nevezzük. Mind a szinkron, mind az aszinkron

mőködési mód mellett az összekapcsolt eszközöknek összehangolt módon kell mőködniük. Sínfoglalás (buszfoglalás - bus arbitration): Az adatátvitelek lebonyolításához egyidıben több aktív eszköz (master) is igényelheti a busz használaát. Ilyenkor valamilyen eljárással el kell dönteni, hogy melyik eszköz kapja meg elıször a buszhasználat jogát. A buszhasználat jogának eldöntésére szolgál folyamatot nevezik buszfoglalásnak, busz arbitrációnak (bus arbitration). A sínfoglalás iránti igények kiszolgálása két módon történhet: párhuzamos kiszolgálási mód: alkalmazásakor minden eszköz önálló buszkérı és buszengedélyezı vezetékkel rendelkezik. A beérkezı igényeket a vezérlı logika sorolja, dekódolja és a legmagasabb prioritású eszköz számára engedélyezi a busz használatát. soros kiszolgálási mód alkalmazásakor az eszközök sorba vannak kötve és a lánc mentén az elhelyezkedésük szabja meg, hogy mikor

kaphatják meg a sín használatát. Amelyik eszköz a legközelebb van a vezérlıhöz, annak a prioritása a legmagasabb. a processzor szokásosan a legalacsonyabb prioritású azért, hogy minden eszköz megkapja az eszközt, ha igényli a kiszolgálás egyik változata a lekérdezéses (polling) rendszer, amelynél a vezérlı logika sorra lekérdezi az eszközöket a buszfoglalás iránti igényükrıl. Itt a lekérdezés sorrendje adja a soros láncot Mindkét esetben a jogosultság megállapítása történhet: centralizált módon, amely esetben egy központi prioritásvezérlı logika szabja meg a hozzáférés sorrendjét decentralizált módon, amely esetben a priorizáló logika elosztott formában valósul meg, az egyes eszközök vezérlıi által bıvebben: http://hu.wikipediaorg/wiki/S%C3%ADnrendszer Az ISA külsı sínrendszert fejlesztette tovább a 180 gyártó által elfogadott PCI (Peripheral Component Interconnector – külsı elem összekapcsoló) szabvány.

Ennek lényege, hogy a processzor és a PCI busz közé egy chip-et iktattak be, mely lehetıvé tette, hogy a buszrendszer a konkrét processzortól és annak sebességétıl függetlenül is mőködıképes legyen. A PCI (Peripheral Component Interconnector – Periférikus Alkatrész Csatlakozó) sínrendszer jellemzıi négy új megszakítás alaplapi eszközökhöz és a sínbe helyezhetı perifériákhoz 32-64 bites átvitel 33-66 MHz-es órajel 133-532 MB/s adatátviteli sebesség 5 és 3,3 V-os tápellátás A Plug and Play technológia támogatása A PCI busz alapkoncepciója az I/O egységek szabványos csatlakoztatását biztosító sínrendszer (I/O sín) és a processzortároló alrendszer (rendszersín) határozott szétválasztása volt. A 26 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. két buszrendszert az alaplapi vezérlıáramkör-készletben található PCI-Bridge (PCI-híd) áramkörök kapcsolják össze. A PCI buszhoz kapcsolt

eszközöket PCI-egységeknek (PCI-Agent) nevezik, ezekbıl maximum 10 db lehet. Ilyen PCI-egység lehet a SCSI adapter, a hálózati csatoló (például Ethernet), vagy egy monitorvezérlı kártya. A PCI Bridge lehetıvé teszi a sínrendszer "processzorfüggetlen" alkalmazását. A PCI Bridge képes a CPU-val teljesen párhuzamosan mőködni, ha a processzor ugyanakkor nem címzett meg egy PCI-egységet. Ekkor két PCI-egység a PCI Bridgen keresztül adatot cserélhet, miközben olyan program fut, amelynek például csak a cache-ben található adatokra van szüksége. Így a rendszermemória és egy I/O eszközvezérlı, vagy két I/O eszközvezérlı processzortól független adatcseréjét is biztosítja a PCI sín. Megnevezés Szélesség (bit) Sebesség (MHz) Sávszélesség (Mbájt/sec) 16 bites ISA EISA PCI PCI 2.1 16 32 32 64 8,3 8,3 33 66 15,9 31,8 127,2 508,6 A sínrendszer felépítése szerint (tartalmilag) három részre osztható: címsín, amely az

eszközök címzését szolgálja, azok címét továbbítja rajta a processzor, szélessége 32 (esetleg 64) bitnek megfelelıen ugyanennyi vezeték; adatsín, amelyen keresztül a továbbítandó adatot küldi, vagy fogadja a processzor. Az adatsín szélessége többnyire 32 (vagy 64) bit, illetve ugyanennyi vezeték; vezérlısín, amelynek vezetékeit a processzor a vezérlıjelek kiküldésére, vagy azok fogadására használja fel. A vezérlıjelek száma változó, általában 10-15 körül van minimálisan. A sínrendszerhez szorosan hozzátarozik a helyi sínt a rendszersíntıl elválasztó sínvezérlı (sínmeghajtó) egység (bus interface), amely egyrészt, a megfelelı nagyságú jeleket biztosítja a hosszabb rendszersín számára; másrészt, elválasztja az egyes sínrészeket egymástól, amelyek bizonyos mértékig egymástól függetlenül mőködhetnek; a helyi sín számára lehetséges a gyorsabb mőködés harmadrészt, a sínt vezérlı jeleket

szolgáltatja, szabályozza a sínfoglalásokat. A PCI sínrendszer továbbfejlesztésre került és PCI Express (PCIe) névre keresztelték A PCIe a PCI-hoz hasonlóan az OSI Hálózati Modell alsó négy rétegét implementálja (Fizikai, Adatkapcsolati, Hálózati és Szállítási réteg), a legfelsı réteg megvalósítása a két sín esetén kompatibilis, igy az alkalmazások mindkét esetben ugyanazt a folytonos címzési modellt használhatják. A PCIe esetében a fizikai adatátvitel nagysebességő soros kapcsolaton keresztül történik, szemben a PCI sínnel, ahol 32- vagy 64 bites párhuzamos sínt alkalmaznak. A PCI-nál az eszközök osztoznak a sínen, mig a PCI Expressnél egy switchen keresztül érik el (point-to-point síntopológia) a sínt (minden eszköz úgy látja, mintha saját külön sínnel rendelkezne. A switch gondoskodik a point-to-point kapcsolatok létrehozásáról és a vezérli a sín adatforgalmát. A switch és az eszközök közötti

kapcsolatokat link-nek nevezik. Egy PCIe link duál szimplex, azaz az adó és a vevı két egyirányú csatornán keresztül forgalmaz. Minden link egy vagy több lane-bıl állhat Egy lane egy bájt egyidejő átvitelét teszi lehetıvé, ami a gyakorlatban körülbelül 2.5 Gbit/s adatátviteli sebességet jelent A PCIe 1, 2, 4, 8, 12, 16 és 32 lane-bıl álló linkek létrehozását támogatja. A switch alkalmazása lehetıvé teszi a rendelkezésre álló sávszélesség jobb kihasználását és az adatforgalom fontosság szerinti osztályozását A technológia rendkívül jól skálázható, így komoly módosításra várhatóan több évig nem lesz szükség. Az alacsony fogyasztás, illetve az energiatakarékossági funkciók támogatása elsısorban az eszközök által termelt hıt csökkenti, a bıvítıkártyák mőködés közbeni csatlakoztatásának, illetve cseréjének lehetısége pedig elsısorban a szerverek esetében lehet fontos tényezı. 27 Gábor

Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A10. Az INTEL mikroprocesszorok regiszterei (csoportosítás, felsorolás, felhasználás) A FLAG regiszter A processzorok ideiglenes adattárolási céljaira szolgálnak az általános célú, vagy meghatározott funkciójú regiszterek. A regiszterek a belsı sínrendszeren keresztül tartanak kapcsolatot a processzor más részeivel A regiszterek vagy szorosan kapcsolódnak a vezérlı és az aritmetikai egységhez, vagy egy több regiszterbıl álló tömb egyik egységét képezik. A regiszterek gyors mőködéső tárak, amelyek hossza általában az adatbusz szélességével egyezik meg. A legfontosabb regiszterek a következık: Általános célú: - AX: akkumlátor: Az aritmetikai és logikai mőveletek operandusait, vagyis mőveletek tárgyát képezı mennyiségeket vagy azoknak az eredményeit a CPU a központi regiszterében, akkumlátorában tárolja. A különbözı mőveleteket a CPU az akkumlátorban tárolt

adatokon, vagyis az akkumlátor tartalmán végzi el. - BX, CX, DX Címszámítás: - SI: forrás index - DI: cél index - az indexregiszterek szintén az operandusok címzését segítik elı, különösen adatsorozatok feldolgozásánál használhatók elınyösen. - BP: bázis mutató az operandusok címzéséhez felhasznált regiszter. A báziscím egy alapcím, amelyhez viszonyítva adhatjuk meg az utasításban az operandus helyét. SP (Stack Pointer): veremmutató regiszter, amely egy speciális tároló, a veremtároló legfelsı elemét jelöli ki. A veremtároló általában a fımemóriában van kialakítva, annak egy lefoglalt területét használja Adatokat csak a verem tetejére lehet tenni és csak onnét lehet levenni is. Ezt a tárolókezelési módot nevezik LIFO (Last-In-First-Out) módszernek. A veremmutató mindig annak a tárolóhelynek a címét tartalmazza ahol a következı adatot elhelyezi (push), vagy ahonnét a következı adatot leveszi (pop) a processzor.

Szegmentálás: - CS: kód szegmens - DS: adat szegmens - SS: verem szegmens - ES: extra szegmens - FS, GS Speciális: - IP: utasítás - PC: utasításszámláló regiszter (PC= Program Counter, vagy IP= Instruction Pointer), amely a soron következı utasítás memóriabeli címét tartalmazza mindig. Az utasításszámláló regiszter kezdı értékét, azaz a program elsı utasításának tárbeli helyét, kívülrıl kapja, a program indítása elıtt. Amennyiben a program utasításai szigorú egymásutánban követik egymást a tárolóban, akkor a PC tartalma mindig a következı utasítás tárbeli címét adja meg. Ha a programban elágazás következik be, akkor a vezérlı egység új értékkel, az elágazási utasításban levı címmel tölti fel a PC-t. - utasításregiszter (IR= Instruction Register) a vezérlı egység fontos része, amely a tárból kikeresett “lehívott” utasítást fogadja be arra az idıre, amíg a vezérlı egység az utasítás mőveleti

jelrésze (opcode) alapján meghatározza az elvégzendı mőveletet és ennek alapján elindítja a végrehajtást vezérlı mikroprogramot. Az utasítás címrésze (az operandus(ok) tárbeli helyét adja meg) alapján ugyanakkor az operandus pontos tárbeli címe is kidolgozásra kerül. - pufferregiszter (buffer register), amelyek a processzor belsı adat és címsínjét választják el a külsı sínrendszertıl. - adatszámláló regiszter (DC= Data Counter): Az adatok kiolvasásakor vagy beírásakor azonosított memória rekesz címét az adatszámláló regiszter tárolja. Az adatszámláló regiszter mérete függ a mikroprocesszor által címezhetı memóriakapacitástól. Egy CPU-ban egy vagy több adatszámláló regiszter lehet Egy memória-rekesz tartalmához, vagyis az adatokhoz való hozzáféréshez tehát szükség van akkumlátorra, ahol az adatokat tárolni tudjuk - amelyek a további mőveletekhez szükségesek - és adatszámláló regiszterre, ahol az adatok

memória-rekeszének a címét tároljuk. 28 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. - FLAGS: állapotregiszter, amely vezérlı és ellenırzı jeleket tárol. A mőveletek végrehajtásának eredménye alapján bekövetkezı állapot jellemzıit tükrözi vissza a regiszter egy-egy helyi értéke, bitje. Ilyen jellemzı pl. - Zero: az eredmény nulla volta - Overflow: a keletkezett számérték túl nagy értéke - Carry: átvitel keletkezése - Parity: az eredményben levı 1-esek párosságát jelzi - Auxilary: közbensı átvitel az alsó 4 bitrıl a felsı 4 bitre - Sign: elıjel Egyéb flagek: - Trap: az utasítás végrehajtása után a processzor INT1-es megszakítást hoz létre - Interrupt: a hardver megszakításkérelemek letiltása Az állapotregiszternek lehetnek olyan bitjei, amelyek valamilyen vezérlési elıírást tárolnak, mint pl. valamely részegység használatának engedélyezése, megszakításkérés kiszolgálásának

letiltása. Ha a különbözı funkciójú bitek száma nagy, akkor önálló vezérlı regiszter (control register), állapotjelzı regiszter (status, vagy flag regiszter) használata a szokásos. 29 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A11. A verem (stack) fogalma és mőködése, a veremmutató regiszter A vermet kezelı assembly utasítások. A szubrutin fogalma, célja A szubrutinra vonatkozó assembly parancsok A verem olyan adatszerkezet, melybe bevinni elemet az eddig már bent lévı elemek után lehet. Az elsı elemet a verem aljára teszem, a következıt ennek a tetejére és így tovább. Veremrıl lévén szó, mindig csak a legfelsıt látom. Egy verembıl mindig csak a legutoljára bevitt adatelemet tudom kiemelni Az, hogy kiolvasok egy elemet a verembıl, az egyben az adott adatelemnek az eltávolítását is jelenti. A verem a fıtár egy kijelölt memóriaterülete, vagy egy regisztertár a CPU-ban (kaszkád verem). A verem

(stack) LIFO szervezéső tárolóhely: az utójára beírt adatot lehet elıször kiolvasni. A verem úgy mőködik, mintha oszlopba rendezett regiszterekbıl állna és csak az oszlop tetején lévı regiszteren keresztül lehetne abba adatokat beírni vagy ebbıl adatokat kiolvasni. A verem tetején lévı rekeszre mutat a veremmutató Ha egy adat bekerül a stack-be akkor a veremmutató az SP 2-vel csökken, ha kiveszünk belıle egy elemet akkor a veremmutató értéke 2-vel nı, mivel a stack szavas szervezéső. Szubrutin hívásakor (CALL) a visszatérési címet helyezi el a stack-ben és a szubrutinból való visszatéréskor (RET) innen olvassa ki a visszatérési címet. Kaszkád verem: A verem egy másik szervezéső formája a kaszkád verem. Ez olyan verem, amely a CPU-n belül van, és meghatározott számú regiszterbıl áll. Az adatbeírás/olvasás itt is kizárólagosan a verem tetején történik, itt azonban nincs szükség SP-re, ugyanis minden beírás után

minden adat eggyel lejjebb ugrik. Amennyiben a legalsó rekeszben volt adat, akkor az elvész. A kiolvasás ennek a fordítottja A legfelsı adat kiolvasását követıen minden egyes adat eggyel feljebb ugrik. A vermet kezelı assembly utasítások: PUSH op a 2 byte-os operandust a stack-be írja, (az SP értéke 2-vel csökken) PUSHF a STATUS stack-be íródik. Ez az utasítás a flag-ek mentésére szolgál POP op a 2 byte-os operandus felülíródik a stack tetején lévı (WORD) szóval, az SP által címzett szó átmásolódik, majd az SP 2-vel megnı. POPF a stack tetején lévı szó felülírja a STATUS-t. Ezzel az utasítással tudjuk a flag-ek tartalmát helyreállítani Ezek az utasítások fı haszna az, hogy a szubrutinok az általuk használt regisztereket elmenthetik, majd futásuk befejezésekor visszaállíthatják anélkül, hogy erre statikus memóriaterületet kellene igénybe vennünk. Figyelni kell a visszaállítás sorrendjére (fordított) is. Minden PUSH-nak

kell lennie egy POP párjának is mert különben hibásan dolgozhat a program. Ha például egy szubrutint hívunk és utána PUSH nélkül hívunk meg egy POP-ot akkor a szubrutinhívás helyett egy ugró utasítás lesz. (Elveszik a visszatérési cím) Szubrutin: Olyan programrész amelyek a feladatban többször elıforduló, ismétlıdı folyamatokat takar (alprogram). Ilyenkor ezt csak egyszer írja meg az ember úgy, hogy bárhonnan elérhetı és ha szükséges megfelelıen paraméterezhetı legyen. Olyan utasítások sorozata, melyet a program több részérıl elérhetünk, és csak egyszer kerül tárolásra. Tehát az utasítássorozatok redundanciájának feloldását oldja meg. A hívás visszatérési címe a veremben tárolódik Ez alkalmat ad az úgynevezett rekurzív szubrutinok alkalmazására, melyek önmagukat gívják meg. Ez a módszer a bonyolultabb (matematikai-rendezési) problémák feloldását segíti elı. Mivel a lokális változók is a veremben kapnak

helyet, ezért tud „elszállni” a program, ha a lokális változókat felülírjuk, hiszen ilyenkor felülíródhat a visszatérési cím is, így visszatéréskor máshova ugrik a vezérlés. Szubrutinhívási és visszatérı utasítások CALL op Az IP pillanatnyi értéke a (s soron következı utasítás virtuális címe) a stack-re kerül, majd IP (Instruction Pointer) utasításszámláló felülíródik az “op”-al, mely lehet direkt cím vagy tetszıleges címzési móddal elért regiszter- vagy memória operandus. Lehet rövid (szegmensen belüli) vagy hosszú (szegmensközi) szubrutinhívás. 30 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. RET [konstans] Konstans megadása nélkül: A stack tetején lévı értékkel felülírja az IP (utasításszámlálót) és így a program visszatér a szubrutin hívása utáni sorra és onnan fut tovább a program. Konstans megadásával: ugyanúgy mőködik mint a RET de a visszatérési cím

kiolvasása után az SP-t a konstans értékével megnöveli. Ezzel a módszerrel lehet a szubrutinnak paramétereket átadni és a szubrutin végrehajtása után a paramétereket a parancs automatikusan kiveszi a stack-bıl. (Így mőködik a C nyelv függvény paraméterátadása). A szubrutin meghívása elıtt az átadni kívánt paramétereket lementi a verembe és meghívja a szubrutint. A szubrutin végrehajtása után a visszatéréskor a program az átadott paramétereket is kiveszi a verembıl. Egyes megszakítások is ide sorolhatók mivel a megszakítás végrehajtása után a rendszer onnan fojtatja a program végrehajtását ahol a megszakítás történt. A különbség az, hogy a szubrutinhívást a programozó elıre betervezte, a megszakítás hívása nem elıre tervezett, hanem valamilyen esemény bekövetkeztének a hatására jön létre. 31 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A12. Az IBM PC gépek megszakítási rendszere

(vektortáblázat, NMI, IRQ, INT) Megszakítások: - Szoftver megszakítás - Hardver megszakítás Esemény csoportosítása keletkezés szerint: - Szinkron várható - Aszinkron várható - Aszinkron váratlan Maszkolás - Maszkolható megszakítás Nem maszkolható megszakítás Megszakítási kérelem helyének meghatározása - Szoftver módszer - Hardver módszer - Egy megszakítási vonal esetén - Több megszakítási vonal esetén - Vektoros módszer Megszakítások típusai: - NMI – nem maszkolható, kritikus eseményt jelez - IRQ – interrupt request – letiltható hardver megszakítás - INT – szoftvermegszakítás Megszakítások: A számítógépek munkájának összehangolásában segít a gépek megszakítási rendszere. Igen gyakran keletkeznek olyan események amelyek a feldolgozás szempontjából váratlanok. Ezeket az eseményeket is kezelni kell, úgy, hogy a feldolgozás egészét a legkevésbé zavarja. Kiváltójuk lehet: - a szoftver - valamilyen

futás közbeni hibával (osztás nullával, túlcsordulás stb.) Ezek szinkron események, kezelésére a processzor egy kiszolgáló rutint indít el - vagy a hardver - pl. valamelyik periféria kezdeményezi adatátvitel lebonyolításának idejére Ezek aszinkron események. Esemény csoportosítása keletkezés szerint: - szinkron (várható) események - meghatározható helyen, idıpontokban ugyan ott keletkeznek pl. adatbeolvasás, kiírás. - aszinkron várható események - program futása során várható, de idıpontjuk szempontjából ismeretlen, váratlan események pl. DMA adatátvitel - aszinkron váratlan események - idıpontjuk ismeretlen. Például: áramkimaradás, hardverhiba Az ilyen események kezelésére szolgál a megszakítási rendszer. A megszakítási kérelem egy jelzés a processzornak valamely esemény bekövetkeztérıl. A megszakítás a futó folyamat felfüggesztése a megszakítás kérelem hatására, annak kiértékelésére, kiszolgálására.

A kiszolgálásra egy hardver-szoftver együttes szolgál, amely együttesen végzi el a szükséges tevékenységeket. Ez a megszakítás kérelem kiszolgálása Maszkolás Egyes eszközök esetében a megszakítás lehetısége engedélyezhetı vagy tiltható. Az engedélyezés vagy tiltás egy regiszter bitjeinek a beállításával történik. Ezt nevezzük maszkolásnak Vannak maszkolható (kiszolgálásuk letiltható) és nem maszkolható (nem tiltható le, ezek mindig érvényre jutnak) megszakítások. (NMI - Non Maskable Interrupt - nem maszkolható megszakítás) Két forrása lehet a megszakítási kérelemnek: - szoftver: a megszakítás kérelmek programból lettek kezdeményezve, ezek nem maszkolhatóak - hardver: a megszakítás kérelmek többsége maszkolható, de vannak nem maszkolhatóak is, például valamilyen súlyos hardverhiba esetén 32 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A megszakítások kiszolgálásánál több kérdés

van, amit meg kell oldani: • keletkezési hely megállapítása, melyik eszköz kezdeményezte • megszakítás lehetıségek szabályozása, megszakítások maszkolások • több egy idıben történı megszakítási kérelem prioritásának a szabályozása • a többszörös megszakítás-kiszolgálás megoldása, az idıközben érkezı újabb kérelmek kezelése A megszakítási kérelem keletkezési helyének megállapítására két fı rendszer alkalmazható: szoftver és hardver úton történı megállapítás lehetısége. Szoftver módszerek: egy rutin sorra megvizsgálja a megszakítás kérelem szempontjából szóba jöhetı eszközök állapotjelzıjét, és ahol szükség, ott elindítja a megfelelı kiszolgáló programot. Ezt nevezik lekérdezéses megszakításnak. Hardver módszerek: egy megszakítás-vezérlı szabályozza - programmal vagy anélkül- a beérkezı kérelmek kiszolgálását. A mikroszámítógépek megszakítás rendszerei, vezérlıi egy

vagy több megszakítás vezetékkel rendelkeznek. - Egy megszakítás vonal esetén a keletkezési hely meghatározása történhet szoftver úton, lekérdezéses módszerrel. A hardver úton történı meghatározás sorosan történik A visszaigazoló jel (IACK) a kiszolgálást kérı eszköztıl már nem halad tovább. - Több megszakítás vonal esetén minden eszköz saját megszakítást kérı vezetékkel rendelkezik, ezzel a kérelem helye egyértelmően megállapítható. - A vektoros módszer alkalmazása a legáltalánosabban használt forma. A megszakítását kérı eszköz a kiszolgáló rutin kezdıcímét határozza meg az alábbi módok valamelyikével: • a megszakítást kérı eszköz egy sorszámot ad át a processzornak, amely a kiszolgáló rutinok kezdıcímeit tartalmazó táblázatban kijelöli a megfelelı kiszolgáló rutin kezdıcímét. Ez a módszer a vektoros megszakítás kiszolgálás a legelterjedtebb módszer. A rutinok kezdıcímeit tartalmazó

táblázatot megszakítási vektortáblának nevezzük. A megszakítási vektortábla a memóriában a 00000h - ás címen kezdıdıen van tárolva, tehát a memória kezdetén. Ez 255 darab 4 bájtos címet tartalmaz, tehát 1Kb helyet foglal! • ugyanaz az eljárás mint az elızı esetben, annyi különbséggel, hogy a vektortáblát a processzor tárolja. Ez az autovektoros eljárás. A megszakítási kérelmeket általában valamilyen prioritási elv alapján szolgálják ki. A prioritási sorrend megállapítása két módon történhet: - szoftver úton, a kiszolgáló rutin segítségével - és hardver és szoftver együttes alkalmazásával, a megszakítási vezérlı alkalmazásával (ez a jobb módszer) A megszakítási rendszer lehet egyszintő vagy többszintő: Az egyszintő megszakítás rendszerben nincs lehetıség a kiszolgáló rutin megszakítására egy újabb megszakítás által, többszintő megszakítás rendszerekben a megszakítást kiszolgáló rutin is

megszakítható, de csak bizonyos szabályok betartásával: - A kiszolgáló rutin a vele egyezı, vagy nála alacsonyabb prioritású kérelmeket letiltja - A kiszolgáló rutin a folyamat kezdetekor ideiglenesen alacsonyabb prioritási szintre sorolja magát - A kiszolgáló rutin ideiglenesen új prioritásokat rendel az egyes eszközökhöz, és így a kiszolgálás alatt más prioritási rend érvényesül Az INTEL processzorok alaphelyzetben kétszintő megszakítási rendszerrel rendelkeznek: egy maszkolható (INT) és nem maszkolható (NMI) megszakítási vonallal. Mivel ez a két megszakítási lehetıség a gyakorlati felhasználásban nem elegendı, ezért külön megszakítás-vezérlıt használnak amely 8 (illetve 2 darab vezérlı esetén 15) megszakítási kérelmet tud feldolgozni. A megszakítás bemenetek sorrendje egyúttal prioritási sorrendet is jelent. A processzorok valós üzemmódban a vektortábla, míg védett üzemmódban a megszakítási rutinok

deszkriptorait tartalmazó megszakítási deszkriptor tábla (IDT) alapján dolgozzák fel a megszakítási kérelmet. A megszakítások típusai prioritás szerint: NMI – nem maszkolható megszakítás: nem tiltható le, kritikus eseményt jelez IRQ – interrupt request: letiltható hardver megszakítás, külsı eszközök kezdeményezik INT – szoftver megszakítás: a programban kiadott ’INT sorszám’ utasítással a megszakítást kiszolgáló rutinra ugorhatunk (amit a hardver egység hív IRQ-val) 33 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A13. A mikroszámítógépek csatolói (az interfész fogalma, a soros és párhuzamos port és mőködése, a háttértár csatolók: SCSI és EIDE, a DMA adatátvitel) Interfész: A számítógép és a perifériák közti információátvitel céljából biztosítani kell az egyes egységek illesztését és a rendszer összehangolt mőködését. Ezért a számítógép a hardver eszközökhöz

vezérlı és illesztı (interfész) áramkörökön keresztül csatlakozik. Az interfész megadja a csatlakoztatási pontokat, a jelek fizikai és logikai jellemzıit és idıbeni lefolyásukat. Soros port mőködése: Az interfészt az RS-232C szabvány jelöli, tipikusan az egér és a modem csatlakozik rá. Az adatbitek a vezetéken egymás után kerülnek átküldésre. Egy vezetéken egyirányú átvitel valósítható meg A 0 szintnek +3-15, 1 szintnek –3-15 V közti feszültség értékek felelnek meg, így kb. 30 m-ig használható A PC 4 db soros illesztıt támogat (COM 1-4, vagy AUX 1-4). Az adatátvitel szinkron vagy aszinkron módon történhet. A szinkron adatcsere esetében az adó és a vevı különbözı sebességgel mőködhet, mert külön vezetékkel jelzik az érvényes adat meglétét a vezetéken. Aszinkron üzemmód esetén az adatjelek maguk végzik el a szinkronizációt, ekkor az adó és a vevı közel azonos órajelet használ. Az adatfolyamot START bit

elızi meg (0 jel), ezt követi 5-8 bit adat az alacsonyabbtól magasabb helyiértékőig, majd a paritásbit, ezután egy vagy két STOP bit következik (1). Ezek tartoznak egy adatkeretbe. A két órajelnek annyira pontosnak kell lennie, hogy a szinkronból ne essenek ki az átvitel alatt Párhuzamos port mőködése: Általában a nyomtató vagy a szkenner csatlakoztatását oldja meg. A kétirányú (EPP / ECP) változat 8 bit, az egyirányú 5 bit szélességben továbbítja az adatokat. SPP – (SErial Parallel Port) szabványos párhuzamos port, általában egy irányú EPP – (Enhanced Parallel Port) bıvített párhuzamos port ECP – (Extended Capability Port) kiterjesztett képességő port (DMA használatra van szükség) A PC 4 párhuzamos port létét támogatja (LPT 1-4). Az LPT 1 port neve PRN ECP adatátvitel: 1. A gazda az adatvonalra teszi az adatot és jelzi az adatciklust a HostClk magas szintre állításával 2. Ha a HostCLk alacsony szintre váltása jelzi az

érvényes adatot 3. A periféria a PeriphAck jel magasra állításával nyugtázza az érvényes adatot 4. A perifériába írjuk az adatot a HostClk jel magasra állításával 5. Ha a periféria kész a következı adat vételére,azt a PeriphAck jel alacsonyra állításával jelzi Háttértár csatolók: Minden merevlemezhez szükség van egy áramkörre, ami képes a meghajtót vezérelni. Többféle csatolótípus van forgalomban, ezek egyre gyorsabb átvitelt tesznek lehetıvé. Minden vezérlı rendelkezik egy önállóprocesszorral, amely a vezérlési mőveleteket végzi el. Ez képes arra is, hogy a meghajtó paramétereit figyelemmel kísérje és esetleg korrigálja azt. IDE csatoló: Az adatátviteli sebesség növelésének legjobb módja, ha a lemez és a meghajtó elektronika közti távolságot lecsökkentjük. Így akkor a legjobb a helyzet, ha a meghajtón van az elektronika Így született meg az IDE (Integrated Device Equipment) rendszer, melyet AT busznak is

neveznek. Az ilyen meghajtókban az elektronika is megtalálható, így a nagysebességő jelvezetékek hossza minimális., csak a bıvítısín jeleit kell a meghajtóig elvinni. Ezen a 16 bites párhuzamos interfészen a jelek már jóval kisebb sebességgel áramlanak Az IDE csatoló két IDE interfészes egység kezelését teszi lehetıvé. Az egyik meghajtót Master-nek, a másikat Slave-nek kell beállítani a meghajtón található jumper segítségével. A Cable Select beállítás esetén a kijelölés automatikusan megtörténik, ha a vezérlı, a meghajtó, és a kábel is támogatja ezt a módot. Az Ide merevlemezek kompatinbilisek a régebbi MFM és RLL kódolást alkalmazó winchesterekkel. Az illesztıkártya (v. az alaplap) és a meghajtó 40 eres kábellel van összekötve Az áramkör címdekódert, leválasztó áramkört, esetleg cache-t tartalmaz. EIDE csatoló: Az IDE meghajtó által kezelhetı max. winchester méret a macximális 16 fej kezelése miatt 504 Mb

volt Az EIDE meghajtó már 255 fejet képes kezelni, amivel a kapacitás 8,4 Gb-ra nı. (1024 cilinder * 16 fej 63 szektor * 512 bájt/szektor = 504 Mb) A tárolókapacitás növelésének kezelése az LBA (Logical Addressing Block) eljárással történik. Ez esetben a BIOS kérdezi le a merevlemez méretét, majd átalakítja a logikai blokkok számára, és az operációs rendszernek CHS (Cylinder – Head – Sector) formában ad át. 34 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. SCSI csatoló: SCSI = Smart Computer System Interface. A leggyorsabb merevlemezek ezt a csatolót használják, vagy ennek továbbfejlesztett verzióit: UltraSCSI és SCSI2 változatokat. A csatolót nem csak merevlemezek használhatják, hanem pl. szkenner, cd, nyomtatók is Az eszközök egy közös 50 eres szalagkábellel vannak felfőzve, és 1 vezérlıvel összesen 7 ilyen eszközt kapcsolhatunk egymáshoz. Az eszközöket sorosan kell felfőzni, ezért minden

eszközön található egy bemenet és egy kimenet A legutolsó eszközre egy lezáró ellenállást kell tenni, ez általában egy kapcsolóval vagy jumperrel is beállítható. Az eszközöknek egyedi címük van. A SCSI elméleti sebessége 5 MBájt/s, a SCSI-2-é 10 MBájt/s, a 32 bites SCSI-2-é 40 MBájt/s. Az Ultra SCSI 16 db perifériát kezel Soros ATA: A hagyományos (párhuzamos) ATA szabvány továbbfejlesztéseként létrehozott, hasonló elveken, de soros átvitellel mőködı csatoló háttértároló eszközök illesztéséhez. A soros ATA a párhuzamos ATA-val ellentétben egy kábelre kizárólag egyetlen merevlemez vagy más eszköz csatlakoztatását teszi lehetıvé, és mindössze négy vezetéket használ fel a kommunikációhoz, de ennek ellenére hasonlóan magas átviteli sebesség (>150 Mbájt/sec) elérését teszi lehetıvé. Soros SCSI: A Serial-Attached SCSI a Serial-ATA-tól abban különbözik, hogy például ismer olyan technológiákat, mint a

Dual-Porting és a Full-Duplex, maximum 128 különbözı eszközt rendelhetünk hozzá, nagyobb a teljesítménye és megbízhatóbb a mőködése. A Dual-Porting technológia lehetıvé teszi például, hogy egy SAS-winchestert akár két különbözı rendszer is használhasson. A SAS további elınye, hogy csatlakozói fizikailag megegyeznek a Serial ATA-éval. Átviteli sebessége eléri a 300 MBájt/sec iSCSI : A Small Computer Systems Interface over IP Az iSCSI protokoll egy alacsony szintő protokoll, amely a SCSI-parancsokat TCP/IP-csomagokba ágyazza, így a hálózati adattároló rendszereket helyi vagy akár nagytávolságú hálózaton keresztül is képes elérhetıvé tenni. Az újabb hálózati technológiákkal akár 10 Gbit/s sebesség is elérhetı, így különleges (például Fibre Channel) tároló készülékek vásárlása nélkül is nagysebességő adatelérés valósítható meg, egyúttal építve a TCP/IP protokollkészlet bevált szolgáltatásaira. Az

iSCSI protokollt 2003-ban az IETF1 szabványosította, garantálva a különféle gyártók termékeinek együttmőködését. 1 IETF: Internet Engineering Task Force Feladata az Interneten használatos szabványok használatának szabályozása, illetve az Internet legfelsı szintő felügyelete. 35 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. Az iSCSI ügyfél-kiszolgáló architektúrák követ. Az „initiator” (kezdeményezı) szoftveres vagy hardveres lehet, és az ügyfél oldalán végzi az iSCSI protokoll kezelését. A „target” (cél) a kéréseket fogadó kiszolgáló végpont, ez vezérli az adattároló eszközöket. A „portál” ebben a környezetben egy iSCSI-munkamenet kezelésére alkalmas entitást jelent, ez tulajdonképpen az iSCSI-kiszolgáló. Kiszolgáló oldalon a portál egy IP-cím és portszám (az alapértelmezett port a TCP 3260) párost jelent, ügyfél oldalon pedig egy IP-címet. Egy-egy portálon belül több cél

is elérhetı lehet; egy célon belül több (logikai) egység is lehet, ezeket a LUN (Logical Unit Number) különbözteti meg. Az iSCSI protokoll a célok több útvonalon történı elérését is támogatja, ekkor egy-egy cél több portálon keresztül is hozzáférhetı, a különféle útvonalakkal redundáns hozzáférés valósítható meg. Az iSCSI rendszerben a kezdeményezınek és a célnak egyaránt van neve. iSCSI protokollal elérhetı lemez konfigurálásakor a nevet magunk adhatjuk meg, bizonyos szabályokat figyelembe véve. A mőködési tartományon belül minden címnek egyedinek kell lennie, de a konstrukcióból következıen ez egyben globális egyediséget is jelent. Kétféle név használatos, az iqn (iSCSI Qualified Name) és az eui (IEEE EUI-64 formátum). Az iqn nevek formátuma a következı: iqn.éééé-hhtlddomain:[tetszılegeselnevezés] ahol: – iqn a név formátumát jelzi – éééé-hh az az év és hónap, amelyben a megadott legfelsı

szintő tartománynév már érvényben volt – tld.domain az üzemeltetı szervezet által fenntartott tartománynév a legfelsı szintő és a másodszintő tartománynév megadásával, például com.pelda – a tetszıleges elnevezés elhagyható, a szervezeten belüli megkülönböztetést segíti Példa: iqn.2007-05compelda:szamlazasarchivumlemez1 Az eui neveket az IEEE-tıl globálisan egyedi azonosítót szerzett gyártók használhatják. Az eui nevek formátuma a következı: eui.azonosító ahol: – eui a név formátumát jelzi – az azonosító egy 16 hexadecimális ASCII karakterbıl álló azonosító Példa: eui.02004567A425678D A gyakorlatban a címzés a cél IP-címe alapján folyik, így névként tulajdonképpen bármi megadható, feltéve, hogy a fenti formai elıírásoknak megfelel. AoE: ATA over Ethernet Az ATA over Ethernetet (ATA Ethernet felett) talán úgy szemlélhetem, mint megoldást arra, hogy az IDE kábel helyére egy Ethernet hálózat kerüljön.

Ha az adattárolást leválasztjuk a számítógéprıl, és kihasználjuk a két rendszerelem közötti Ethernet rugalmasságát, akkor a lehetıségeket csupán képzelıerınk és új dolgok elsajátítására irányuló hajlandóságunk végessége fogja korlátozni. Az ATA over Ethernet egy az IEEE-nél 0x88a2 azonosítóval bejegyzett Ethernet hálózati protokoll. Az AoE alacsony szintő, jóval egyszerőbb a TCP/IPnél, sıt, az IP-nél is Az AoE protokoll annyira egyszerő, hogy olcsó vassal is használható Az AoE leírása csupán nyolc oldal hosszú. Érdemes ezt az egyszerőséget szembeállítani az iSCSI több száz oldalas, többek közt titkosítási szolgáltatásokat, forgalomirányítást és felhasználó alapú hozzáférés-kezelést taglaló leírásával. Érdekes megfigyelés, hogy a gyakorlatban a legtöbb esetben az iSCSI-t nem internet felett használják. Ha a csomagoknak egyszerően a szomszéd szekrényben található gépbe kell befutniuk, akkor a

nehézsúlyú TCP/IP protokoll használata túlzásnak tőnik. A TCP/IP tehermentesítés helyett tehát nem volna jobb, ha teljesen elhagynánk az internetes protokollt? Az ATA over Ethernet protokoll pontosan ezt teszi, kihasználva a napjainkban kapható olcsó kapcsolók által kínált lehetıségeket. A korszerő kapcsolók képesek a folyamvezérlésre, maximális átviteli sebességet és minimális csomagütközést biztosítva. A helyi hálózaton (local area network LAN) a csomagok sorrendje nem változik meg, és a hálózati hardver minden csomag sértetlenségét ellenırzı összeggel védi. Minden AoE-csomag vagy egy ATA meghajtónak szóló parancsot, vagy egy ATA meghajtótól érkezı választ hordoz. Az Operációs rendszer AoE illesztıprogramja minden AoE mőveletet elvégez, és a távoli lemezeket normál, blokkos eszközökként teszi elérhetıkké. 36 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A14. A virtuális tárkezelés

fogalma és legfontosabb eljárásai (lapozás és szegmentálás, a virtuális cím leképezése, a vezérlıegységek és cache tárak, MMU, TLB, a lapcsere stratégiái, LRU) A memória az egyik legfontosabb (és gyakran a legszőkösebb) erıforrás, amivel egy operációs rendszernek gazdálkodnia kell; fıleg a több felhasználós rendszerekben, ahol gyakran olyan sok és nagy folyamat fut, hogy együtt nem férnek be egyszerre a memóriába. Amíg a multiprogramozás nem jelent meg, addig az operációs rendszerben nem volt olyan nagy szükség a memóriakezelı részekre. A multiprogramozás megjelenésével azonban szükségessé vált a memóriának a futó folyamatok közötti valamilyen "igazságos" elosztására. A megoldást a virtuális memóriakezelés jelentette Ez úgy mőködik, hogy az operációs rendszer minden egyes folyamatnak ad a központi memóriából egy akkora részt, amelyben a folyamat még úgy ahogy mőködik, és a folyamatnak csak azt a

részét tartja a központi memóriában, amely éppen mőködik. A folyamatnak azt a részét, amelyre nincs szükség (mert például már rég nem adódott rá a vezérlés, és feltételezhetjük, hogy rövid idın belül nem is fog végrehajtódni) ki kell rakni a háttértárra (a diszken az ún. lapozási területre) Ez a megoldás azért mőködik, mert a programok legtöbbször egy eljáráson belül ciklusban dolgoznak, nem csinálnak gyakran nagy ugrásokat a program egyik végérıl a másikra (ez a lokalitás elve). A központi egység fel van szerelve egy úgynevezett memóriakezelı egységgel (MMU), amely figyeli, hogy olyan kódrészre kerül-e a vezérlés, amely nincs benn a központi memóriában (mert például a háttértárra van kirakva). Ha a memóriakezelı egység azt találja, hogy ez az eset áll fenn, akkor az operációs rendszert arra utasítja, hogy rakja ki a háttértárra a folyamatnak azt a részét, amely jelenleg a memóriában van, és azt a

részt hozza be a helyére, amelyre ezután szükség lesz. A virtuális memória kezelése leggyakrabban lapozással (paging) történik. Ekkor a virtuális memória (egy folyamat virtuális címtartománya, amit a CPU biztosít) fel lesz osztva egyenlo nagyságú részekre, ún. lapokra (pages) - a háttértár és a memória között legalább ennyi byte-ot fog az operációs rendszer átvinni (vagy ennek többszörösét). A fizikai memória pedig fel lesz osztva ugyanolyan mérető lapkeretekre (page frames) Ha mondjuk a virtuális címtartomány 128 KByte, és 64 KByte fizikai memória van a számítógépbe építve, akkor ez 32 lapot, és 16 lapkeretet jelent, ha a lapméret 4 KByte. Ha egy program végrehajt egy olyan (gépi kódú) utasítást, amely a memória valamelyik rekeszére hivatkozik (a hivatkozott memóriarekesz címét nevezik virtuális címnek), akkor ezt a címet elıször a processzor átadja az MMU-nak, ami majd egy fizikai memóriabeli címet állít elı

belıle. E feladatának ellátásához az MMU tárol egy ún laptáblát (vagy legalábbis valamilyen módon hozzáfér a laptáblához), amely a lapok és lapkeretek egymáshoz rendelését tartalmazza egy speciális ún. "érvényességi" bittel, ami minden egyes laphoz tárolva van, és a bit értéke azoknál a lapoknál 1, amelyekhez tartozik a fizikai memóriában lapkeret. Az MMU mőködése során egy kapott virtuális címhez tartozó lapról megvizsgálja, hogy az "érvényességi" bitje 1-e. Ha igen, akkor a megadott laphoz tartozó lapkeret sorszámát visszaadja a CPU-nak (mondjuk . ez történhet így is), és az a kívánt adatot a megfelelo (fizikai memória-) rekeszbıl megszerzi (vagyis azt csinál vele, amit a gépi kódú programban a végrehajtott gépikódú utasításban megadtak). Mi történik akkor, ha az "érvényességi" bit 0? Ekkor egy ún hardware-interrupt (megszakítás) keletkezik, amit laphibának (page faultnak)

neveznek. Ekkor kerül végrehajtásra az operációs rendszer memóriakezelı része, ami egy másik "érvényes" (fizikai memóriabeli) lapnak az 1-es érvényességi bitjét 0-ra állítja, és a hozzá tartozó lapkeretet a diszkre menti (az ún. lapozási területre) A lapkeretet ezután beírja a laptáblába ahhoz a laphoz, amelyhez a laphiba során hozzá akartak férni, betölti a diszkrıl (lapozási területrıl) a megfelelo laphoz tartozó lapkeret tartalmát, a laphoz tartozó "érvényességi" bitet 1-re állítja, és az MMU ezután már laphiba nélkül el tudja végezni a címtranszformációt. Több programnak szüksége lehet esetleg több virtuális címtartományra is. Sok CPU lehetıséget ad szegmentált memóriakezelésre, ami annyit jelent, hogy a program több ún. szegmensben is tárolhat adatokat, és mindegyik szegmenshez külön-külön laptábla tartozhat (mondjuk . de ez nem mindig van így) Minden szegmensnek van egy dinamikusan

változtatható mérete, ami az adott szegmensben megengedett legmagasabb sorszámú memóriarekeszt adja meg. Ilyen rendszerekben a memória címzésekor meg kell adni egy szegmens-sorszámot és az azon belüli virtuális címet is. Ilyen CPU-kon gyakori az is, hogy az operációs rendszer rövid idıre nemcsak egy-egy lapot, hanem egy egész szegmenst visz ki a háttértárra - lényegében azt nevezik swappingnek. A fenti leírás alapján már megérthetı a virtuális memóriakezelés lényege, de azt fontos megemlíteni, hogy ez a valódi (mőködı) operációs rendszereknek az egyik legbonyolultabb része, és nagyon nehéz egyéb szempontoknak is megfelelı, ráadásul hatékony memóriakezelıt írni. 37 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. Virtuális tár: központi memória kevés, ezért egy háttértárolón emulál az operációs rendszer további RAM-ot. Ezt a Windows a C meghajtó méretétıl függıen, a C meghajtón saját maga

hozza létre, de ezt változtathatjuk és szükség esetén maga is felajánlja a növelést. Lapozás: egyforma mérető blokkok, szétszórtan helyezkednek el a tárban. Oprendszer táblával kezeli Szegmentálás: különbözı mérető blokkok, így külön kezelhetık az adatok, programrészek, verem. Virtuális cím leképzése: - lapozásnál: minden folyamatnak van laptáblája, gyorsításra TLB és lapcsere stratégiák. - szegmentálásnál: bár van szegmensleíró tábla, de a címszámítás gyorsítására regisztereket (CS, DS, SS) használ MMU: a fizikai cím=logikai cím összerendelése (asszociál). Felhasználja hozzá a laptáblát vagy a szegmens leíró táblát. TLB: lapozásnál segíti az MMU-t, mert a legyakrabban használt 32 lap adatait tartalmazza (ez egy cache!) 4-es csoportasszociatív cache. Lapcsere stratégiák: a memória véges, nem tarthatjuk bent az összes lapot, amire egy folyamat során szükség van. (Laphiba = nincs bent a szükséges lap a

memóriában) Virtuális tárkezelés A fizikai tár mérete kb. 10-100 Mb nagyságrendő, míg a megcímezhetı tartomány 32 bites gépeknél is 4 Gb Multiprogramozott környezetben a folyamatok egymástól függetlenül szeretnének futni, függetlenül a memória korlátaitól. A megoldás a virtuális memória megvalósítása a folyamatok a valóságos memória méretétıl függetlenül használhatják a címzési tartományt, a tényleges megvalósítást az operációs rendszerre és a processzorra bízzák. Ilyenkor minden memória hivatkozás esetén olyan gyors címtranszformációra van szükség, amit szoftver eszközökkel nem lehet megvalósítani. A programoknak vannak olyan részeik, amelyekre csak ritkán van szükség, valamint futás közben csak egy szők tartományt kell a memóriában tartani. Ezért virtuális tárkezelés esetén a programnak csak az éppen igényelt részeit töltjük be a memóriába, így a program nagyobb lehet mint a memória mérete,

másrészt több program fér el a tárban, valamint a betöltıdési folyamat felgyorsul. A virtuális tárkezelés olyan lapozási technikaként fogható fel, amikor nem minden lap tartózkodik egyszerre az operatív tárban. Ha egy folyamat egy memóriacímre hivatkozik, az operációs rendszer a laptáblában ellenırzi a folyamat jogosultságát, és hogy a lap a tárban van-e. Ha a lap a valós memóriában van, kiszámítja a címet, egyébként betölti a háttértárról. Ezt laphibának nevezzük Lapozás A programhoz több, a tárban szétszórtan elhelyezkedı blokk tartozik, az op. rendszer pedig gondoskodik arról, hogy futás közben szükség esetén a vezérlés az egyik blokkból a másikba kerüljön. A blokkokat lapoknak, a módszert pedig lapkezelésnek, vagy lapozásnak nevezzük. Lapozásnál minden blokk mérete azonos, a memóriacímek egy lapcímre és egy eltolásra bonthatók. Az operációs rendszer egy laptáblát kezel, mely a lapok memóriabeli

kezdıcímeit tartalmazza. Szegmentálás Szegmentálás esetén a memória blokkok különbözı méretőek, így a program egész moduljait lehet a memóriába tölteni, ami csökkenti a háttértárhoz fordulást. Külön kezelhetjük a program kódot, az adatokat, a verem tartalmát. A szegmens leíró táblában tárolni kell a szegmensek hosszát, és ellenırizni kell hogy a kiszámított cím benne van-e az engedélyezett tartományban. Virtuális cím leképezése Lapozásnál minden folyamat saját laptáblával rendelkezik. Memória hivatkozásnál a címnek azt a részét, amely a laptábla rekeszére mutat ki kell cserélni a rekesz tartalmával és készen áll a hivatkozott cím. Szegmentált címzés esetén a címszámítás legfontosabb eszköze a szegmensleíró tábla: a tábla címe + a szegmens sorszáma megadja a szegmens fizikai címét, amelyhez a szegmensen belüli eltolást hozzáadva megkapjuk a hivatkozott memóriarekesz címét. A szegmenstábla további

információkat is tartalmaz a szegmensekrıl: a szegmens a memóriában van-e, megváltozott-e, és használatban van-e. Minden folyamatnak önálló 38 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. szegmenstáblája van, ami megakadályozza, hogy egymás címeire hivatkozzanak. Címszámításnál az eltolást összehasonlítják a szegmens hosszával, ami további védelmet nyújt. Vezérlıegységek, MMU Az MMU (Memory Management Unit) az a komponens egy számítógépben ami a memóriacímzést valamilyen szempontból módosítja amíg eljut a "fizikai" memóriához a mővelet, függetlenül attól, hogy ez a komponens a CPU része, vagy külsı elem. Ebben a vonatkozásban már a Commodore 64 is tartalmazott MMU-t, hiszen a 64 Kbyte címtartománnyal rendelkezı 6510 CPU nem tudná megcímezni a Commodore 64 összes memóriáját, ami a 64 Kbyte RAM-on kívül még sok mást is tartalmazott. Ezért itt külsı logika valósítja meg ezt a

"címleképezést". Még szebb példa az Enterprise, ahol a szintén 64 Kbyte címtartománnyal rendelkezı Z80 CPU 4 Mbyte memóriatartományt képes megcímezni úgy, hogy a 16 Kbyte-os szeletenként állítható egy külsı chip (a Dave) programozásával, hogy melyik fizikai memóriaterület "látszódjon ott". "Modernebb" értelemben az MMU alatt általában olyan egységet értünk, ami képes az Intel 80386-szerő memóriamenedzsment funkciók megvalósítására, azaz a szegmentálásra, lapozásra és memóriavédelemre, ebben a megfogalmazásban a Commodore 64 és az Enterprise viszont nem tekinthetı olyan rendszernek ami tartalmaz MMU-t . Eleinte a laptáblát külön regiszterkészlettel oldották meg, amikor azonban a tár mérete nıtt, kénytelenek voltak a laptáblát a tárban tartani, és bevezetni a laptábla-bázisregisztert, amely mindig az aktuális laptáblára mutatott. A címfordítás azonban legalább két tárhoz fordulást

igényelt, ami sebességcsökkenést okozott. Ennek a megoldására vezették be a tartalom szerint címezhetı, vagy asszociatív tárnak nevezett kis speciális hardvertárat. A szegmensek, a lapkezdetek, lapkeretek kezdıcímeit, a tárolókezelı rendszer táblázatokban ırzi más kiegészítı adatokkal együtt. A tárolókezelı rendszer (MMU) feladata: a virtuális, logikai címek átalakítása valós, fizikai címekké a szegmens vagy laptáblázatok adatainak felhasználásával. Ebben az értelemben a virtuális címzés táblázatok alapján megvalósított indirekt címzés. A munkáját segíti a TLB Cache tárak,TLB A lapozás gyorsítását szolgálja a TLB (Translation Lookaside Buffer) cache, amely a 32 leggyakrabban használt lap adatait (deszkriptorát) fogadja be. A lapozó cache 4-es csoport asszociatív (4-way set associative cache) tár, amelynek mérete 32x4 byte. Lapcsere stratégiák Lapcsere esetén ki kell választani azt a lapot, amelyiket feláldozzuk az

új lap betöltése érdekében. A lapcsere stratégiák alapvetı célja az, hogy az optimális esetet közelítsék, azaz azt a lapot válasszák áldozatul, amelyikre a legkésıbb lesz szükség (vagy másképp fogalmazva legtovább nem lesz szükség). A lapcsere általános esetben két lépésbıl áll: az áldozat kimentésébıl és az új lap betöltésébıl. Az algoritmusok hatékonyságát nagyban fokozhatja, ha a mentést – vagyis háttértárra írást – csak akkor végzik el, ha szükséges, vagyis ha a lap tartalma a betöltés óta módosult. Annak nyilvántartása, hogy egy lapra betöltése óta írtak-e, csak hardver támogatással valósítható meg hatékonyan. A támogatás lényege, hogy minden fizikai laphoz tartozik egy jelzıbit – a módosított bit (modified bit, dirty bit, M bit). Ezt a bitet a lap betöltésekor az operációs rendszer törli, a tárkezelı hardver pedig minden, a lapra író memóriamővelet végrehajtásakor beállítja. A bit a

laptáblában is elhelyezhetı. Bizonyos algoritmusok igénylik a lapra történı hivatkozások figyelését is, ami ugyancsak hardver támogatással hatékony. A laptáblában erre a célra is fenntarthatunk egy bitet Ezt a hivatkozott bitet (referenced bit, used bit, R bit) a címképzı hardver állítja be minden esetben, amikor az adott lapon belüli címre történik hivatkozás. A bitet az operációs rendszer törli adott idınként, vagy eseményhez (például laphiba) kötötten. Optimális (OPT: Optimal) algoritmus Az algoritmus elırenéz és a lapok következı használatának idejét veszi figyelembe. Ennél az algoritmusnál a legkevesebb a laphibák száma. Sajnos azonban a megvalósítása nehézségekbe ütközik, mivel jövıbeni laphivatkozásokra vonatkozó információt igényel (a helyzet az SJF ütemezı algoritmushoz hasonló). Az egzakt végrehajtás gyakorlatilag megoldhatatlan, a kódok valamiféle elıreolvasását és szimulált végrehajtását

igényelné az adatfüggı elágazások figyelembevételével, ami csaknem olyan bonyolult lenne, mint a program valódi végrehajtása. Így csak közelítı megoldásokkal találkozunk Az optimális algoritmus szerepe pedig az, hogy összehasonlítási alapként szolgáljon egy-egy eset utólagos értékelésekor, amibıl következtetéseket vonhatunk le arra nézve, hogy az alkalmazott algoritmus mennyire közelítette meg az optimumot. 39 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. Legrégebbi lap (FIFO) algoritmus A FIFO-algoritmus úgy próbálja közelíteni az optimálist, hogy hátranéz és a behozatal idejét figyeli. Az algoritmus azt a lapot cseréli le, amelyik legrégebb óta a tárban van. Megvalósítása egy egyszerő FIFO-listával történhet. Hibája azonban, hogy azokat a lapokat is lecseréli, amelyeket a folyamatok gyakran használnak Ennél az algoritmusnál felléphet egy érdekes jelenség, amelyet Bélády1 -anomáliának

hívunk. Eszerint – várakozásainkkal ellentétben – bizonyos esetekben, ha növeljük a folyamathoz tartozó fizikai memóriakeretek számát, akkor nem csökken, hanem éppen növekszik a laphiba gyakoriság. Legrégebben nem használt (LRU: Least Recently Used) algoritmus Az LRU-algoritmus azt a lapot választja áldozatul, amelyre a folyamatok leghosszabb ideje nem hivatkoztak. Ez az algoritmus közelíti legjobban az optimálist, mivel ugyan hátrafele néz, viszont a használat idejét veszi figyelembe (azaz a közelmúltból következtet a közeljövıre, ami a lokalitás miatt jó becslést adhat). A bonyolult megvalósítás miatt az LRU-algoritmus helyett sokszor annak – hardvertámogatást nem, vagy alig igénylı – közelítését szokták használni: Legkevésbé használt (LFU: Least Frequently Used vagy NFU: Not Frequently Used) algoritmus Ennél az algoritmusnál abból indulhatunk ki, hogy a közelmúltban gyakran használt lapokat a folyamatok a

közeljövıben is használni fogják még, és ugyanígy, a közelmúltban ritkán, vagy nem használt lapokra a közeljövıben nem lesz szükség. Ilyenkor az operációs rendszer rendszeres idıközönként végignézi a memóriában levı lapokat, és a hozzájuk rendelt számlálóhoz hozzáadja az R bit (0 vagy 1) értékét, és egyben törli az R biteket. Az algoritmus a legkisebb számláló értékkel rendelkezı – vagyis a legritkábban használt – lapot választja ki kivitelre. Hátrányt jelent, hogy az algoritmus „nem felejt”, vagyis az egykor gyakran használt lapok még sokáig a memóriában maradnak akkor is, ha már biztosan nem lesz rájuk hivatkozás (például többmenetes fordításnál az egyes menetekhez tarozó lapok). A problémán öregítéssel segíthetünk, például úgy, hogy az R bitet a legnagyobb helyiértékő bit helyére másoljuk, de elıtte a számlálót jobbra léptetve csökkentjük a régebbi hivatkozások súlyát. A módszer

másik problémája, hogy a frissen betöltött (és így biztosan kis számláló értékő) lapokat is könnyen kiteheti újra a háttértárra. Ezért általában a frissen behozott lapokat az elsı használatig befagyasztjuk (page locking) a tárba. 40 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A15. Monitorok és vezérlıkártyák legfontosabb minıségi és teljesítmény jellemzıi, kapcsolatuk a számítógépes képfeldolgozás követelményeivel. (Felbontás, színmélység, frissítési frekvencia, pixelméret, a grafikus kártya processzora és a képmemória, a mozgókép megjelenítés) Monitorok A mikroszámítógépekhez használt monitorok fizikai mőködése nagy mértékben hasonló a megszokott TV készülékek mőködéséhez. A képernyı tartalmát egy elektronsugár rajzolja fel a fénykibocsátó réteggel bevont felületre, a képernyı bal felsı sarkától kezdıdıen, jobbra és lefelé haladva, párhuzamos sávokra bontott

részekben. Egy teljes képernyı tartalom kirajzolása 1/50 sec-ig tart A képernyı végigpásztázásában kétféle eljárást alkalmaznak: - folytonos, egymást követı soronkénti pásztázás (interlacing), amely finomabb felbontást, de gyakoribb képfelfrissítést eredményez - váltott soros, minden második soronként pásztázás, amely finomabb felbontást, de alacsonyabb frissítési frekvenciát eredményez. A váltott soros pásztázásnál félképenként 1/50 sec szükséges, így a teljes kép kirajzolása 1/25 sec alatt történik. A képernyı elektronsugár által végigpásztázott egy-egy sávját nevezik rasztersornak. A képernyıtartalom vibrálását, villódzását elkerülendı, a világító festékanyag utánvilágítási ideje hosszabb, mint a közönséges TV készülékeké. A képernyı mőködésével kapcsolatos alapjellemzık (sorok, oszlopok száma, felbontás finomsága, a képernyıtartalom tárolásának helye a memóriában) értékét

a vezérlıkártyákon beállítható videó üzemmódok határozzák meg. A videó üzemmódokat sorszámokkal jelölik, amelyek száma ma már több tucatnyira növekedett. A mai gépekben lévı monitorvezérlı kártyák ismerik a korábbi videó üzemmódokat is és így a régebbi monitorokhoz készült programok továbbra is használhatóak maradnak. A képernyı megjelenítési formái: A szöveges megjelenítés a CGA és az EGA megoldások továbbfejlesztésével alakult ki. Az ún paletta és színkód regiszterek felhasználásával az alkalmazott színkészletek (4-16-féle) könnyen válthatók. Emellett egyidıben 8-féle karakterkészlet is használható. A VGA kártya 256-féle színnel történı megjelenítéshez az EGA kártyához hasonlóan minden képpont színének tárolásához 1 byte-ot használ fel a rendszer. Az SVGA (Super Video Graphics Array) vezérlıkártya nagyon jó minıségő megjelenítést tesz lehetıvé, miközben fotóminıségő színeket

állít elı. Az SVGA felbontásban minden egyes képhez félmillió vörös, kék és zöld színő képpont pontos színkombinációját kell elıállítania a videokártyának és a számítógépnek. Ehhez nagy számítási igényre és sok memóriára van szükség. A gyors grafikus megjelenítéshez és a jó minıségő video lejátszáshoz egy gyorsítóval rendelkezı videokártyára van szükségünk, ami külön processzorral és legalább 1 MB video memóriával rendelkezik. Az SVGA a képeket akár másodpercenként 70-szer is fel tudja frissíteni, ezért a képek igen gyorsan változhatnak. A 16 millió színárnyalat már fotóminıséget jelent Az SVGA speciális nagy teljesítményő MPEG áramkörökkel rendelkezik, amelyek megkönnyítik a videofilmek lejátszását, mivel jelentısen csökkentik a processzor terhelését. A videó digitalizáló áramkörök a videófilmet átalakítják a számítógép számára kezelhetı digitális információvá.

Képernyıtípusok: Árnyékmaszkos képcsı: A hagyományos monitoroknál a képernyı vékony, apró lyukakkal ellátott fémlemezbıl áll. Elınye, hogy a drágább modelleknél erısebb a szövegek kontúrja és olcsóbb, mint a Trinitron csöves technológia. A színek azonban nem olyan élénkek és a laposnak nevezett képernyı mindkét irányban elhajlik, ami torzítja a képet és nagyobb tükrözést okoz. Trinitron csı: A kép nem pontokból, hanem szorosan egymás mellé helyezett csíkokból áll össze. Elınyei a teltebb színek és a függıleges irányban teljesen lapos képernyı, amelynek kisebb a tükrözése. Hátránya, hogy a képernyın vízszintes irányban egy vagy két hajszálvezeték fut végig. LCD: Az LCD mûködése pont a fény polarizációján alapszik. A monokrom LCD-k mőködési elve igen könnyen megérthetı, ha valaki már érti a polárszőrıket. A folyadék kristály legfontosabb tulajdonsága ugyanis az, hogy ha két pontjuk közé

elektromos feszültséget kapcsolunk, akkor a kristályok szépen befordulnak a feszültség irányába. Ha nincs feszültség rákapcsolva, a kristályok rendezetlenné válnak Az LCD fölé egy olyan polárszőrı 41 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. van helyezve, amely a feszültség alatt álló rendezett kristályok polarizáltságával 90 fokos szöget zár be, vagyis ilyen esetben az LCD-n lévõ polárszőrı utáni fényt a kristályok nem engedik át, vagyis sötét lesz. Ha nincs rajta feszültség, a kristályok rendezetlenek, átengedik a fényt. A színes LCD mőködése hasonló, csak ott a befordulás mértéke is szabályozható. TFT: Thin Film Transistor, tehát "vékonyfilmes-tranzisztor". A folyadékkristályos- kijelzıkkel (LCD) szemben a TFT-kijelzı minden egyes képpontja egy saját tranzisztorból áll, amely aktív állapotban elı tud állítani egy világító pontot. Az ilyen kijelzık világossága és

kontrasztja ezért érthetıen magasabb mint a hagyományos LCD-kijelzıkké. Ebben az összefüggésben aktiv-mátrix kijelzıkrıl beszélünk Az ilyen kijelzık hátrányosak a szabadban: miközben "passzív" LCD-kijelzık idegen fényt használnak fel egy képpont megvilágítására, addig a TFT-kijelzıknek a természetes fény ellenében kell világítaniuk. Csak ha túllépik a természetes fény erısségét, akkor olvasható el a képernyı felirata - viszont a nap fényerejével nem tudják felvenni a versenyt az akkumulátorral táplált aktiv-matrix kijelzık. A jövı Lézer: A lézer technológia egy optoelektronikai chip segítségével állítja elı a képet. A jelenleg forgalomban levı képernyık több ezer szín megjelenítésére képesek, de a valós kép érzését csak 30-35 százalékban adják vissza. A lézertechnológia 90 százalékban ugyanazokat a színeket adja vissza, amit a szem lát" Egyenlıre televízióknák vezetik be ezt a

technológiát 2007 végére, de várhatóan meghódíthatja monitor piacit is. Nano: A SED (Surface-conduction Electron-emitter Display) pontosan úgy mőködik, mint a hagyományos képcsöves kijelzık: elektronokat lınek egy ernyıre, így jönnek létre a képek. Viszont nem egyetlen gigantikus elekronágyút használnak, hanem több ezer nanorészecskét, ezért a SED monitorok sokkal vékonyabbak, mint a képcsövesek. Technológia hátránya az ára, mert egyenlıre viszonylag drága, de hamarosan tömegtermékké válhat. Monitorok tulajdonságai: Pixelméret: A pixelméret, képpont a képernyı legkisebb megvilágítható részét jelenti. A képernyı által tartalmazott képpontok jelentik az alapját a képernyın megjelenı betők, megjelenítésének. A színes technikában egy színes képpont megalkotását három, az egyes alapszíneket tartalmazó képpont teszi lehetıvé. A képpont színe az ıt alkotó alapszínek erıségébıl adódik A mai monitoroknál ez

0,25-0,28 mm. Színmélység: Az egyes képpontok mindegyike hordoz a képpont színével kapcsolatos információt, amely mennyisége a számítógép információt, amely mennyisége a számítógép grafikus kártyájáról függıen változik. A képpont színével kapcsolatos információ mennyisége 1-32 bit mennyiségő lehet. Ha 1 bit az információ mennyisége, akkor az csak azt képes jelezni, hogy az adott képpont megjelenjen-e a képernyın, vagy pedig kioltott állapotban legyen. Az egy képponton megjeleníthetı színek számát nevezzük színmélységnek A színmélység függ a PC videokártyától, hiszen a grafikus kártya az általa használt memória területét tárolja a képpontok színével kapcsolatos információkat. Minél nagyobb a színmélység, annál nagyobb memória szükséges a képpontok színinformációinak tárolására. Jelenleg elterjedt színmélységek: 8 bit – 256 szín 16 bit – 65536 24 bit – 16 777 216 Frekvencia: A képkocka

(frame) önálló animációs egység. Ha a mozgóképeket gyorsan egymás után lejátsszák, akkor így a mozgás érzetét lehet kelteni. A monitor másodpercenként legalább 60-szor (vagy SVGA esetén 70-szer) frissíti fel a képernyın lévı képet. Ezt az értéket nevezzük képfrissítési frekvenciának Ha jó minıségő videokártyát és monitort használunk, akkor ez az érték jóval nagyobb is lehet és megszőnhet a képernyı villogása. Ha viszont nem rendelkezünk elegendı memóriával, akkor a képernyı tartalmának megváltoztatásakor mindig várakoznunk kell, amíg a képernyıvezérlı kártya kiszámolja az összes képponthoz szükséges információt. Mozgóképek lejátszása esetén ez szaggatott mozgással jár. A színes TV képfrissítési frekvenciája 25 kép/s Az otthoni felhasználók számára a 14 vagy a 15 hüvelyk átmérıjő, míg a kiadvány-szerkesztési és mérnöki munkákhoz a 17 vagy 20 hüvelykes monitor a megfelelı. 42

Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A videokártya tulajdonságai: Felbontás: A videokártya felbontóképessége a képernyın függıleges, és vízszintes irányban megjeleníthetı képpontok számát határozza meg. A multimédia alkalmazások esetében ez egy igen fontos paraméter, mert a használt grafika minısége ettıl a paramétertıl függ. Minél nagyobb felbontóképességet tesz lehetıvé egy adott videokártya, annál kisebb grafikát jeleníthetünk meg a számítógépünk képernyıjén. Egy videokártya általában többféle felbontóképességet is támogat. A felbontóképességhez tartozik egy maximálisan megjeleníthetı színmélység, amely szintén fontos paraméter. Memória mérete: A multimédia alkalmazások közös jellemzıje, hogy igen nagy a memóriaigényük. Ez többnyire abból adódik, hogy az alkalmazás által megjelenített grafikákat és szöveges részeket az alkalmazás a merevlemezrıl vagy

CD-Rom-ról memóriába tölti be, hiszen annak elérése így sokkal gyorsabbá válik. Fontos szempont a memória elérési ideje, a RamDac frekvenciája, amelyek a másodpercenként megjeleníthetı képek mennyiségét befolyásolják. Mai videókártyák már önmaguk tartalmaznak 128-512 saját memóriát, ami nagymértékben gyorsítja mőködésüket, mert nem kell a lassabb fıtárhoz nyúlnia Gyorsítókártyák: A grafikus rendszerek terjedésével a videokártyák sebessége nem volt megfelelı. Az ismétlıdı feladatokat (ablak rajzolása, kitöltés színnel, vonal húzása, stb.)hardveresen kellett gyorsítani A gyorsítókártya átveszi a CPU-tól a képalkotással kapcsolatos mőveleteket. A modern gyorsítókártyák egyre több mőveletet tudnak végezni, melyhez külön memória áll rendelkezésükre. 2D-s mőveletek pl ablak eltolás, vonalhúzás, kör rajzolás, terület kitöltés, mely során csak a kiinduló koordinátákat kell átadni a

gyorsítókártyának. Videókártyák csatlakozó felületei: ISA (már nem használják) PCI (videókártyák már nem használják) AGP (Accelerated Graphics Port) Az alaplap rendszersínjével közvetlen összeköttetésben álló gyorsított, 32 bites grafikus kapu. Sebessége 0512 - 11Gbit/s (még használják) PCIe (PCI express) (legújabb, már ezt használják) Sebessége 2.5 Gbit/s A számítógépes játékipart is fellendítették, és húzó ágazattá tették. Szinte 23 havonta jelennek meg játékok amelyek, egyre újabb hardvereket igényelnek. Mikor Bill Gates a jövı játékplatformjaként emlegette a windowst sok szakember kinevette, mert sokan azt gondolták, a számítógépes 3D-s megjelenítés soha nem fogja utólérni a játékkonzolokét. Tévedtek! A mai 3D-s videókártyák és processzorok olyan teljesítményre képesek, amelyek képesek túl is szárnyalni a konzolok teljesítményét. Ennek köszönhetıen a konzolok is átalakulnak és próbálnak

minél több funkcióval versenybe szállni a piacon. A játékok megjelenítéséhez Directx szükséges, ami a Microsoft grafikus és játék programok futtatásához szükséges hardverfüggetlen, komponens alapú multimédia library, környezet. 43 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A16. Az adatrögzítés elve a mágneslemez tárolókon A mágneslemez felépítése (szektor, sáv, cilinder, cluster, FAT és boot szektor fogalma). A mágneslemezek teljesítményjellemzıi (elérési idı, adatátviteli sebesség). A számítógépek megjelenése óta többféle háttértár típust fejlesztettek ki. Mindegyik tároló célja olyan mennyiségő adat tárolása, mely meghaladja az operatív tár méretét, és nem veszti el tartalmát a tápfeszültség megszőnésekor. A jelenleg alkalmazott tárolók közül a legjelentısebbek a mágneslemezes tárolók (winchester és floppy lemez). Winchester (merev lemez) : A mikroszámítógépek belsı

háttértárolóiként szolgálnak. Nagy átviteli sebesség (1-50 Mb/s), nagy kapacitás (10-200 Gb), de lassú elérési idı (10 ms) jellemzi ıket. A 6-15 mágnesezhetı réteggel ellátott könnyőfém lemezt a hermetikusan zárt védıburkolatában a meghajtó 3600 -15000 fordulat/perc sebességgel forgatja. Az állandó forgás miatt a fejek nem érnek hozzá a korongokhoz, hanem a keletkezı légpárna miatt pár mikron távolságra vannak attól (ezek a repülı fejek). Akárcsak a hajlékony lemezeket, ezt is többféle kivitelben gyártják. A lemez felülete koncentrikus körökre, sávokra van osztva. Az egymás alatt elhelyezkedı sávokat cilindernek nevezzük. A lemez felülete körcikk szerően szektorokra van osztva A szektor és a sáv metszete adja a legkisebb átvihetı adatmennyiséget, a blokkot. A blokk tipikus mérete 0,5-64 kB Adatrögzítés: Az adatrögzítés RLL (Run Length Limited) kódolás segítségével történi. Az adatokat átkódolják úgy, hogy

két 1-es között meghatározott számú 0-nak kell lennie, a fluxusváltozást minél jobban csökkenteni lehessen (minél kevesebb impulzus legyen a lemezen). Merevlemez fordulatszámok • 1200 (ma már nem használják), • 3600 rpm (ma már nem használják) • 4500 rpm (ma már nemigen használják, esetleg laptopokban), • 5400 rpm (manapság is használják, de kihalófélben vannak), • 7200 rpm (napjaink legelterjedtebb változata), • 10000 rpm (csak professzionális területeken alkalmazzák, pl.: szerverek), • 15000 rpm (csak professzionális területeken alkalmazzák, pl.: szerverek) Floppy (hajlékony lemez) : A legszélesebb körben elterjedt adathordozók, melyeket többféle típusban és kivitelben gyártanak. Az adatok tárolására a vékony mőanyag hordozóra felvitt mágnesezhetı réteg szolgál, melyet lágy vagy merev tokban helyeznek el. Az adatok a lemez felületén levı koncentrikus körökön helyezkednek el. A meghajtóba helyezett lemezt a

berendezés 300-360 fordulat/perc fordulatszámmal forgatja, és a fej a lemez felületéhez hozzáérve írja/olvassa azt. A lemez behelyezésének pillanatában a hardver érzékeli azt, és egy-két fordulat segítségével felméri annak állapotát. A folyamatos forgatás csak akkor jön létre, hogy ha a felhasználó az adott meghajtót használni kívánja. Így ez a lemezfajta eléggé lassú, ugyanis csak a diszk tényleges kezelésekor mozgatja az abban levı mágneses korongot. A lemez felülírása fizikailag letiltható (sötét színő ragasztószalaggal, vagy az írásvédı kapcsoló átkapcsolásával). A hajlékony lemezeket többféle kivitelben gyártják. A sávok és szektorok azonosítása sorszámok segítségével történik. A sávok számozása 0-79-ig, még a szektoroké 1-15-ig zajlik A szektorok mérete 512 Byte Átviteli sebessége 50 kB/s, tárolókapacitása 1-2 Mb. 44 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor.

Adatrögzítés: MFM kódolás segítségével történik: a jeleket felfutó élek jelzik. A 0 a bithatár elején levı, az 1 a bithatár közepén levı él jelöli. Ha az 1-est 0 követi, akkor nincs impulzus a kódolt jelben, nehogy zavar keletkezzen Boot szektor: A betöltı szektor a rendszerlemeznek a 0. logikai sorszámú szektora, amely az operációs rendszereknél a betöltést hajtja végre a gép indítása után. A gép indulásakor a ROM tárolóban elhelyezett és automatikusan elinduló ellenırzı program a gép egységeinek ellenırzése után a HDD, vagy ha nincs akkor valamelyik hajlékony lemezes meghajtóban levı lemez 0. szektorát tölti be a memóriába, és átugratja a végrehajtást a szektor elsı byte-ján elhelyezett utasításra. A szektorban tárolt betöltı program ezután betölti a memóriába az operációs rendszer szükséges részeit. A betöltı program a fıkönyvtár elsı két állományát, az IOsys és MSDOS.sys-t tölti be FAT tábla:

A lemezek állománykezelési táblázata szolgál arra, hogy az operációs rendszer nyilvántartsa és nyomonkövesse azt, hogy a lemez mely szektorai szabadok, vagy foglaltak. A foglaltság nyilvántartása nem szektoronként történik, hanem nagyobb egységenként, klaszterenként (cluster). Egy-egy klaszter kettı valamely hatványának megfelelı darabszámú szektort foglal magába. (pl: HDD-nél ez 4-32 szektor/klaszter A FAT-ban egy-egy klaszeterhez tartozó adatokat 12, vagy 16 bit hosszúságú területeken, mezıkön tárolja a rendszer. A FAT mezıinek tartalma: 0. mezı – a mezı 1 byte-ja a lemez azonosító kódját, a maradék rész 1-eseket tartalmaz 1. mezı – csupa egyest tartalmaz Fıkönyvtár: A fıkönyvtár a Fat másolatok után helyezkedik el a lemezen és minden egyes állományhoz egy 32 byte-os bejegyzést tartalmaz: Állomány neve 8 Állománynév kiterjesztése 3 Állomány attribútum byte-ja 1 Foglalt 10 Utolsó módosítás idıpontja 2 Utolsó

módosítási dátuma 2 Állomány elsı klasztere 2 Állomány hossza 4 45 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A17. Az analóg és digitális hírközlési csatornák jellemzése (kapacitás, zajok hatása, csatornaközegek fajtái). A villamos hírközlı rendszer alapfeladata az, hogy információt továbbítson térben és idıben egy adott pontból (a forrásból) a felhasználói célpontig (nyelıig). Általában a forrás által létrehozott üzenet nem elektromos jellegő. Ezért szükség van egy átalakítóra, amely a nem elektromos jellegő üzenetbıl idıben változó villamos jelet, ún. üzenetjelet hoz létre A küldetési végponton egy másik átalakító visszaalakítja az elektromos üzenetjelet a kívánt formájú üzenetté. Az információforrás és a nyelı egymástól rendszerint térben el van választva. A csatorna biztosítja villamos összeköttetést a két pont között. A csatorna megjelenítési formája a

legkülönbözıbb lehet: szabad térben mikrohullámú összeköttetés, egy huzalpár vagy egy fénykábel. A csatorna típusától függetlenül az átviteli csatorna általában rontja az átvitt jel villamos paramétereit. Ezek egyrészt a tökéletlen átvitel következtében fellépı torzítások formájában jelentkeznek, másrészt nem kívánatos villamos zavarok (zajok), interferenciák alakjában lépnek fel. A villamos hírközlés két alapvetı problémáját a jel torzítása és a zaj képezi Mind az adó, mind a vevı tervezésénél gondosan ügyelnek arra, hogy a célállomáson, az információnyelıben a vett üzenet lehetıleg minél inkább egyezzék meg a küldött üzenettel. Az adó az üzenetjelet a csatorna bemenetére csatolja. Habár néhány esetben az is lehetséges, hogy a bemeneti átalakító közvetlenül csatlakozzék a csatornára, az a jellemzı, hogy a csatorna bemenetére valamilyen módon formált jelet kell adni, hogy az jó hatásfokkal

továbbítható legyen. Az adó által végrehajtott jelfeldolgozási módok legfontosabbja az erısítés, a szőrés és a moduláció. A moduláció egy olyan eljárás, amelyben egy választott vivıhullámmal a továbbítandó jel tulajdonságát úgy változtatják meg, hogy az jól illeszkedjék az átviteli csatorna tulajdonságaihoz. A moduláció lényegében a vivıhullám hullámalakjának olyan szisztematikus megváltoztatása, amelynél az üzenetjellel arányosan például a vivı amplitúdója, fázisa vagy frekvenciája változik. A moduláció célja az, hogy az üzenetjel jellemzıit illesszük a csatorna jellemzıihez, hogy csökkentsük a zaj és az interferencia hatását, hogy ugyanazon a csatornán egyidejőleg több jelet is továbbítsunk, vagy úrrá legyünk bizonyos berendezésekbıl származó korlátokon. Egy hírközlı rendszer sikere nagymértékben az alkalmazott modulációtól függ. Az analóg jelek esetében valamilyen periodikus jel

amplitúdója, a frekvenciája, vagy a fázisszöge hordozza az információt. A digitális átvitelnél a jel egy négyszögjel, aminek az amplitúdója csak a két megadott értéket veheti fel. A szintek közötti váltás csak megadott idıpontokban következhet be és elvileg végtelen gyorsan történik. Az információt az amplitúdók és a hozzájuk tartozó idıpontok hordozzák Az analóg átvitel esetében a leglényegesebb jellemzı a sávszélesség, ami a közegen átvihetı jel maximális és minimális frekvenciájának a különbsége és a mértékegysége Hz. A digitális hálózatok esetében a sebesség jellemzésére az idıegység alatt továbbított bitek számát használjuk. A jellemzı mértékegysége a bit/s, vagy találkozhatunk még a baud mértékegységgel is, ami az egy másodperc alatt bekövetkezett változások száma. A kialakított összeköttetésekrıl elmondható, hogy a kiépítésükhöz nagy anyagi befektetésre van szükség. Sajnos az is

igaz, hogy az esetek többségében ezek a közegek nincsenek teljesen kihasználva. Ebbıl az következik, hogy valamilyen módon optimalizálni kellene az átviteli közegek kialakítását. A vevı fı funkciója, hogy kiemelje a csatorna kimenetén vett, leromlott paraméterő átvitt jelbıl a bemeneti üzenetjelet. A vevı ezt a feladatot a moduláció inverz mőveletével, a demoduláció alkalmazásával oldja meg A zaj és egyéb zavarok, torzítások miatt a vevı általában nem tudja tökéletesen rekonstruálni a küldött üzenetjelet. A demoduláláson túl a vevı rendszerint biztosít erısítést és szőrési lehetıségeket is. A modulációs eljáráson, illetve az információforrás kimenı üzenetének formáján alapulva a hírközlési rendszereket három fı csoportra oszthatjuk: • Analóg hírközlı rendszerek, amelyeket analóg információknak analóg modulációval való továbbítására terveztek; • Digitális hírközlı rendszerek, amelyeket

digitális információknak digitális modulációval való továbbítására terveztek; • Hibrid hírközlı rendszerek, amelyeket analóg jellegő üzenetjelek mintavett és kvantált értékeinek digitális modulációval való átvitelére terveztek. Az egyes hírközlı rendszereket feloszthatjuk a vivı frekvenciája vagy a hírközlı csatorna tulajdonsága alapján is. Egy digitális hírközlı rendszer elemei A digitális kommunikációs rendszerek célja, hogy egy digitális forrásból érkezı üzeneteket (szimbólumok egy sorozatát) továbbítson egy adott célállomásra olyan gyorsan és pontosan, ahogy az csak lehetséges. A forrás és a végpont fizikailag távol helyezkedik el egymástól és az összeköttetést a hírközlı csatorna biztosítja. A csatorna a bemenetén elektromos/elektromágneses jelet kap, míg a kimenetén ennek egy 46 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. torzított verziója jelenik meg, mivel az

átviteli csatorna nem ideális. A torzításokon túlmenıen az információt hordozó jelhez még elıre ki nem számíthatóan változó villamos jel, azaz zaj is adódik hozzá, amelynek forrása lehet ember által keltett zavar, de lehet természetes forrású is. A jeltorzulás és a zaj az átvitt információban hibákat hoz létre és korlátozza az információ átviteli sebességét a forrástól a nyelıig. Egy digitális átviteli rendszer jellemzésére gyakran használják fel mérıszámul a helytelen dekódolású üzenetszimbólumok darabszámát. A jel/zaj viszony és a sávszélességbıl kiszámítható a csatornakapacitás (Shannon-Hartley tétel): C=fB*ld(1+Ps/Pn)v (v – adatátviteli seb., fB – sávszélesség, Ps/Pn – jel/zaj viszony) A hibamentes jelátvitel feltétele, hogy C>v. A kóder, a modulátor, a demodulátor és a dekóder fı feladata, hogy megküzdjön a csatorna információromboló hatásával és hogy biztosítsa a maximális

információátviteli sebességet és pontosságot. - A forráskódoló bemenetére egy szimbólumsorozat kerül, amit átalakít bináris sorozattá. Olyan kódszavakat kell generálnia, melyekkel a forrás redundanciája csökkenthetı (pl. Huffman kódolás) - A forrásdekódoló visszaalakítja a csatornadekóder kimenetérıl a bináris jelsorozatot a megfelelı szimbólumokra. - A csatorna kódoló feladata, hogy olyan módosításokat hajtson végre a jelsorozaton, amelyek megóvják az üzenetet a zavaró hatásoktól (pl. hibaellenırzı bitek) - A csatorna dekódoló a demodulátorból kilépı, kódolt bináris jelfolyamból visszaállítja az üzenetet hordozó biteket, és elvégzi a hibák felismerését. Csatornaközegek fajtái Fizikai átviteli közegek A jelek átvitelére kisebb távolságokon egymás mellett futó, párhuzamos kábeleket is használhatnak, de nagyobb távolságokon és nagyobb sebesség esetében ezek antennaként funkcionálnak, tehát összeszedik

a környezeti zavarjeleket, valamint hasonlókat sugároznak. Annak érdekében, hogy ez ne következhessen be, olyan megoldást kell választani, ami kiküszöböli ezt. A gyakorlatban két villamos és egy optikai jeltovábbítót használnak. Koaxiális kábel A koaxiális kábel sokáig szinte egyeduralkodó volt a számítógép hálózatok terén. Napjainkban ezt a technikát elsısorban olyan helyeken alkalmazzák, ahol a jelvezetékek fokozattan ki vannak téve a környezet zavarainak. A koaxiális kábel felépítése az ábrán szemügyre vehetı. Látható, hogy a legbelsı szinten egy vezetı ér húzódik, ezt nevezik melegérnek. Ennek anyaga lehet tömör, vagy sodrott, a tömör jobb paraméterekkel rendelkezik A melegér körül egy néhány mm falvastagságú szigetelıanyag található. Erre készítik el a kábel hidegvezetıjeként szolgáló árnyékolást. Ennek kialakítása az olcsóbb típusokban alumíniumfóliából, a jobb minıségőben sodrott hálóból

áll. Az árnyékoló harisnyán elhelyeznek még egy szigetelı réteget, amely a külsı környezeti határok ellen véd. A környezet zavarainak a kiküszöbölését lehet fokozni úgy, hogy az árnyékolást két rétegben készítjük el. Ezt a technikát elsısorban olyan helyeken alkalmazzák, ahol a jelvezetékek fokozattan ki vannak téve a környezet zavarainak. A koaxiális kábel minıségét (jóságát) három paraméter határozza meg, ezek pedig a szerkezeti felépítéstıl függenek: A késleltetési idı a kábel szigetelésének a dielektromos állandójától függ. A csillapítás a kábel ohmos ellenállásából, a dielektrikumon belül keletkezı és a sugárzás okozta veszteségekbıl tevıdik össze. A hullámimpedancia (Z0) általában 50 és 75 ohm értékő, a vastagkoax 93 ohm-os. A tömör belsı erő kábel késleltetése és a csillapítása kisebb, mint a több fémszálból összefonotté, viszont jóval merevebb is. A koaxiális kábeleknek két

fı típusát különböztetjük meg: Szélessávú koaxiális kábelek analóg átvitelt tesznek lehetıvé a televízió sugárzás jeleinek továbbítására kialakított kábelrendszeren (TVNET). A kábelek tipikusan alkalmasak 300-500 MHz-es jelek átvitelére akár 100 km távolságba is. Ahhoz, hogy a kábelt használhassuk, a számítógépbıl kikerülı digitális jeleket át kell alakítani analóg jelekké, majd a fogadó oldalon el kell végezni a konverziót az ellenkezı irányba. A szélessávú koaxiális kábelek sávszélessége akár GHz-es jelek átvitelét is lehetıvé teszik. Ez a sávszélesség nagyon nagy, ezért 47 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. ezekben a rendszerekben a vonalat több, kisebb sávszélességő csatornára osztják, amelyeken egymástól független információátvitel valósulhat meg. Ez a már ismertetett frekvenciaosztásos multiplexelés Alapsávú koaxiális kábelt a digitális adatátvitelben

alkalmaznak elıszeretettel. Két további típusra bonthatók, a vékony és a vastag koaxiális kábelre. A vékony koaxot az Ethernet hálózatokban alkalmazzák, hullámimpedanciája legtöbbször 50 Ohm, de elıfordulhat 75 Ohmos változatban is. A jellemzı adatátviteli sebesség 100 Mbit/s 1 km-es szakaszon. Amennyiben a távolság kisebb, a sebesség növelhetı és ez fordítva is igaz. A sebesség és a távolság között a kapcsolat nem lineáris Ez azt jelenti, hogy ha a távolságot megduplázzuk, akkor nem feleakkora lehet a maximális sebesség, hanem kisebb. A vékonykoaxot BNC (Bayone-Neil-Councelman) csatlakozókkal szerelik, ami lehet vagy csavaros vagy sajtolt (krimpelt). A vastag koaxiális kábel a nevét onnan kapta, hogy az elızınél vastagabb, a hullámimpedanciája majdnem duplája, 93 Ohm. A régebbi hálózati protokollokban használták, ma egyre inkább kikerül a piacról A vastagkoax elınye, hogy a csillapítása kisebb, mint a vékony változaté,

emiatt az áthidalható távolságok nagyobbak lehetnek ugyanakkora sebesség mellet. A kábel nehezen szerelhetı a merevsége miatt, ezért ahhoz nem BNC, hanem ún vámpírcsatlakozókat használnak a kapcsolat kialakítására. A nevét a mőködésérıl kapta, mivel szereléskor a sajtolás következtében a szigeteléseket átszúrja és mind az árnyékolással, mind a belsı érrel jó fémes kapcsolatot alakít ki. Csavart érpár (Twisted Pair, TP) A kábel két szigetelt, egymásra spirálisan felcsavart vezeték. Amennyiben az érpár körül árnyékolás is található, akkor árnyékolt sodrott érpárnak (Shielded Twisted Pair, STP), míg az árnyékolás nélkülit UTP (Unshielded Twisted Pair) kábelnek nevezzük. Mivel a két jelvezeték egymásra van felcsavarva, ezért a jelkisugárzást az egymás ellen hatás miatt minimálisra csökkentik. Minél több az egységnyi hosszra jutó csavarások száma, annál nagyobb sebességig használható a vezeték. Mivel

általában nem csak egy szimplex kapcsolatra van szükség, ezért több érpárt fognak össze egy közös szigetelıben. Ezek egymásra, és a külvilágra való hatását tovább lehet csökkenteni, ha a párokat is egymásra csavarják. A közepes mérető hálózatokban az esetek túlnyomó többségében az UTP kábeleket alkalmazzák, mivel ezek minden jellemzıje, valamint az áruk is lehetıvé teszi a biztos összeköttetés kialakítását. Az UTP kábeleket több kategóriára osztják, ezek jelátviteli tulajdonságokban és természetesen árban térnek el egymástól. A legelterjedtebb típusokat az alábbi táblázatban foglaljuk össze. Típus Használati hely 1. kategória Hangátvitel 2. kategória 4 Mbit/s-os adatvonal 3. kategória 10 Mbit/s-os adatvonal (Ethernet) 4. kategória 20 Mbit/s-os adatvonal 5. kategória 100 Mbit/s-os adatvonal (Fast Ethernet) Az Ethernet hálózatokban a 3.-5 kategóriájú kábeleket használják Ezeket összefogták egy

csoportba és a 10BaseT névvel látták el. A rendszer két sodrott érpáron mőködik, az egyik érpár adásra, míg a másik vételre szolgál. Az UTP kábel esetében a megengedett legnagyobb, még erısítés nélkül áthidalható távolság (szegmenshossz) 100 méter. Ezzel a módszerrel pont-pont kapcsolat alakítható ki, több gép esetében csillag topológiával, aminek az elınyeit és hátrányait már az elızıekben ismertettünk. A kábel a számítógéphez RJ-45 típusjelzéső csatlakozóval kapcsolódik. Ennek nyolc érintkezıje van, tehát a kábelben négy érpárnak kell lennie. A vezetékek megkülönböztetése nehézkes lenne, ezért színkódolást alkalmaznak. Négy különbözı színő vezeték van, a maradék négy pedig ezek és a fehér szín keveréke A szabványos színkód a következı táblázatban látható, de természetesen létezhetnek ettıl eltérı kódok is. A csatlakozó felépítése az ábrán vehetı szemügyre A bekötésre

használatos a cross-over kifejezés is, mivel a jelvezetékek keresztbe vannak kötve. 48 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. Színjelzés Csatlakozó Jel neve Fehér-narancs 1 Narancs 2 DTR Fehér-zöld 3 Zöld Jel neve Csatlakozó Színjelzés 8 Fehér-narancs DSR 7 Narancs TxD RxD 6 Fehér-zöld 4 GND GND 4 Zöld Fehér-Kék 5 GND GND 5 Fehér-Kék Kék 6 RxD TxD 3 Kék Fehér-Barna 7 DSR DTR 2 Fehér-Barna Barna 8 1 Az RJ-45 típusú csatlakozó bekötése Barna A kábelek között találunk vékonyabb és vastagabb, kültéri és beltéri fajtákat is. Ezek tulajdonságaikban eltérhetnek, ami értelemszerően az árban is tükrözıdik. Optikai vezeték Manapság már egyre kiterjedtebben használják, ami kiváló paramétereinek és egyre csökkenı árának köszönhetı. Az információ fényimpulzusok formájában terjed egy olyan közegben, ami ezt lehetıvé teszi A közeg lehet a

levegı is, azonban ebben az esetben szükséges, hogy az adó és a vevı egymás számára látható legyen. Ez nagyobb távolságok esetében nem megoldható több tényezı (a Föld görbülete, tereptárgyak, idıjárás, stb.) miatt A megfelelı választás az optikai szál Az fényvezetı egy speciális, nagyon vékony csı, aminek a belseje nem üreges, hanem valamilyen speciális anyag tölti ki. Ebben halad a fénysugár A mag körül helyezkedik el a köpeny, aminek a célja, hogy a fény kilépését a magból megakadályozza. A köpenyen egy lány burkolat található, aminek a szerepe a nagyobb ellenállóság biztosítása a fizikai terhelésekkel szemben. Az egész szálat egy kemény, mőanyag burkolat véd a környezet behatásaival szemben. Attól függıen, hogy a fény milyen módon halad a csıben, beszélhetünk egy- és többmódusú optikai kábelrıl.Figyeljük meg, hogy milyen méretekkel rendelkezik a kábel! A többmódusú kábel esetében a teljes

fényvisszaverıdés fizikai jelenséget használják fel. Ez kimondja, hogy ha a két közeg törésmutatójának különbsége megfelelı, akkor az erre a felületre esı fény nem lép át a másik közegbe, hanem teljes egészében visszaverıdik. A csı anyagának a kiválasztásánál is ezt a szempontot kell figyelembe venni. Ha a paraméterek megfelelıek, akkor létrejön a teljes visszaverıdés és a fénysugár gyakorlatilag csillapodás nélkül tud a vezetıben haladni. Az egymódusú kábel esetében a csı átmérıje a fény hullámhosszával megegyezı. Ez azért különleges eset, mivel ekkor a fény nem fog ide-oda verıdni. Ezzel a módszerrel nagyobb távolság hidalható át erısítés nélkül. Az optikai kábeleknél nagyon fontos szempont, hogy a vezeték egységnyi hosszon mekkora jelcsillapítással rendelkezik. A csillapítást dB-ben adják meg egységnyi hosszúságra vonatkoztatva (pl: dB/km) A fényforrás egy LED, vagy lézer dióda. Ezek az

eszközök félvezetık, melyek nagyon jól fókuszálható fényt állítanak elı a rajtuk átfolyó áram erısségétıl függı intenzitással (erısséggel). Fényérzékelıként fotótranzisztort alkalmaznak. Ez szintén félvezetı, ami a kristályra esı fény erısségétıl függı kimeneti jelet állít elı Az optikai adatátvitel esetében az áthidalható távolságot a fényveszteség határozza meg, ami három jellemzınek a függvénye. A két közeg összeillesztésénél a fény egy része visszaverıdik. Ezen segíteni lehet a lehetı legpontosabb illesztéssel. Erre a célra ma már rendelkezésre állnak a megfelelı eszközök Ugyanezt a hatást okozzák az átviteli közegben lévı szennyezıdések is. Ezen a tényen a megfelelı anyagválasztással lehet csökkenteni. A harmadik veszteség abból adódik, hogy ha fény nem megfelelı szögben érkezik a közeg határfelületére, akkor a fény egy része nem verıdik vissza. Ezen az anyagválasztással és a

fény hullámhosszának a helyes meghatározásával tudunk segíteni. Az optikai szál nagyon kényes a fizikai terhelésre. Mivel a kábel nagyon vékony és viszonylag merev, ezért a fizikai megterhelést nehezen viselik. Minden nagyobb, vagy hosszan tartó terhelést más szerkezeti elemnek kell 49 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. átvennie. Annak érdekében, hogy azért a vezeték kezelhetı legyen, a lágy burkolatban a köpenyt és a magot hullámosítva helyezik el. Ez biztosítja a bizonyos szintő nyújthatóságot és a hajlíthatóságot Ennél az átviteli közegnél a legproblémásabb és legfontosabb kérdés a jelek be és kicsatolása, amire alapvetıen kétféle csatolótípust alkalmaznak. A passzív illesztı két, az optikai szálra kapcsolódó csatlakozóból áll. Az egyik egy LED-et, míg a másik egy fényérzékelı félvezetıt tartalmaz. Az aktív illesztı annyiban több, mint a passzív, hogy a vett jeleket

átalakítja villamos mennyiséggé, felerısíti, visszaalakítja fényimpulzusokká és újra a közegre kapcsolja. Az optikai adatátvitel során az információt különbözı hullámhosszúságú fényjel hordozza. Könnyő belátni, hogy a kétirányú adatátvitelhez két optikai szál szükséges. Ez gyakorlati problémát nem okoz, mivel a szilárd szigetelıben rendszerint több kábelt fognak össze. Megoldható üzenetszórásos topológia is, mivel léteznek az ehhez szükséges interfészek. 50 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A18. A számítógépek utasításkészlete, az utasítások szerkezete, az adatok címzési módjai az utasításokban (abszolút címzés, relatív címzés, közvetlen adatcímzés, indexelt címzés). Utasításkészlet, utasítástípusok: Egy processzor utasításkészlete azoknak az elemi (gépi kódú) utasításoknak az összessége, amelyek végrehajtására a processzor hardver szinten alkalmas. Az

utasítások a következıképpen csoportosíthatók: - átviteli utasítások: tároló, veremkezelı (PUSH/POP), periféria mőveleti utasítások: aritmetikai (ADD) és logikai mőveletek (AND), léptetés vezérlı utasítások: a program végrehajtását, a gép mőködését befolyásolják; feltétel nélküli, és feltételes ugrás (JMP, JNZ), szubrutinhívás (CALL), megszakítás engedélyezés/tiltás Utasításszerkezet: A számítógépek utasításainak hossza egyes processzoroknál rögzített fix érték, más típusoknál változó, 2-6 byte hosszúságú. A változó és gyakran igen hosszú utasítások a CISC processzorokra jellemzıek, míg a redukált utasításkészlető RISC processzorok utasításai rögzített hosszúságúak és rövidek. Az utasítás szerkezete megszabja azt, hogy a processzornak az utasítás mely részét hogyan kell értelmeznie. Egy utasításnak feltétlenül tartalmaznia kell azt, hogy annak hatására a processzornak milyen

mőveletet és mely operandusokkal kell elvégeznie. Egyes esetekben az operandus maga található az utasításban CISC és RISC összehasonlítása: CISC: összetett utasításkészlető processzor, mikroprogramozott utasítás végrehajtás Sokféle utasítás. Sokféle címzési mód. Az utasítások változó hosszúságon kódolhatók. Kevés belsı regiszter Kevés adatcsatorna (2 egész, 1 lebegıpontos típusú Fejlett elágazáskeresés Címkiszámító egység: fregmentált és lapozásos mem.kezelés TLB: fordítási segédpuffer (gyakran elıforduló címeknél). Beintegrált védelmi rendszer A magas szintő programozási nyelven készített programot gépi utasításokra fordítja le, majd a végrehajtás mikroutasításokkal történik RISC: csökkentett utasításkészlető processszor, nem mikroprogramozott Kevés fajta utasítás. Kevés fajta címzési mód. Az utasítások rögzített hosszúságúak. Nagymérető regisztertömb Sokféle adatcsatorna. Operatív

tárhoz fordulás ritka. A védelmi rendszer nem hatékony Gépi kódban nem írnak RISC-et,, csak magas szintő nyelven. Utasítások tárolási formái Az adatokon kívül a feladatok mőveleteinek végrehajtásakor a vezérlı program utasításait is el kell helyezni. Az utasítások 3 fı részre bonthatók (értelmezés szempontjából ) - mőveleti jelrész - a feladat fajtáját adja meg - címrész - adatok memóriabeli címét adja - kiegészítı rész - címek pontos meghatározásához ad módosító elıírást. Egy utasítás végrehajtásakor a processzornak 4 címre van szüksége: - az elsı operandus címe - a második operandus címe - az eredmény címe - a soron következı utasítás címe. Attól függıen, hogy az utasítás címrésze milyen címet tartalmaz beszélhetünk 4, 3, 2, 1, 0 címes utasításszerkezetrıl. Általában 2 és 1 címes utasításszerkezet használatos a processzoroknál. 51 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B

tételsor. - Háromcímes utasítás: az utasításszámláló regiszter(PC) bevezetésével elhagyható a soron következı utasítás címe. Ezt a címet fogja tartalmazni a PC - A kétcímes utasításforma esetén az eredmény címét hagyjuk el, és az eredményt a processzor vagy az egyik operandus helyére, vagy egy erre a célra szolgáló regiszterbe, az akkumulátor regiszterbe írja be automatikusan. - Az egycímes utasításforma bevezetésével elhagyjuk a második operandus címét, viszont ebben az esetben elengedhetetlenül szükséges az akkumulátor regiszter. - Az összes cím elhagyásával kapjuk a nullacímes utasítást, ennek használatához viszont szükséges a veremtároló alkalmazása. Címzési módok A közvetlen, abszolút címzési mód esetében, az utasítás címrészében az operandus valódi, pontos címe található. A közvetlen cím vonatkozhat a memóriára (memory direct), vagy a processzor valamelyik regiszterére (register direct).

Ez utóbbi esetben, a regisztercím megadásához kevesebb helyre van szükség az utasításban, így az ilyen utasítás hossza kisebb, mint a memória hivatkozásos utasításé. Memóriacímzés esetén a tároló méretétıl függıen 16-32 bit hosszúságú cím megadására van szükség, míg regisztercímzésnél 3-5 bit hosszúságú címrészre van csak szükség. Az abszolút címzés használata nem mindig elınyös, mivel az így elkészült program és a kapcsolódó adatok a memóriában nem helyezhetık át, mert akkor a program összes címét módosítani kellene. Az abszolút cím elsısorban a vezérlésátadó utasításokban okoz gondot, mivel a program áthelyezésével az ugrás célpontja, annak címe is megváltozik. De ugyanígy az adatok helye is megváltozhat, így az ezekre történı hivatkozásokban is módosítani kell a címet. Relatív címzés esetében az utasítás címrésze az operandus valamilyen alapcímhez (báziscímhez) viszonyított

címét tartalmazza. Az elıbbieknek megfelelıen beszélhetünk bázisrelatív, programrelatív, illetve utasításrelatív címzésrıl. Az utasításrelatív címzéshez, többnyire önálló mőveleti jelrésszel rendelkezı külön utasításfajta használható. A tárolóhely pontos címe két címérték összeadásával, a báziscím és az utasítás címrészében lévı cím összegeként adódik ki. A bázisrelatív címzést legtöbbször a tárolóterület szegmentálására használjuk fel. Azaz annak érdekében, hogy az utasításbeli cím rövidebb lehessen, a memóriát kisebb részekre (szegmensekre, modulokra) osztjuk fel és ezen részek kezdıcímét helyezzük el a bázisregiszterben. Egy-egy ilyen szegmens pl, tárolhat csak adatokat, vagy csak programutasításokat. Ezt a megoldást találjuk pl az Intel processzorok esetében is A programrelatív címzés (amikor a programbeli címek a program kezdetéhez viszonyítva vannak megadva) talán az egyik

legfontosabb alkalmazási területe a relatív címzésnek, mert ez teszi lehetıvé a programok memórián belüli áthelyezhetıségét, azaz bárhová betöltve a programot, beállítva az alapcímet a program kezdetére, az futtatható lesz. Az utasításrelatív címzés használatakor, az aktuális, végrehajtás alatt lévı utasítás tárolóbeli helyének szőkebb környezetét lehet elérni, ezért leggyakrabban relatív ugró (vezérlésátadó) utasításokban találjuk meg ezt a megoldást. Közvetett (indirekt) címzési mód A közvetlen címzéső utasításnál, az operandus memóriabeli címét, vagy annak egy összetevıjét találjuk az utasításban. Az indirekt címzésénél, az utasításban található cím nem magának az operandusnak a címét adja meg, hanem annak a tárolóhelynek a címét, ahol aztán az operandus címét megtalálja a processzor. Egyes processzorok esetében ez a címzési mód lehet többszintő is, azaz az utasításban megcímzett

tárolóhelyen nem az operandus címe található, hanem egy további tárolóhely címe, amely már (ha nincs újabb indirekt címzésre utaló jelzés) atz operandus címét tárolja. Így, az indirekt címzésnél a pontos cím kidolgozása több lépésben történik. Az indirekt címzés történhet valamely memória tárolóhely felhasználásával (memory indirect addressing), vagy a processzor valamelyik regiszterének (register indirect addressing)segítségével. Az ezeken a tárolóhelyeken tárolt címeket, amelyek az operandusok címei, “mutatók”-nak pointereknek nevezik. Közvetlen adatcímzés, álcímzés (immediate addresing) Ennek a címzési módnak a használatakor, maga az operandus található az utasítás címrészében. A használható operandus-nagyság erısen korlátozott, az utasítás címrészének hossza szabja meg az így tárolható operandusok 52 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. legnagyobb értékét. Ezt

a címzési módot kisebb értékő konstansokkal való munkához lehet felhasználni, mivel így nagyon könnyen lehet egyes regiszterekbe, tárolóhelyekre konstansokat betölteni. Indexelés A feldolgozások széles körében van szükség arra, hogy adatsorozatokon kelljen elvégezni valamilyen mőveletet. Ezekben az esetekben azt kell megoldani, hogy valamilyen egyszerő formában ciklikusan sorra elı tudjuk venni az egyes tárolóhelyeken lévı adatokat. Az indexelt utasításokat adatsorozatokon végzett mőveletekkor, ciklusokban tudjuk elınyösen használni. Az adatsorozat elsı elemének tárolási címét tartalmazza az utasítás címrésze és az indexregiszterben (IX) található az ettıl való eltérés, azaz hogy hányadik elemet kell a sorozatból feldolgozni. Az indexregiszter tartalmának folyamatos növelésével (vagy csökkentésével) végig tudunk haladni az összes adaton, tárolóhelyen. Mivel egy-egy adat elıkeresése után mindig növelni (csökkenteni)

kell az indexregiszter tartalmát, ezért alkalmaznak olyan megoldásokat is, ahol ez a növelés automatikusan megtörténik. Ezt a lehetıséget nevezik autóindexelésnek. A tárolóhely pontos címe az utasítás címrésze tartalmának (mint alapcímnek) és az indexregiszter tartalmának összeadásával jön létre. Az IX indexregiszter tartalmát folyamatosan növelve, végig lehet járni a teljes adatsort. Az indexelt utasítás és a relatív címzési mód igen hasonlít egymáshoz, mert mindegyiknél egy alapcímtıl való eltérés adja meg a pontos tárolóhely címét. Azonban lényeges különbség van a kétféle címzési lehetıség között. A relatív címzésnél az alapcím egy regiszterben van és ennek értékét nem változtatjuk folyamatosan, az indexelt utasítások esetében az alapcím az utasításban van és a folyamatosan változó rész az indexregiszterben található. 53 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A19. A

számítógépes adattárolás formái és szabványai (a numerikus és szöveges adatok tárolására vonatkozó legfontosabb formák és szabványok). Általánosan használt számrendszerek: - kettes (jelkészlet: 0,1) - tízes (jelkészlet: 0,1,2,3,4,5,6,7,8,9) - tizenhatos (jelkészlet: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F) Ezek a számrendszerek egymás közt konvertálhatók. A számítógép adatok tárolására a kettes számrendszert használja a Neumann elvek szerint. Ugyanis vagy azt érzékeli, hogy van (1) vagy azt, hogy nincs (0). A Neumann elvő számítógépeknél mind a programokat, mind az adatokat ugyanabban a tárolóban helyezzük el, és a tárolás jellege mindkét esetben ugyanaz. A tárolt jelsorozat értelmezésétıl függ csak, hogy a tárolóhely tartalmát utasításnak vagy adatnak kell-e tekinteni. Egy utasítás mindig értelmezhetı adatként. Adatok tárolásának fı célkitőzései: - a tárolás hatékony megoldása az egyértelmő és könnyő

értelmezhetıség fenntartása mellett - numerikus adatok esetén a mőveletvégzés legegyszerőbb és leggyorsabb módú megvalósításának elısegítése (például helyiértékes, kettes számrendszer használata; pozitív, negatív számok megfelelı kódolása; decimális mőveletvégzéshez a legmegfelelıbb decimális kód használata stb.) Numerikus adattárolás szempontjából megkülönböztetünk: - kettes számrendszer szerinti tárolás - fix pontos - lebegıpontos - tízes számrendszer szerinti tárolás - BCD Numerikus adatok tárolási problémája Kézi számolásnál az eredmény pontosságát nem befolyásolja semmi. A papírra ugyanis annyi számjegyet írhatunk le, amennyit akarunk. Más a helyzet a számítógépeknél, amelynek tárolóhelyei véges hosszúságúak Az elvégezhetı mőveletek (összeadás, kivonás, szorzás, osztás) nem mindig vezetnek olyan eredményre, amelyet a rendelkezésre álló tárolóhelyen el tudunk helyezni (pl. negatív

eredmény, hosszú tizedes tört) A mőveletek elvégzése során az egyik hibajelenség az, hogy az eredmény túl nagy (overflow = túlcsordulás), vagy túl kicsi (underflow = alulcsordulás) ahhoz, hogy a rendelkezésre álló tárolóban megjeleníthessük. A másik hibajelenség pedig az, hogy az eredmény nem tartozik az operandusok halmazába. (egész számokkal végzett mővelet eredménye nem mindig egész szám) Fix pontos Jellemzıi: - kisebb, kevesebb számjegybıl álló számok tárolásához - rögzített nagyságú memóriaterületen tároljuk - helyiérték elválasztásához kettedes pontot használunk (ennek helye rögzített!) - tárterület: 2-4bájt Tárolási formája: ±a.b Ahol: - „a” egész számjegy - „.” kettedes egy - „b” törtrész számjegyei Lebegıpontos Jellemzıi: - hatványkitevıs tárolásmód, kisebb és nagyobb számjegyek tárolásához - a tárolási formájukat pontosságuk határozza meg (hány biten) - nemzetközi szabvány a

gépi ábrázolás adatformátumára illetve a velük végezhetı mőveletekre (ANS/IEEE 754 és 845 szabvány) - tárterület: 4-6-8bájt Tárolási formája: ±a·r±p 54 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. Ahol: - „±” elıjel, melyet egyetlen biten tárolunk mindig - „a” mantissza, vagyis a fixpontos egész - „r” radix, ez a számrendszer alapszáma, (általában 2-es) ez ami rögzített mindig, ezért ezt már nem kell tárolni „p” karakterisztika vagyis a hatványkitevı A lebegıpontos ábrázolást az IEEE 754 szabvány rögzíti. Jellemzı Elıjelbit Karakterisztika Mantissza Egyszeres [bit] 1 8 23 Dupla pontosságú [bit] 1 11 52 Kiterjesztett pontosságú [bit] 1 15 64 Négyszeres pontosságú [bit] 1 15 112 A lebegıpontos számokkal végzett mőveletek problémája a túlcsordulás és az alulcsordulás megfelelı kezelése. A szabvány ezek kezelésére további adatformátumokat határoz meg. Ezek : 

denormalizált adatformátum  nulla számérték  végtelen érték  nem meghatározott számérték (Not a Number: NaN) Tízes számrendszer: Ebben a kódrendszerben a tízes számrendszerbeli számok számjegyeit egyenként konvertáljuk át az alkalmazott bináris kódba. Mivel csak tízféle számjegyet használunk, ábrázolásukhoz elegendı 4 bit is Legáltalánosabban használt kód a BCD (Binary Coded Decimal, binárisan kódolt decimális) kód, de léteznek még más kódok is. (Stibitz, Aiken, Gray stb). BCD kód A BCD kód a legkönnyebben elıállítható, ezért talán a legáltalánosabban használt kód. Ennél a kódnál a számok számjegyeinek a kettes számrendszerbeli értéke felel meg, négy helyi értékre kiegészítve. Pozitív és negatív számok megkülönböztetésére a 4 helyi értéken képezhetı 16 jelkombinációból fennmaradó 6 jelsorozat valamelyikét kell kiválasztani. Az egyik alkalmazott tárolási formánál a szám elıjelét az utolsó

4 helyi értéken tárolják, és értéke megegyezés szerint rögzített.(1100 = + ; 1101 = - ) Mikor melyiket használjuk? - Kettes számrendszert akkor használunk, ha aritmetikai mőveleteket kívánunk végezni a számokkal (számításigényes problémák megoldásakor). - Tízest akkor, ha a számítási munka egyszerő, nagy tömegő adatot kell beolvasni. Tízes számrendszer ábrázolásához 4 bit szükséges. Alfanumerikus adatok tárolása Ha az adatokkal nem kívánunk aritmetikai mőveleteket végezni, csak tárolni és nem-aritmetikai mőveleteket végezni, a numerikus adatok kódolására használt módszerek nem alkalmasak. Alfanumerikus (bető, számjegy, speciális jelek) adatok tárolására az ASCII (American Standard Code for Information Interchange) kódrendszert használják, illetve az IBM nagygépeknél használt EBCDIC (Extended Binary Coded Decimal Interchange Code). ASCII tárolása 8 biten (=1bájt), ami 7 bit + 1 paritásbit Egyéb adattárolási

módok: az eddig ismertetett formák jellemzıje, hogy magából a tárolt jelsorozatból nem lehet következtetni annak tartalmára, azaz, arra, hogy milyen típusú adatot képvisel. Mivel ez nem mindig elınyös, alkalmaznak olyan tárolási formákat is, amelyek az adatot képviselı bitek mellett további kiegészítı részeket is tárolnak az adat típusának a jelölésére. Ezt a formát nevezik öndefiniáló adatformának (pl a Motorola, SPARC processzoroknál) Utasítások tárolási formái Az adatokon kívül a feladatok mőveleteinek végrehajtásakor a vezérlı program utasításait is el kell helyezni. Az utasítások 3 fı részre bonthatók (értelmezés szempontjából) - mőveleti jelrész - a feladat fajtáját adja meg - címrész - adatok memóriabeli címét adja 55 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. - kiegészítı rész - címek pontos meghatározásához ad módosító elıírást. Egy utasítás végrehajtásakor a

processzornak 4 címre van szüksége: - az elsı operandus címe - a második operandus címe - az eredmény címe - a soron következı utasítás címe Attól függıen, hogy az utasítás címrésze milyen címet tartalmaz beszélhetünk 4, 3, 2, 1, 0 címes utasításszerkezetrıl. Processzorok utasításszerkezetei: 2, 1 címes utasításszerkezet használatos a processzorok többségénél. A háromcímes processzor kialakítása nem túl gyakori. - az utasításszámláló regiszter(PC) bevezetésével elhagyható a soron következı utasítás címe. Ezt a címet fogja tartalmazni a PC. Ez a forma a háromcímes utasítás - a kétcímes utasításforma esetén az eredmény címét hagyjuk el, és az eredményt a processzor vagy az egyik operandus helyére, vagy egy erre a célra szolgáló regiszterbe, az akkumulátor regiszterbe írja be automatikusan. - az egycímes utasításforma bevezetésével elhagyjuk a második operandus címét, viszont ebben az esetben

elengedhetetlenül szükséges az akkumulátor regiszter. - az összes cím elhagyásával kapjuk a nullacímes utasítást, ennek használatához viszont szükséges a veremtároló alkalmazása. 56 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A20. Az IBM PC-k operációs rendszerei (DOS, Windows, UNIX összehasonlítása) A számítógép egymagában nem képes mőködni. Ahhoz, hogy valamire használni is lehessen szükség van bizonyos utasításokra, programokra, amelyek mőködıképessé teszik azt. Ezek az utasítások írják elı, például, a gépnek, hogy mit tegyen abban az esetben ha lenyomtunk egy billentyőt, vagy ha futtatni akarunk egy programot, vagy ha egy program valamelyik lemezrıl akar olvasni illetve rá akar írni, egyszerően ezek biztosítnak bármilyen kommunikációt a felhasználó és a gép között, valamint vezérlik a programok végrehajtását. Ezeket az utasításokat (programokat) nevezzük egyszóval operációs

rendszernek Az ISO megfogalmazása szerint az operációs rendszer "olyan programrendszer, amely a számítógépes rendszerben a programok végrehajtását vezérli: így például ütemezi a programok végrehajtását, elosztja az erıforrásokat, biztosítja a felhasználó és a számítógépes rendszer közötti kommunikációt." Az IBM / PC gépek legfontosabb operációs rendszerei a következık: - DOS - WINDOWS ( Win95, win98, NT, 2000, XP, Vista ) - UNIX ( Linux ) - OS/2 ( Warp ) stb. 1. A DOS operációs rendszer A PC-DOS / MS-DOS páros a Microsoft cég terméke, a 80-as évek legelterjedtebb operációs rendszere volt. Egyfelhasználós, egyfeladatos interaktív rendszer, röviden csak DOS-nak nevezzük. A DOS rendszeradminisztrációs rutinjai egyrészt a ROM-ban vannak (ROM - BIOS), más részük a háttértárolón találhatóak. Errıl a tárolóról töltıdnek be a memóriába a gép bekapcsolásakor, vagy a RESET - tel történı újraindításkor. Ezek a

rutinok 2 rendszerállományban vannak (IOSYS és MSDOSSYS) A DOS háttértárolón található harmadik komponense a COMMAND.COM szabványos parancsértelmezı, mely a billentyőzeten beütött parancsnyelvet fogadja, megkeresi és futtatja a programokat, egyszóval az ember - gép közti közvetlen kapcsolatot valósítja meg. A szabványos parancsértelmezı le is cserélhetı A parancsértelmezı kétféle parancsot kezel: belsı és külsı parancsokat. A belsı parancsokat - ezekrıl volt idáig szó - a rendszerállományok tartalmazzák, ezek mindig a memóriában vannak. A külsı parancsok valójában a háttértárolón található futtatható állományokban, un. fájlokban vannak, innen töltıdnek be futtatáskor a memóriába. A fájlok megnevezésénél figyelembe kell venni, hogy az érvényes szabályoknak megfelelıen a név maximálisan 8 karakterbıl állhat, és egy ponttal elválasztva maximum 3 karakteres un. kiterjesztésbıl amely utalhat a fájl típusára. A

futtatható állományok kiterjesztése EXE, COM vagy BAT lehet A név megadásánál szempont az is, hogy a név karakterei csak az angol ABC betői, számjegyek, valamint néhány speciális karakter lehet ( , #, & stb.) Nincs különbség a kis és nagybetők közt A DOS állományok lehetnek tehát futtatható, szöveges, valamint adat állományok. Az állományok tárolása bájtokban történik, függetlenül attól, hogy milyen típusú állományról beszélünk. A különbség azok értelmezésénél adódik. A szöveges állományok sorokat tartalmaznak, a sorok karakterekbıl és sorvégjelbıl állnak, ami a CR/LF karakterekbıl áll. A nem szöveges állományokat nevezik még bináris állományoknak A bináris állományok nincsenek sorokra tagolva a CR/LF sorvégjellel. Értelmezésük a rendszertıl, a programoktól függ. A .BAT kiterjesztéső futtatható állományok is lényegében szöveges állományok, melyeknek sorai különféle DOS parancsokat, valamint

csak ilyen állományokban használható utasításokat tartalmaznak, melyeket a parancsértelmezı sorra elolvas és végrehajtja azokat, mintha parancssorból olvasná be. A DOS-ban az állományok egy könyvtárstruktúrában helyezkednek el. Létezik egy kiinduló katalógus, melyet gyökérkönyvtárnak (root) neveznek. Ebbıl indulnak ki a további alkatalógusok, alkönyvtárak A fájlok ezekben a katalógusokban találhatóak, ugyanakkor a katalógusok tartalmazhatnak további alkatalógusokat is. Ezért a katalógusrendszer egy fastruktúrához hasonlít. A katalógusok megnevezésénél ugyanazok a szabályok érvényesek mint a fájloknál. A könyvtárszerkezet használatával jár az is, hogy a fájlok azonosításához meg kell adni az ıt tartalmazó könyvtár azonosítóját, elérési útvonalát is. A szülıkönyvtár az a katalógus, amelyhez az aktuális katalógus tartozik Ennek a jele a két pont (.) Ezt is lehet használni az útvonal megadásokban 2. A WINDOWS

operációs rendszer A Windows összes verziója a grafikus felhasználói felület (GUI - Graphic User Interface) használatára épül. Itt az irányítás nagyrészben már nem a billentyőzetrıl, hanem az egérrıl történik. Az operációs rendszer kezelése az utasításról a kiválasztásra tevıdött át. A Windows már többfeladatos, multitaszkos operációs rendszer, egyszerre több alkalmazás is futtatható, más más ablakokban. Internetes lehetıségekkel, beépített hálózatkezelési lehetıséggel rendelkezik 57 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A Windows NT a Windows továbbfejlesztett, üzleti célú megvalósítása, alkalmazásával több gép összekapcsolható, így megosztva az erıforrásokat. Kiterjedt biztonsági rendszere van (felhasználó nyilvántartás, kötelezı bejelentkezés, hozzáférési jogok, a programok memóriaterületeinek védelme, események naplózása stb.) A fájl és könyvtárstruktúra a

Windows régebbi változataiban megegyezik a DOS-ban használt struktúrával, csak a megjelenítése történik grafikusan. Viszont a Windows 95-ben már lényeges változásokat eszközöltek ezen a téren. A Windows 95 és 98 kihasználja a 32 bites hardverlehetıségeket. A hardver megváltoztatása esetén bekapcsoláskor automatikusan felismeri a változást és azonosítja az új elemet (Plug and Play). A fizikai könyvtárstruktúra azonos a DOS könyvtárstruktúrájával, a fájlok is ugyan úgy helyezkednek el a katalógusokban. Az elnevezéseknél viszont már lehet hosszú neveket, valamint más karaktereket is használni A nevek hossza legfeljebb 250 karakter lehet A fizikai megvalósítás szinte teljesen azonos a DOS - al, a különbség a megjelenítésben található. A lemezen ugyan úgy vannak tárolva az állományok, a nevük is csak maximum 13 karakter hosszú, beleértve a kiterjesztést és a pontot is, a hosszú megnevezés egy másik fájlban található. A

Windows újabb változatai már nem sok mindenben hasonlítanak az elıdökhöz, bár kompatibilisek vele. Tudják kezelni a FAT fájlrendszert, de alapvetıen NTFS fájlrendszert használnak. Sok eszközt automatikusan felismernek, bár hatalmas erıforrást is igényelnek. Windows – XP: Az XP alapvetıen 32 bites hardverre készült, elkészült a 64 bites változata is, bár csak angol nyelven adták ki. Windows Vista: A Microsoft legújabb terméke a háromdimenziós megjelenítést és a biztonságot helyezi elıtérbe és 64 bites hardverre készült. 3. A UNIX operációs rendszer A UNIX valójában a Unix alapú operációs rendszerek csoportja (pl. HP-UX, IRIX, stb) Létezik ingyenes verziója is, a LINUX (pl. Red Hat, Suse, Debian) Többfelhasználós - többfeladatos, idıosztásos operációs rendszer. Ez azt jelenti, hogy egyidıben több felhasználó is dolgozhat, és minden felhasználó több programot is futtathat egyidıben. A felhasználók ún terminálokon

keresztül csatlakoznak a rendszerre, az összeköttetés megvalósítására számos módszer létezik. Minden felhasználónak van bejelentkezési neve és jelszava, ez különbözteti meg ıket egymástól. A rendszer karakteres és grafikus felülettel is rendelkezik. A felhasználókat, jogosultságaikat nyilvántartja A rendszer mőködése biztonságosabb, mivel az egyes folyamatoknak a gép fizikai erıforrásaihoz nincs hozzáférésük, bármilyen perifériamőveletet csak a kernel meghívása útján végezhetnek. A kernel teljes mértékben hozzáfér a gép erıforrásaihoz. Fizikai szinten kezeli a hardvert, a legnagyobb teljesítmény érdekében A boot-olást kivéve nem használja a BIOS-t, mert az a DOS figyelembevételével készült és nem alkalmas multitaszk operációs rendszer számára. A memóriakezelésben lapozásos virtuális memóriakezelést és swappingot használ: ha a rendszernek szabad memóriára van szüksége, egy inaktív folyamatot a

háttértárra ír, egyébként pedig gondoskodik a szükséges lapok memóriában létérıl. A szabad memóriát winchester bufferként használja, ezért kikapcsolás elıtt le kell állítani a rendszert, különben adatvesztés léphet fel. A futó folyamatok között az idıszeleteket prioritásos elven osztja ki, mely a felhasználó által beállítható. A Unixban minden file: olyan kommunikációs végpont, ahova adatok írhatóak és onnan kiolvashatóak. A file rendszerben nincsenek meghajtók, a rendszerben levı minden file-t a gyökérkönyvtárból elérhetünk (pl. /mnt/floppy) A filenév max 255 karakter hosszú lehet, minden karaktert tartalmazhat, megkülönbözteti a kis és a nagybetőket. A UNIX minden állományhoz és katalógushoz hozzáférési jogokat rendel, ezzel (is) biztosítva az adatok és a rendszer védelmét. A fájl az adatok tárolására szolgáló alapvetı adatobjektum a UNIX alatt. Teljesen strukturálatlan, nincs sem rögzített, sem

változó hosszúságú mezıkre, rekordokra bontva, nincs megszabott hosszúsága, semmilyen más korlátja nincs, a végét nem jelzi semmilyen speciális karakter - akkor van vége, amikor már nincs mit olvasni belıle. A fájl tehát egyszerően bájtok (karakterek) sorozata A UNIX fájloknak három fı típusa van:  Közönséges • • adat végrehajtható ∗ bináris ∗ shell-script  Speciális  Katalógus A shell-scriptek ugyanazok a UNIX - ban mint a DOS - ban a batch fájlok. Sorai végrehajtható parancsokat tartalmaznak. A bináris - amint a neve is mutatja - a futtatható programok bináris kódját tartalmazza 58 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A speciális fájlokon keresztül lehet elérni a különbözı perifériákat, terminálokat, billentyőzetet, monitort, diszkeket, hálózati egységeket stb. Tehát lényegében nem is a képernyıre írunk, hanem egy fájlba, és a rendszer dolga, hogy a fájl tartalma a

monitorra kerüljön. A katalógusok fájlok egy másik fájltípus. Ez azt jelenti, hogy a UNIX - ban a katalógusok is fájlokban találhatóak. Annyi a különbség, hogy ezen fájloknak a kezelésére külön parancsok szolgálnak Ezért lehet kijelenteni, hogy a UNIX - ban minden fájl ! 59 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A21. Az utasítás feldolgozás gyorsítása párhuzamosítással A SIMD és MIMD architektúra, a pipelining lényege, szuperskalár mikroprocesszorok. SISD (Single Instruction Stream single Data Stream) azaz, egyetlen utasításfolyam és egyetlen adatfolyam feldolgozása. Az ilyen gépek egy vezérlı egységgel és egy aritmetikai egységgel rendelkeznek, egyidıben egyetlen utasítás végrehajtására alkalmasak. Ebbe a csoportba tartoznak a hagyományos Neumann elvő számítógépek. SIMD (Single Instruction Stream Multiple Data Stream) Egyetlen utasítással ugyanazt a mőveletet több adaton végzi el a

processzor. Az Intel MMX processzorában vezette be elıször, majd az SSE utasításkészletében is alkalmazza. Az AMD a 3DNow! utasításkészletében alkalmazta elıször Amint azt a 1.1 ábra mutatja, a SIMD számítógép egy nagyteljesítményő vezérlı processzorból és több, kisebb teljesítményő feldolgozó elembıl áll. Amint azt az ábra mutatja, a SIMD számítógép egy nagyteljesítményő vezérlı processzorból és több, kisebb teljesítményő feldolgozó elembıl áll. A feldolgozó egységeket gyakran rácsszerően kötik össze úgy, hogy minden egység a közvetlen szomszédaival kommunikál. A vezérlı processzor – a soros gépek processzorához hasonlóan – egymás után olvassa és dekódolja az utasításokat. A soros esetben a processzor a beolvasott utasítást a saját memóriájában lévı adatokkal hajtja végre. A párhuzamos esetben a vezérlı processzor minden feldolgozó egységhez elküldi a beolvasott utasítást és azok

egyidejőleg hajtják végre ezt az utasítást a saját memóriájukban tárolt adatokon. Példaként tekintsük az LD reg, 100 utasítást. Ennek hatására minden processzor betölti a 100-as memóriacím tartalmát a regiszterbe, de a 100-as cím processzoronként különbözı memóriarekeszt jelent. Tehát a processzorok – a SIMD felépítésnek megfelelıen – azonos utasítást hajtanak végre különbözı adatokkal. Az if test then if-branch else else-branch utasítás hatására a processzorok egyidejőleg elvégzik a tesztelést, azután egy részük az if-branch ágon folytatja, míg mások tétlenek maradnak, és végül az elıbbiek maradnak tétlenek és az utóbbiak végzik el az else-branch ágat. Emiatt a SIMD felépítéső számítógépek szabályos szerkezető számítások elvégzésére alkalmasak. Ez a felépítés történetileg lényeges, de ma már nem alkalmazzák A SIMD architektúrák csoportosíthatók: −tömb- (mátrix-) vagy vektorprocesszorokra,

ahol az adatok a mátrix vagy vektorelrendezésnek megfelelıen kerülnek feldolgozásra, −asszociatív processzorokra, ahol az adatok kiválasztása tartalom szerint történik, −szisztolés processzorra (Systolic Array), −adatfolyam (Data Flow) processzorra. −nagy utasításszó-hosszúságú (VLIW: Very Large Instruction Word) processzorra, a. Tömbprocesszorok (array processors), vektorprocesszorok (vector processors) A tömb- és vektorprocesszorokat olyan speciális területeken - pl. a jel- és képfeldolgozásban alkalmazzák, ahol −az elvégzendı mőveletek mátrix- vagy vektormőveletek formájában írhatók le, −az egyidejőleg kezelt operandusokat egyidejőleg lehet elérni. Ilyen mőveletek gyakoriak például a parciális differenciálegyenletek és lineáris egyenletek megoldása vagy a mátrix-szorzás során. A vektor- és tömbprocesszor is azonos utasítást hajt végre különbözı adatokon A vektorprocesszorokat is gyakran tömprocesszoroknak nevezik

(hiszen a vektor egydimenziós tömb). A kétdimenziós tömbprocesszorokat esetenként mátrixprocesszoroknak is hívják. 60 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. b. Asszociatív processzor Amennyiben a tömbrocesszoroknál asszociatív memóriát használunk, úgy kapjuk az asszociatív processzort. Természetesen a sebességjavulást a magasabb költségek árán tudjuk elérni. Ezért speciális célú feladatok megoldásához szokták e megoldást használni, melyeknél a tömbprocesszor jellegő feldolgozási igény mellett a sebesség elsıdleges és a költségek csak másodlagosak (pl. radarjel-feldolgozás, digitális képfeldolgozás repüléstechnikában). c.Szisztolés processzor A szisztolés processzorok sok olyan, azonos típusú, egyszerő processzorelemet tartalmaznak, amelyek csak a szomszédaikkal kommunikálnak. A számítás ütemenként haladnak elıre, és mint mőveleti "hullám" terjed tova a tömbön. A

mőködés során az adatok egyszerre (egy "dobbanásra") adódnak ("lökıdnek") át a szomszéd elemhez. d. Adatfolyam (Data Flow) processzor A számítógépek túlnyomó része (ilyenekrıl volt eddig is szó) az ún. „parancsfolyam” (vagy programfolyam) elven mőködik, vagyis a (utasításokat követı) vezérlések sorrendisége határozza meg a mőködés sorrendiségét. A másik lehetséges módszer az lehet, hogy akkor hajtódjon végre egy mővelet, amikor a végrehajtásához szükséges összes operandus (adat) rendelkezésre áll. Az adatfolyam gép így mőködik: a mőveletek sorrendjét az adatok (az „adatok folyama”) vezérlik. e. Igen nagy utasításszavú (VLIW: Very Long Instruction Word) processzorok Hasznos lenne olyan architektúrák alkalmazása, amelyek kihasználják a minden programban meglévı, nagyszámú különbözı típusú feladat vagy mőveletsor párhuzamosításának lehetıségét. A VLIW processzorok több ALU-t

tartalmaznak, amelyek lehetıvé teszik több mővelet párhuzamos végrehajtását. Nevüket onnan kapták, hogy egy-egy utasításnak minden egység számára meg kell adnia a végrehajtandó feladatot. Kulcsszerepet játszanak a VLIW számítógépek használhatóságában a hatékony fordítók Hiába a sok aritmetikai-logikai egység, ha a szoftver azokat sohasem használja ki. A fordítón belül is kritikus az elágazások megfelelı párhuzamosítása. Erre két módszer is született A nyomkövetı fordítási módszer a fordítás idején meghatározza az elágazások legvalószínőbb utját, és ezen út elsı utasításait párhuzamosítja a megelızı szakasszal. Ha a választás jó, ez a párhuzamosítás hatékonyan gyorsítja a programfutást, s csak néha eredményez fölösleges számításokat. Általánosabb a szivárgásos ütemezı fordítási módszer, amely az elágazásnál minden lehetséges utat végrehajt, majd a logikai kifejezés kiértékelése után

csak a megfelelıt tartja meg MISD (Multiple Istructtion Stream single Data Stream) Többutas utasításáramlás, egyutas adatáramlás. Többprocesszoros rendszer mely gyors feladatvégzésre képes, de csak egy aritmetikai egységet használ. A gyakorlatban ilyen gépek nem léteznek. Egyes szekértık ide sorolják a hibatőrı architektúrákat, melyek többszörösen végzik el a mőveleteket azonos adatokon és az eredményt hibavédelmi célból összehasonlítják. MIMD(Multiple Istructtion Stream Multiple Data Stream) azaz több utasításfolyam és több adatfolyam feldolgozása. Ebbe a csoportba tartozó gépek különbözı multiprocesszoros számítógépek A MIMD osztály a feladat-, eljárás- vagy szubrutin szintő párhuzamosságot használja ki. Mivel a megoldás több, azonos értékő processzort alkalmaz, így multiprocesszoros rendszereknek tekinthetjük ıket. A MIMD architektúrában a csatolás módja alapján szokták az architektúrákat csoportosítani

(Lazán csatolt rendszerek, Szorosan csatolt rendszerek). A csatolás történhet a memórián vagy az I/O eszközön keresztül A számítógép mőködésének gyorsítása egyrészt az alapütemet megszabó órajel frekvenciájának növelésével, másrészt a gépen futó folyamatok párhuzamosításával oldható meg. A folyamatok párhuzamosítási lehetısége azok részfázisokra való bonthatóságából adódik. A folyamatot olyan lépésekre kell bontani, amelyek mindegyike önálló részt képez, más-más erıforráshoz kapcsolódik. Így amint felszabadul valamelyik erıforrás, azt a másik folyamat hasonló feladatot elvégzı fázisa igénybeveheti. Az egyik fázis eredménye a következı fázis induló adatát képezi. Ez az átlapoló megoldás azt eredményezi, hogy egy-egy feldolgozási folyamat végrehajtási idıtartama ugyan nem változik, de ugyanannyi idı alatt lényegesen több folyamat fejezhetı be. Gyakorlatilag ez az elemi fázisok végrehajtási

idejének megfelelı idıközönként fejezıdik be egy-egy folyamat. Ezt az átlapolt feldolgozási módszert nevezik pipelining (adatcsatornás, futószalag) feldolgozásnak. Az ilyen módon átlapolt folyamatok feldolgozásához tartozó egységek mőködtetése kétféle módon történhet: • Aszinkron ütemezéssel, amely esetében az egymást követı fokozatok jelzik egymásnak elemi feldolgozási lépésük elkészültét, illetve azt, hogy készek fogadni a következı utasítás az arra az egységre elıirt feladat elvégzéséhez. Mindegyik egység amint befejezte tevékenységét, továbbadja a feldolgozást a következı egységnek, azaz a feldolgozás továbbhaladása folyamatos az adatcsatornán keresztül. 61 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. • Szinkron ütemezéssel, amelynél az egyes fokozatok azonos idıben kezdik feldolgozási lépéseiket, a feldolgozási folyamat ütemezését mindig a legtöbb idıt igénybe vevı

egység szabja meg. Ha egy-egy feladatat végrehajtása ,más és más leterhelési diagrammot eredményez, azaz az egyes feladatok nem ugyanazokat az erıforrásokat használják fel, akkor multifunkcionális, egyébként pedig egyfunkciós pipelinrıl beszélünk. Ugyancsak különbség tehetı aszerint, hogy a pipeline-on végighaladó feldolgozások minden erıforrást csak egyszer használnak fel, vagy több ízben is. Az elsı esetben lineáris pipeline-ról beszelınk Az utasításvégrehajtás gyorsítása Az utasítás-végrehajtási folyamat párhuzamosítását nehezítik az egymást követı utasítások egymásra hatása. Ez a következı területeken befolyásolja a feldolgozás folyamatát. • Az utasítások egymásutánisága az utasításfolyam feldolgozása • Az egymást követı utasítások által használt adatok rendelkezésre állása • A hardware erıforrások igénybevétele A megoldandó problémák gyakorlatilag három témakörbe sorolhatok: •

Strukturális memóriaelérés, az un. LOAD/STORE architektúra • Vezérlési (program elágaztatás kezelése) A nehézségek megoldására két úton van lehetıség: • Szoftver úton, azaz a program elkészítésekor, vagy fordításakor figyelembe venni a processzor mőködésébıl adódó megoldási lehetıségeket, követelményeket, így pl.: programozáskor a strukturált programírás elveit figyelembe venni, vagy a RISC processzorok esetében a fordítóprogramra bízni a programutasítások optimalizált sorrendjének az elemzését. • Hardware úton, amely ugyan gyorsabb, de bonyolítja a processzor felépítését. Erıforrások igénybevétele Az erıforrások használatának problémája abból származik, hogy a párhuzamosított folyamatok igen gyakran ugyanazt az erıforrást kívánják igénybe venni feldolgozásukhoz (pl. leggyakrabban a memória okoz ilyen gondot). Ennek egyik lehetséges megoldása az erıforrások többszörözése, amely nyilvánvalóan

többletköltséget eredményez. A memóriának mint erıforrásnak a használatát javítja az a megoldás, amit ’memory interleaving’nek neveznek Ennek lényege az, hogy a memóriát elérés, címzés szempontjából több részre osztják és az egymást követı (egyidejő) tárolóhoz fordulásokat más és más tárolórészhez irányítja a processzor. Így nem okoz gondot egyidejőleg több utasítás elıkészítése a feldolgozáshoz. Az igények sorba állítása egy másik lehetıség az azonos erıforrások iránti igények kiszolgálására. Ez azonban nem gyorsítja a feldolgozást Szuperskalár processzor: A mikroprocesszorok fejlıdése során a teljesítmény növelése csak az utasítás feldolgozási párhuzamosság egyre újabb dimenzióinak kiaknázásával vált lehetıvé. A párhuzamos végrehajtás, a futószalag-architektúrák, majd a kibocsátási párhuzamosság megjelenése hozta el az ún. szuperskalár mikroprocesszorokat, s ma már a piacon

elérhetı szinte összes mikroprocesszort a szuperskalár utasítás kibocsátás jellemzi. Skáláris feldolgozás Az átlagos utasítás végrehajtás megközelítıleg egyenlı a CPU sebességével Szuperskaláris: Több, mint egy utasítást hajt végre egy órajel alatt. • A mai szuperskalár processzorok óraciklusonként 2 - 6 utasítást bocsátanak ki. • Az elsı és a második generációs szuperskalár processzorok a függıségeket maguk kezelik, tehát a függıségek kezelése hardverúton dinamikusan történik. Elsı generációs (keskeny) szuperskalár processzorok Jellemzıi: Közvetlen (nem pufferelt) kibocsátás A kibocsátási ráta: RISC esetén 2 – 3 utasítás/ciklus CISC esetén 2 utasítás/ciklus Statikus elágazás-becslés A program-kód sajátosságai alapján hozza a döntését Pontosabb, mint a fix elırejelzés Memória alrendszere kétszintő gyorsítótárat alkalmaz L1 gyorsítótár 62 Gábor Dénes Fıiskola kidolgozott Államvizsga A

és B tételsor. Architekturálisan a processzor lapkáján helyezkedik el Külön adat- és utasítás-gyorsítótár Egy portos L2 gyorsítótár Különálló lapkán helyezkedik el Közös gyorsítótár az adatok és az utasítások számára Processzorsínhez csatlakozik Második generációs (széles) szuperskalár processzorok Jellemzıi: Dinamikus utasítás-ütemezés Regiszter-átnevezés Kifinomult memória alrendszer, kétportos L1 gyorsítótár Dinamikus ugrás elırejelzés A legelsı szuperskalár számítógép az IBM RS6000-es volt 1990-ben Miért van szükség szuperskalárprocesszoroknál elıdekódolásra és ennek végrehajtása hogyan történik? A processzor dekódolási feladatait csökkentik. Ennek során a dekódolás feladatainak egy része már akkor végrehajtásra kerül, amikor az utasításokat a másodlagos gyorsító tárból vagy a memóriából az L1 szintő gyorsító tárba írják. Ennek során ún elıdekódoló bitekkel egészítik ki az

utasítást Mit jelent a szuperskalár kibocsátási ráta és kibocsátási politika? ⇒ Kibocsátási ráta: megadja a processzor által ciklusonként kibocsátható vagyis a végrehajtó egységekhez továbbítható utasítások számát. ⇒ Kibocsátási politika: meghatározza a függıségek kezelését. Lehet adat és vezérlésfüggıség Milyen kezelési módjai vannak szuperskalár processzoroknál az adat és a vezérlésfüggıségeknek? • Adat: áladatfüggıségeket regiszterátnevezéssel megszünteti • Vezérlés: ⇒ blokkolással: processzor felfüggeszti az utasítás kibocsátást a feltétel kiértékeléséig ⇒ spekulatív elágazáskezeléssel: processzor valamilyen módszerrel megbecsüli az elágazási utaístás kimenetét. 63 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A22. A félvezetı technológiák fejlıdésének gazdasági hatásai a számítógép iparra • • • • • • Fı fejlesztési irányok a

félvezetı technikában: o Integráltsági fok növelése, vonalvastagság csökkentése, fotólitográfia, elektronsugaras litográfia automatizálása, rendszertechnikai egyszerősítések Integráltsági fok növelésével egyre inkább a szilárd anyagon beüli szerkezet kialakításából és nem összeszerelésbıl áll egy digitális berendezés elektronikai része. Utóbbi 30 évben a mőszaki paraméterek 5-10-szer jobbak, az elıállítási ár pedig a 10-e mint régebben. A chipek bonyolultsága évente duplázódik IC jelentıségéenk felismerése: USA stratégiai őrkutatási szempontok miatt állami támogatás volt.  legyúzhtatlen elınyre tettek szert. Ázsia ás USA a két vezetı Ezt igyekeznek megtartani, amivel a teljes szg piac feletti uralmuk is adott. Fejlıdési folyamat vizsgálatához a gazdasági mozgások térbeli és idıbeli törvényszerőségeit kell vizsgálni. o Folyamatos változás: meglévı technikák javítása, fejlesztése o Ugrásszerő

fejlıdés: tranzisztor, integrált áramkör. Fı fejlesztési irányok a félvezetı technikában: az integráltsági fok növelése, a vonalvastagság csökkentése, szeletátmérı növelése, az egyes technológiai mőveletek, fotólitográfia, az elektronsugaras litográfia felforrasztás, a mérés, a hibaanalízis, stb. automatizálása, rendszertechnikai egyszerősítések, fejlesztések, új megoldások, felhasználói igényre készülı áramkörök kidolgozása, új (GaAs) technológiai eljárások kidolgozása. Az integráltsági fok növekedésével egyre inkább a szilárd anyagon belüli szerkezet kialakításából és nem alkatrész-összeszerelésbıl áll egy digitális technikai berendezés elektronikai része. Az integrált áramkörök, funkcionális egységek belsı felépítése, konstrukciója is egyre tökéletesebbé válik, mert nemzetközi versenyt kell minden áramkörnek kiállnia a piacok megszerzése érdekében. A technikai fejlesztések a

gyorsasági stb paraméterek javítása mellett továbbra is elsısorban az integráltsági fok növelésére irányulnak. Az utóbbi 30 évben a technológiai fejlıdés igen látványos eredményeket produkált. Az integrált áramkörök elıállításának az ára ez alatt az idı alatt - az általános inflációs tendenciák közepette - kb. 10 nagyságrenddel csökkent. Ugyanakkor a mőszaki paraméterek (megbízhatóság, teljesítmény-felvétel, méret) 5 - 10 nagyságrenddel javultak. Jobb minıségő készülék utáni kereslet és az eladási ár nı, ugyanakkor csökken az üzembe helyezési, garanciális ás szerviz költség. A chipek bonyolultsága évente megduplázódik. A méretek csökkenése miatt egyre növekszik a funkcionális egységek teljesítménye, amit a chipenkénti bitszámmal vagy az 1 cm2 -en elhelyezett tranzisztorok számával mérnek Az IC jelentıségének korai felismerése utal az USA kezdeti tıkebefektetéseinek nagysága, amikor akkor a

stratégiai őrkutatási szempontoknak megfelelıen állami támogatással is párosult, és így óriási elınyhöz jutottak, tekintettel a szintugrások gyakoriságára (5 - 6 év). A befektetések nagyságára utal az a tény is, hogy a gazdasági siker biztosítása az IC gyártásban ma már a nyugat európai cégeknek csaknem elérhetetlen feladatot jelent és egyre elérhetetlenebbé válik. A versenyben lehetıségei vannak Japánnak és egyes ázsiai országoknak Hozzájárul ehhez az USA által diktált árak nyomán kialakult iparpolitikai helyzet, amivel a piacon való egyeduralmat igyekszenek megtartani, ami természetesen a számítógép piac feletti egyeduralmat is jelent. A fejlıdési folyamat vizsgálatához a gazdasági mozgások idıbeli és térbeni törvényszerőségeket kell felderíteni. A gazdasági változások gyakorlatában folyamatos és szakaszos mozgási formákat különböztetnek meg. Folyamatos változásnak tekinthetı például az egyes

technológiák aprólékos állandó jellegő fejlesztése a részmegoldások tökéletesítése. Szakaszos, ugrásszerő emelkedést váltanak ki az olyan nagysikerő találmányok, mint a tranzisztor, integrált áramkör stb. Ennek a növekedésnek egyszer (egyes becslések szerint 15-25 év múlva) azonban vége szakad. Az egy négyzetcentiméteren összesőrített elemek száma olyan nagy lesz, hogy az elemek mérete a nanométertartományba esik, azaz összemérhetı lesz az atomok nagyságával. Márpedig ebben a nagyságrendben új fizikai törvények érvényesek, a kvantummechanika törvényei. E kérdések, s ezzel együtt egy új számítástechnikai rend megalapozásával foglalkozik a nanotechnológia rejtélyes, új tudománya, amelynek jelentıségét jelzi az, hogy az USA sok milliárd dolláros évi kerettel s több tízezer kutató kiképzésével készíti elı az új eredményeket, amelyek egyik célja éppen újfajta, rendkívül nagyteljesítményő

számítógépek elıállítása. Elsısorban fontos az integráltság növelése, mert ezzel jelentısen csökkenthetıek a gyártási költségek, illetve a fogyasztói piac által elvárt „miniatürizálás” is lényegesen egyszerőbben megvalósítható. 64 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A fejlıdés hatására egyszerősödik és olcsóbbá válik a tömegtermelés. Az árak jelentısen csökkennek, így mindenki számára hozzáférhetıvé válnak a számítógépek. Az információs és tudás alapú társadalom mindennapi segítıtársává vált a számítógép. Jelenleg a szórakoztató iparban illetve az irodák és otthonok számítógép alapú automatizálása terén megy végbe a legnagyobb fejlıdés a félvezetı technikák integrációjával. A fejlıdés a gazdaságra rendkívül erıs, húzó hatást gyakorol. A számítógépek mindennapi használatával és az automatizálással jelentıs költségmegtakarítások

érhetıek el, így az egyre szélesedı körő alkalmazások miatt nı a kereslet az egyre nagyobb tudású és teljesítményő számítógépekre. A számítógépek és a számítógép alapú vezérlések legfontosabb alkalmazási területei: - ipari és mezıgazdasági automatizálás és folyamatirányítás - jármőelektronika - mőszer és méréstechnika - távközlési, infokommunikációs, GSM hálózatok és eszközök - digitális kamerák - mobiltelefonok - asztali PC-k, noteszgépek, PDA-k - mobil és beépíthetı adattároló eszközök - vizuális és audiovizuális termékek A személyi számítógép, az internet-hozzáférés és a mobiltelefon mára közszükségleti cikké vált. Amikor a mai egyetemisták születtek, az ilyen számítási és kommunikációs teljesítmény csak néhány laboratórium privilégiuma volt Magyarországon, és bizony az iparilag fejlett országokban sem álmodtak arról, hogy otthon vagy utazás közben használjanak ilyen

eszközöket. Mi a következı lépés? Mit tartogat számunkra az elektronika fejlıdése? Az elektronika vagy az információtechnika fogalmát itt széles értelemben használjuk, tehát az elektronikus eszközök technológiáját, a számítástechnikát, a távközléstechnikát, az ember-gép kapcsolat eszközeit éppúgy beleértjük, mint az automatizálás, a robotika és a mérés technikáját, az audiovizuális technikát. Szokás ezt összefoglalóan információs technológiának is nevezni (ez a fogalom sokkal tágabb, mint a köznyelvi "informatika"). Az elektronika fejlıdésének elsı hulláma a 70-es években kidolgozott olcsó mikroprocesszorokra épített PC-ipar volt a 80-as években; a második a 80-as évek végén kidolgozott olcsó lézerre és olcsó távközlési sávszélességre épített internet- és mobiltelefon-ipar a 90-es években. A harmadik hullámot az "érzékelık forradalmának" szokták nevezni, ami magába foglalja az

összes elképzelhetı mesterséges érzékelı és beavatkozó eszköz tömeges és olcsó elıállítását. A látás, hallás, tapintás eszközei csak a kezdetet jelentik, a szaglás és ízlelés utánzása, valamint a hely és a helyzet mérése, a gyenge elektromos terek és a molekuláris érzékelés megannyi formája egészíti ezt ki. A mozgató, hely- és helyzetváltoztató eszközök csak a jéghegy csúcsát jelentik a különféle beavatkozó szerkezetek között. A kamera beépül a mobiltelefonba, a rezgı hívásjelzés pedig a szem és a fül megkerülésével ad információt. Ezeknek a technikáknak az együttese új lehetıségeket kínál, új berendezéseket terveznek velük, új termékek és szolgáltatások jönnek majd létre. Létrejönnek az érzékelı számítógépek és az ezeket hasznosító egyéb berendezések, amelyekben a számítógép egy alkatrésszé válik. Ugyanakkor megjelennek a másféle számítógépek, amelyek az érzékelt sok ezer

vagy millió jelet egyszerre dolgozzák fel, s versenyre kelnek az ügyes állatokkal is. Az információs technológiák és a biotechnológiák egy különös találkozási pontján néhány év óta új, markáns kutatási terület bontakozott ki, amely rövid idın belül új termékek és szolgáltatások ezreit fogja létrehozni, és átalakíthatja az ember életkörnyezetét. Ez a drámaian új fejlıdési trend a bionika vagy info-bionika A terület jelentıségét többek között az is mutatja, hogy a közelmúltban az USA Nemzeti Kutatási Alapja (NSF) és az Európai Unió kutatási programjának frontvonalát jelentı Future and Emergent Technologies (FET) Hivatala egyik elsı transzatlanti programként BIONICS címen új kezdeményezést fogalmazott meg. Csakhogy Neumann János szigorú megállapítása szerint a fejlıdés ellen nincs orvosság. Azaz a jövıt vállalni kell kockázatával együtt. Gábor Dénes úgy fogalmazott, hogy ha egyszer nem ismerhetjük elıre

a jövıt, akkor alkossuk meg! Hasonlónak ahhoz, amilyet szeretnénk. Nem tudhatjuk biztosan, hogy sikerül-e De nekünk világos útravalónk van: "Mondottam ember, küzdj és bízva bízzál!" Én csatlakozom Madáchhoz! 65 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A23. A mikroelektronikai kutatási eredmények hatása az elektronikai iparra (paraméterek, ár, megbízhatóság, teljesítmény- felvétel, méret univerzalitás). A mikroelektronikáról az 1960-as évek elejétıl beszélhetünk. Azt, hogy a mikroszámítógépek társunkká válhattak a munkában, tanulásban, szórakozásban, a mikroelektronikai eredményeknek köszönhetjük. Mikroelektronikáról azóta beszélhetünk, amióta nem egyenként állítják elı az alkatrészeket és utólagosan forrasztják össze azokat, hanem a hozzájuk tartozó vezetıpályákkal néhány mm2 nagyságú szilícium egykristályban - egyetlen technológiai folyamattal készülnek el. Az

utóbbi 30 évben a technológiai fejlıdés igen látványos eredményeket produkált. Az integrált áramkörök elıállításának az ára ez alatt az idı alatt - az általános inflációs tendenciák közepette - kb. 10 nagyságrenddel csökkent. Ugyanakkor a mőszaki paraméterek (megbízhatóság, teljesítményfelvétel, méret) 5 10 nagyságrenddel javultak Jobb minıségő készülék utáni kereslet és az eladási ár nı, ugyanakkor csökken az üzembe helyezési, garanciális ás szerviz költség. Ezzel a technikai fejlıdéssel és áreséssel nyílt meg a lehetıség arra, hogy a mikroszámítógépek, - amelyek ma már okosabbak, mint a 20 - 30 évvel elıttiek, milliós értéket képviselı számítógép-óriások - bejussanak a legtöbb munkahelyre. A mikroprocesszor a tranzisztor után a legizgalmasabb mőszaki újdonság. Nemcsak a digitális elektronikát forradalmasította, hanem igen nagy és egyre növekvı mértékben befolyásolja az élet minden

területét. A mikro a kis fizikai méretre utal, kis fogyasztás, nagy megbízhatóság, alacsony ár, ami a félvezetı technológiák fejlıdésének eredménye. A processzorok a digitális rendszerek, számítógépek központi egységei. A mikroprocesszor olyan nagy integráltsági fokú félvezetı eszköz, amely egy digitális számítógép központi egységének a feladatait végzi el. A mikroszámítógépek alkalmazási területét behatárolják a szóhosszúság, utasításkészlet, ciklusidı, a funkcionális egységek, az ár stb. adatok Mikroszámítógépek elıállítására csak akkor nyílt lehetıség, amikor a szilícium alapú monolitikus technológiák fejlesztésénél elért eredménnyel lehetıvé tették minimálisan 2000 kapuáramkör megvalósítását egy chipben. A világpiacot meghatározó cégek éppen a példátlan tudományos technikai fejlıdés eredményeként fajlagos áraikat folyamatosan és igen jelentısen csökkentették. Jelenleg a

mikroszámítógépek iránt mutatkozó kereslet ugrásszerő növekedése miatt az árak csökkenése lelassul, ami jelzi, hogy hamarosan új típusok jelennek meg a piacon. Az integráltsági fok növekedése következtében az árak oly mértékben csökkenthetıek, hogy az új megbízható, a korábbinál minden szempontból elınyösebb LSI - k már a piacon való megjelenésükkor olcsóbbak, mint az elızı típusúak. A szakértık legalább 500.000 - re becsülik a mikroelektronika modernizált vagy új termékek típusféleségét, amelyekben mikroszámítógép van. A változás nagymértékben érinti a híradástechnika, mőszeripar, számítógépgyártás, irodagép stb. szakterületeit Az IC olyan elektronikus eszköz, amelyet egyetlen félvezetı lapkán állítanak elı. Jellemzıi: nagy megbízhatóság, kis fogyasztás, alacsony ár, miniatőr méret stb. 66 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. B1. Az algoritmus és program

fogalma, jellemzıi Algoritmusleíró eszközök Moduláris programozás A program fejlesztésének fázisai. Magasszintő, alacsony szintő programozási nyelvek Szintaktika, szemantika. Algoritmus: Olyan utasítások halmaza, melyek egy feladat megoldásához vezetnek. Jellemzıi: - lépésekbıl áll (elemi tevékenységekbıl, instrukciókból, utasításokból) - végrehajtása lépésenként történik - a megtett lépések sorozatát folyatatnak (process) nevezzük - a lépésnek egyértelmően végrehajthatónak kell lennie (processzor miatt) - vannak bemenı (input) adatai, melyeket felhasznál - legalább egy kimenı (output) adatot produkálnia kell - véges számú lépésekben megoldhatónak kell lennie - hatékony (Az instrukciók legyenek könnyen követhetıek, pontosak, egyszerőek, és azokat minél rövidebb idı alatt végre lehessen hajtani.) - elronthatatlannak kell lennie Program: Egy számítógép által érthetı nyelven megírt algoritmust programnak

nevezünk. Jellemzıi: - összetett lépésekbıl (algoritmus) áll (mélysége függ a programnyelv lehetıségeitıl, a már megalkotott elemi tevékenységtıl, utasításoktól) - az utasítás végrehajtásának mindig van tárgya = adatok (adatok azon tulajdonságainak figyelembe vétele, ami a feladat megoldásához szükséges = absztrakció) - célja van (az utasításnak) - felhasználóbarátnak kell lennie Algoritmus leíró eszközök: Pl.: Pszeudo kód, Folyamatábra, Struktogram (szerkezet diagram), Jackson ábra Moduláris programozás azt jelenti, hogy a programot részfeladatokra bontjuk, az egyes részeket külön programban dolgozzuk ki, ezeket a független modulokat lefordítjuk, és a végsõ programban összeépítjük õket. A Pascal moduljai a unitok: minden unit egy független csomag, melyben eljárások, függvények, típusok, konstansok és változók (a továbbiakban röviden: eljárások) vannak. Ha egy program deklarációs részében szerepel a USES

unit deklaráció, a program felhasználhatja a unit eljárásait, mintha csak õbenne lennének deklarálva. Szoftver fejlesztésének fázisai: Analízis  Tervezés  Kódolás  Tesztelés Analízis: - felmérjük a helyzetet, (mire van szükség? mik a lehetıségek? megvalósítható-e? mik a célok?) idı és költségbecslés problémát definiálni kell A beviteli (input) adatok elemzése: • Mik az input adatok, milyen a beviteli formájuk? • Mik a bevihetı értékek? • Milyen módon kell befejezni a bevitelt? • Vannak valamilyen speciális megszorítások, vagy feltételek? • Milyen kapcsolatok vannak a beviteli adatok között? 67 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. A kiviteli (output) adatok elemzése: • Milyen adatokat kell megırizni, mennyi adatról van szó? • Mely adatokat kell megjeleníteni? • Hogyan tudjuk ezeket elıállítani? Tervezés: Feladata hogy az analízis során összegyőjtött információkat és

adatokat alapul véve logikailag véglegesen kialakítsa az adatstruktúrákat és az adatokon manipuláló algoritmusokat. Módszerek: - moduláris programozás (legrégebbi) - aztán Jackson féle programtervezési módszer - manapság az objektum orientált módszer Kódolás: Ha terv elkészült, akkor jöhet a kivitelezése, egy adott programnyelven. Dokumentációja a forrásnyelvi lista (programterv alapján készül, áttekinthetı, olvasható, tömör, egyértelmő megjegyzéssekkel) szintaktikai / alaki hiba = a program nem felel meg az adott nyelv szabályainak, elírás, zárójel hiánya stb. Tesztelés: Ha készen vannak az elızıek, akkor megvizsgáljuk a programot. szemantikai (bug) / tartalmi hiba: a program lefordul, elindul, de nem azt csinálja, amit kell, esetleg leáll. Ellenırizzük • Pontosan úgy mőködik-e a program ahogy az feladat leírásban szerepelt? • Nem lehet-e elrontani? • Elég hatékony-e? • Biztonságos-e a használata? • Felhasználó

barát-e? Magasszintő-alacsonyszintő programozási nyelvek: Az alacsonyszintő nyelveknek nevezzük a számítógéphez közelálló nyelveket, pl. gépi kód, assembly Egy alacsony szintő nyelveknek több hátrányuk is van: a programozónak sokat kell dolgoznia; valamint ezek gépenként különböznek, ezért CPU-nként különbözı programot kell írni. Így a program nem hordozható A magas szintő nyelvek jobban hasonlítanak egymáshoz, és az emberi gondolkodáshoz. Egy magasszintő forrásprogramból már ránézésre is sokat ki lehet olvasni. A magasszintő nyelvben a programozónak csak használni kell a felkínált magasszintő utasításokat, a fordító behelyettesíti azokat gépi kódú utasításokkal. 68 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. B2. A típus és változó fogalma Adattípusok osztályozása Kifejezés, a kifejezés kiértékelése Utasítás Eljárások, függvények, paraméterátadás. Lokális és globális

változók, érvényességi kör, a változó életciklusa. Változó: = program adata (=lefoglalt memóriaterület, ami értéket vehet fel, ez az érték a program futása közben változhat) Különbözı tulajdonságaik alapján csoportosíthatjuk, mint például: típusa, érvényességi köre, életciklusa vagy létrehozása alapján. Típus: = változó tulajdonsága, amely meghatározza a hozzárendelhetı értékek halmazát. Vannak a rendszerbe beépített (standard) típusok, valamint mi is létrehozhatunk újabbakat, melyet deklarálni kell. A var részben csak már ismert típusú változókat deklarálhatunk, az új típusok definiálása a - type - paranccsal történik. Típus szerinti csoportosítás: - egyszerő o egész szám (Integer) o karakter (Char) = ASCII karakter o logikai (BOOLEAN) - összetett o változók sorozata (=szekvenciális), pl.: karakterlánc (String) o tetszıleges típusú adatok halmaza pl.: Rekord o tulajdonságaik alapján csoportosított

adatok pl.: tömb vagy tábla INTEGER típus Egész számok halmaza. A Pascal nyelv hat féle egész típust ismer: byte (=0255), word (=065.535), shortint (=-128127), integer (=-32768+32767), longint (-2.1474836482147483647), comp (=-2 a 63-on+2 a 63-on-1) Mőveletek: összeadás (+), kivonás (-), szorzás (*), egész osztás (div), maradék elıállítása (mod), osztás (/), valamint a relációs mőveletek: nagyobb (>), nagyobb vagy egyenlı (>=), kisebb (<), kisebb vagy egyenlı (<=), egyenlı (=), nem egyenlı (<>). CHAR típus Alapvetıen kétféle szöveges típus van: a char (=karakter) és a string (=karakter lánc) típus. A string-ek egy típuscsaládot alkotnak, mivel hosszúságuk szerint többféle típusú stringet különböztetünk meg. A szöveges típusok közös jellemzıje, hogy alkotóelemeik karakterek, az ASCII karakterkészlet elemei. BOOLEAN típus Más néven logikai adattípus. Csupán két konstans tartozik hozzá: a true (igaz) és a

false (hamis) A logikai konstansok is sorrendbe állíthatók: false < true. Igen fontos, hogy egy relációs mővelet mindig boolean típusú értéket állít elı. Csak logikai értékekre alkalmazható mőveletek: and (logikai "és", kétoperandusos mővelet), or (logikai "vagy", kétoperandusos mővelet), not (logikai "nem", egyoperandusos mővelet). RECORD típus A rekord olyan strukturált típus, mely adott számú és típusú komponensbıl épül fel. A típus definiálását a Record kulcsszó vezeti be, a mezık felsorolása után pedig az End szó zárja. A deklaráció a type részben történik A rekord típus alkalmazása többnyire a háttértárakhoz kapcsolódik. A rekord tulajdonképpen egy összetartozó információ köteg, amelyre hivatkozhatunk, mint egészre és hivatkozhatunk bármely összetevıjére külön-külön is. Az összetevık egymástól függetlenül tetszıleges típusúak is lehetnek A rekordelemre névvel

hivatkozunk Kifejezés: Változók és alapmőveletek összessége. Egy kifejezés operandusokból, és operátorokból áll (pl a+5, ahol az “a” és “5” operandus, a “+” operátor) A kifejezés állhat egyetlen operandusból is, és bármelyik lehet egy újabb kifejezés. Vannak egy ill kétoperandusos mőveletek Kifejezés kiértékelése (=mőveletek prioritása): • Legmagasabb prioritása az elıjeleknek van, valamint a NOT mőveletnek, ezek egyoperandusos mőveletek. • Másodsorban a szorzó mőveletek értékelıdnek ki (*, /, DIV, MOD, AND, SHL, SHR) • Ezek után következnek az összeadó mőveletek (+, -, OR, XOR) • Legkisebb prioritásúak a hasonlító mőveletek (=, <, stb.) • Az egy csoportba felsorolt mőveletek egyenrangúak, ugyanaz a prioritásuk. Egyenlı prioritás esetén balról jobbra szabály érvényes 69 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. Utasítás: Az utasítás a programnyelv olyan

értelmezhetı eleme, amely mőveletek leírására vagy kijelölésére alkalmas, és a nyelven belül rendszerint önálló egységet képez. Egy utasítás tipikusan a következı információkat tartalmazza: - milyen mőveletet kell elvégeznie a processzornak, - hol vannak a mővelet operandusai az utasításban, a tárban, ill. annak melyik rekeszében vagy melyik regiszterben, - hova kell elhelyezni a mővelet eredményét. A programutasítások tartalmuk szerint is csoportosíthatók: pl. logikai-, vezérlı-, adatátviteli-, ugróutasítások Részprogramok (alprogramok): Egy adott probléma megoldásának a során célszerő, ha programunkat jól elkülönített, zárt egészet alkotó részprogramokból építjük fel. Ezeket a részprogramokat nevezzük alprogramoknak Egy alprogram létrehozása akkor válik szükségessé, ha egy tevékenység a program futása során többször elıfordul vagy egy túl nagy programot a jobb olvashatóság kedvéért tagolni szeretnénk.

Az alprogram az input adatokat (kivétel a beolvasás és a kiírás) a fıprogramtól kapja és az eredményt is annak adja vissza. Ilyen alprogram a függvény és az eljárás is. Ezeket egy külsı blokkból meg lehet hívni, egy eljárás-utasítással (illetve függvényutasítással) Ekkor az alprogram végrehajtásra kerül, majd a végrehajtás folytatódik annál az utasításnál, amely az alprogram meghívását követi. A függvényt az különbözteti meg az eljárástól, hogy van egy visszatérési értéke, amelyet visszaad annak a blokknak amelybıl meghívtuk. A standard eljárások (függvények) azok, melyet a programozási nyelv definiál, míg létezhetnek felhasználói eljárások, melyet a felhasználók (programozók) hoznak létre. Eljárás: Az eljárás logikailag összetartozó tevékenységek (utasítások) összessége, melyet meghívhatunk az eljárás nevére való hivatkozással. Eljárás nem szerepelhet értékadó utasítás jobb oldalán, azaz

nem tudunk értéket adni neki Eljárást akkor írunk, ha: • egy-egy hasonló feladatot többször akarunk elvégezni a programban, • a program átláthatóbbá válik ettıl. Elınyök: • Módosításkor, javításkor csak egy helyen kell belenyúlni a programba, • Az általános célú eljárásokat késıbb újra fel lehet használni. Az eljárás egy olyan alprogram, amely egy elıírt mőveletsort végez el. Az eljárással több eredményt is elıállíthatunk, ellentétben a függvénnyel, mely csak egyetlen értéket határoz meg. Az eredményeket különbözı kimeneti paraméterekben helyezhetjük el. A formális paraméterlista az eljárásnál elhagyható, de ha megadtuk, akkor az aktuális paraméterlistának meg kell egyeznie a formális paraméterlistában felsoroltakkal. Az eljárás segítségével egy programrész vagy egy teljes program egy másik programba egy utasítással beépíthetı. Elıször deklarálni kell az eljárást, majd a deklarált eljárás

a programból hívható az úgynevezett eljáráshívás utasítással. Az eljárás szerkezete hasonló a program szerkezetéhez Különbség csak az eljárás fejében van és a záró „End” után pontosvesszıt írunk pont helyett. Egy eljárás végrehajtásánál nagy szerep jut a veremnek, mert itt tárolódik az eljárás összes lokális változója. A rendszer az eljárásba való belépés elıtt a veremre helyezi a visszatérési címet, hogy az eljárásból való kilépéskor majd tudja hova kell visszatérnie. A veremszegmens ideiglenes adatok tárolására szolgáló memóriarész Az adattárolás veremszerően mőködik, azaz elıször az utoljára betett adatot tudjuk kivenni. Ha a verem megtelik a program futási hibával leáll. Függvény: A függvény olyan eljárás, mely egy értéket ad vissza egy elıre meghatározott típus szerint. A függvény sokban hasonlít az eljáráshoz, azzal a különbséggel, hogy egy értéket ad vissza, melynek elıre

meghatározott típusa kell legyen. A visszaadott értékre a függvény azonosítójával hivatkozunk A visszaadott érték típusa csak elıre definiált típus vagyis típusazonosító lehet. A függvény egy olyan programrész, amely adott bemeneti paraméterekbıl egyetlen értéket számít ki, és azt hozzárendeli az azonosítóhoz. A neve egyben egy változó is, amelynek értékét maga állítja elı a végrehajtás során. A függvény azonosítója egy érték, a függvény visszatérési értéke Az eljárással ellentétben a függvény kifejezésekben is használható, pl. értékadó utasításban a jobb oldalon A függvény deklarációs része ugyanaz, mint az eljárásé. A függvény blokkjában a függvény-azonosítónak értéket kell adni, ez lesz a függvény visszatérési értéke. Értékadás nélkül a függvény definiálatlan lesz 70 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. Mind az eljárások és mind a függvények

önmagukból meghívhatók. Ezt a hívást nevezzük rekurzív hívásnak Ebben az esetben a visszatérési címek és a változók újból a verembe kerülnek, tehát fennáll a veszélye annak, hogy a verem túlcsordul. Rekurzív hívás esetén ezért meg kell adni a lehetıséget arra, hogy a verem kiürüljön Standard és felhasználói eljárások: Standard eljárások az úgynevezett beépített vagy elıre definiált eljárások. Pl: - Adatállomány kezelı eljárások: RESET(F), REWRITE(F), READ, WRITE, READLN, WRITELN, - Dinamikus tárfoglaló eljárások: NEW(P), DISPOSE(P). A felhasználói eljárások alatt azokat az alprogramokat illetve függvényeket értjük, amelyeket a felhasználó készít el általában a beépített függvények illetve eljárások segítségével. Paraméterek, paraméterátadás Paraméterek: az eljárásoknak (függvényeknek) átadhatóak különbözı értékek, melyet azok felhasználhatnak. - formális paraméter: az eljárásfej

deklarálásakor a paraméterlistában meghatározott - aktuális paraméter az, amelyet az eljárás vagy függvény ténylegesen átvesz Az aktuális paraméterek típusának rendre meg kell egyezniük a formális paraméterlistában megadottakkal. Paraméter átadás, átvétel: A paraméter átadás/átvétel szempontjából megkülönböztetünk értékparamétert (érték szerint átadott) és változó (cím szerint átadott) paramétert. Az értékparaméterek értéke nem változtatható meg az eljárásban, míg a változó paraméterek értéke igen. - Cím szerinti paraméterátadáson azt értjük, hogy a paraméterek a külsı ill. belsı blokkokban fizikailag ugyanazokat a változókat tartják, a tárban is ugyanazon a címen találhatók. Így az alprogramban az ezeken a változókon végrehajtott bármilyen mővelet megváltoztatja a hívó programban is e változók értékeit. Az ilyen típusú paraméterátadás deklarálásakor a paraméter elıtt a ‘var’ szó

áll. (Procedure(var a1,a2 : word);) - A paraméterátadás másik módja az érték szerinti paraméterátadás. Ez azt, hogy az aktuális és a formális paraméterek külön helyet foglalnak a tárban, más változókat jelentenek. Ezek a változók az adott eljárásban lokálisak, tehát értékeik megváltozása nincs hatással az aktuális paraméterekre, amelyek az alprogram aktivizálása után is megtartják az eredeti értéküket. A változókat csoportosíthatjuk továbbá: Érvényesség kör (Láthatóság) szerint - Lokális: csak a program adott részérıl érhetıek el, a program más részérıl ezekre nem tudunk hivatkozni. Ezek a stacken kapnak helyet - Globális: a program bármely részérıl elérhetıek. Ezek külön adatszegmensben kapnak helyet vagy Életciklus (Élettartam) szerint - Dinamikus: Az adott függvényen belül létezı, és minden meghíváskor létrejövı változók, valamint a dinamikus utasításokkal foglalt változók, melyek a heap-en

kapnak helyet. - Statikus: A program betöltıdésekor létrejövı, és a program futásának idején létezı változó. 71 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. B3. Vezérlıszerkezetek: szekvencia, szelekciók, iterációk Strukturált program Strukturált tervezés A tervezés lépései. Az algoritmus (lépéssorozat), olyan elıírás, amely szerint valamely feladat véges számú lépésben megoldható. Egy feladatnak a számítógépen való megoldása érdekében a feladatot jól definiált elemi lépések sorozatára bontják. Az algoritmust elıre meg kell tervezni, hogy jól használható, áttekinthetı és szilárd szerkezető legyen A probléma megoldása tulajdonképpen a részproblémák helyes sorrendben való megoldását jelenti. Szekvencia (összetett utasítás) A szekvencia egy utasításcsoportot (összetett utasítást) jelent, melyen belül az utasítások egymás után (szekvenciálisan) kerülnek végrehajtásra. A

fıprogram is egy összetett utasításnak tekinthetı Szelekció A szelekció a program végrehajtását egy feltételtıl függıen elágaztatja, felkészítve így a programot a lehetséges esetek kezelésére. - Az egyágú szelekció (IF.THEN) a megadott feltétel teljesülése esetén végrehajt egy utasítást (vagy utasítássorozatot), egyéb esetben pedig kikerüli a feltételes részt és folytatja a program szekvenciális végrehajtását. - A kétágú szelekció (IF.THENELSE) azt jelenti, hogy ha teljesül a megadott feltétel, akkor a hozzá kapcsolódó tevékenységet kell végrehajtani, egyébként egy másikat. Az elágazás után pedig folytatódik a program szekvenciális végrehajtása. - Többágú szelekció (IF.THENELSE IF és CASE) esetén a feltételek közül legfeljebb egy teljesülhet, ha az egyik teljesül, a többi már szóba sem jöhet, tehát a feltételek egymástól függenek. Iteráció Az iteráció az utasítások ismételt végrehajtását

jelenti. - Elöltesztelı ciklus (WHILE.DO) esetén a program még a ciklusba való belépés elıtt megvizsgálja a belépési feltételt, és ha ez teljesül, a ciklusmag végrehajtódik. A ciklusmag ismételten végrehajtódik, amíg a belépési feltétel teljesül. Ha a feltétel nem teljesül, akkor a vezérlés a ciklus utáni utasításra kerül. - Hátultesztelı ciklus (REPEAT.UNTIL) esetén a ciklus magja egyszer mindenképpen végrehajtódik, majd a ciklus végén történik egy feltételvizsgálat, ami eldönti, kiléphetünk-e a ciklusból, vagy nem. - Növekményes ciklus (FOR) esetén a ciklusmagot a ciklusfeltételben meghatározott számszor hajtjuk végre. A számot egy kezdı- és egy végértékkel adjuk meg, a ciklus a megadott intervallumon belül egy ciklusváltozót léptet, s ha ez eléri a végértéket, a ciklus befejezıdik. A FOR tehát egy elöltesztelı ciklus, ahol elıre lehet tudni a végrehajtások számát. Strukturált program: Az olyan programot,

amely kizárólag szekvenciákból, szelekciókból és iterációkból építkezik, strukturált programnak nevezzük. A strukturált programozásban a ciklusokból való kiugrás fogalma ismeretlen. Ebbıl következik, hogy a program minden szekvenciájának és így az egész programnak is egyetlen belépési és kilépési pontja van. Ennél fogva a program lényegesen áttekinthetıbb Strukturált tervezés: A strukturált tervezés lényege, hogy a programot felülrıl lefelé, funkcionálisan egyre kisebb lépésekre (modulokra, rutinokra) bontjuk. A strukturált tervezés módszerei: A programtervezés feladata hogy az analízis során összegyőjtött információkat és adatokat alapul véve logikailag véglegesen kialakítsa az adatstruktúrákat, és az adatokon manipuláló algoritmusokat. Hogy milyen tervezési módszert választunk, az a következıktıl függhet: • A számítástechnika mely korszakát éljük • Milyen gépre készül a program • Mekkora a

megoldandó feladat • Milyen módszerek állnak rendelkezésre • Milyen a tervezı csoport informáltsága • Milyenek a tervezı csoport lehetıségei, szoftverekben, felkészültségben van-e anyagi fedezet • Mi a fınöki utasítás A programtervezés alapja a dekompozició. A feladatot részekre kell szedni, a részeket meg kell valósítani, majd azokat össze kell rakni, hogy együtt mőködhessenek. 72 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. Hosszú ideig a moduláris programozás volt a jelszó, a lényege, hogy a programot felülrıl lefelé (top-down) funkcionálisan egyre kisebb lépésekre (modulokra, eljárásokra) bontjuk. Ezt váltotta fel a Jackson féle programtervezési módszer, majd manapság az objektum orientált módszer hódit. A tervezési szakasz dokumentációja a programterv. Egy bonyolultabb algoritmust nem lehet fejben megtervezni, ahhoz eszközök kellenek. Ha ötleteinket saját egyéni módszerrel vetjük

papírra, azt mások nem fogják megérteni. Olyan eszközre van szükség, mely általánosan elfogadott és környezetünkben más emberek is ismerik, használják, pl. folyamatábra, struktogram, Jackson-ábra • Struktogram: A programozás legújabb vázlata, mely egyre inkább felváltja a folyamatábra használatát. Segítségével bonyolult programozási feladatok is áttekinthetıen ábrázolhatók. A software fejlesztıjét strukturált programozásra kényszerítı segédeszköz, mely a gyakorlatban egy vagy több struktúrablokkból áll. • Jackson ábra: - A szóba kerülhetı események rendezése, elemi eseményekre bontása. - Az események sorszámozása a bekövetkezés sorrendjében. - A programnyelvtıl függetlenül végrehajtható. - Segít a logikai és szintaktikai hibák kizárásában. 73 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. B4. Egyszerő algoritmusok: adatok feldolgozása végjelig, megszámlálás, összegzés,

átlagszámítás, minimum- és maximum-kiválasztás, menükészítés, keresés, rendezés, karbantartás Adatok feldolgozása (végjelig): Elıfordul, hogy logikailag összetartozó adatokat kell egymás után beolvasni, és azokat egy ciklusnak valamilyen módon feldogozni. Képernyırıl való bevitte esetén a ciklus egy adott végjelig megy mely megvalósítására két lehetıség kínálkozik. Vagy minden egyes csoport bevitele elıtt megkérdezzük a felhasználót, hogy akar e bevinni adatokat, vagy az elsı adatnál megjelenítjük a végjel beütését. Azt mindig szem elıtt kell tartani, hogy a felhasználót ne dolgoztassuk feleslegesen. Megszámlálás: Ebben a feladattípusban a sorozat valamilyen adott tulajdonsággal rendelkezı elemeit számoljuk meg. Megkülönböztetünk - ismert mennyiségő elem esetét (akkor a ciklus 1-tıl N-ig) vagy - ismeretlen mennyiségő elem esetét (Ciklus amíg van elem) Összegzés: Az olyan feladatokat, melyben a sorozat elemet

valamilyen módon győjteni kell, összegzéses feladatoknak nevezzük. Ebbe a csoportba sorolható a különbség és szorzatképzés is Megkülönböztetünk - ismert mennyiségő elem esetét (akkor a ciklus 1-tıl N-ig) vagy - ismeretlen mennyiségő elem esetét (Ciklus amíg van elem) (megkeressük a feltételeknek megfelelı elemeket és összeadjuk) Átlagszámítás: Az átlag kiszámításánál egyszerre két dolgot is győjtünk – a sorozat összegét és az elemek számát. E két győjtött érték hányadosát kell képezni, de figyelnünk kel arra, hogy átlagot csak akkor számítsunk, ha volt átlagolandó adat. Ellenkezı esetben nullával osztanánk, ami futási hibát eredményezne Min-Max számítás: E feladatcsoportban a sorozat legkisebb ill. legnagyobb elemét kell meghatároznunk Maximum kiválasztásnál az algoritmus lényege, hogy a sorozat elemeit sorban megvizsgálva mindig megjegyezzük az addigi maximális elemet. Ha egy annál nagyobb elem érkezik,

akkor a megjegyzett elemet ezzel kicseréljük. Induló értékként egy adatot meg kell adnunk Amelyet az érkezı elemek “lehagyhatnak” Ez vagy az elsı elem, vagy egy annyira kicsi elem, amely biztosan kisebb az összes lehetséges elemnél. A feldolgozás végén (amennyiben a sorozatnak volt legalább egy eleme) a megjegyzett elem az összes szám maximuma lesz. Ugyanez használható a minimális elem keresésére, de itt a hasonlítás fordítva történik, az induló érték nagy kell hogy legyen. Ha tudjuk elıre a sorozat elemeinek a számát és ez nem nulla: Megkülönböztetünk - ismert mennyiségő elem esetét (akkor a ciklus 1-tıl N-ig) vagy - ismeretlen mennyiségő elem esetét (Ciklus amíg van elem) Menükészítés: Amikor menüt készítünk, ha választási lehetıségeket kínálunk fel a felhasználónak, majd várjuk az erre való reagálását. A lehetıségeket ismételten felkínáljuk egészen addig, amíg a felhasználó úgy dönt, nem akar több

lehetıséget igénybe venni, vissza akar lépni a program egy elızı szintjére, vagy be akarja fejezni a programot. Ha a felhasználó nem a kilépést választotta, akkor válogatni kell a programrészek között a felhasználó válaszának megfelelıen. Menükészítés tipikusan hátultesztelıs feladat (Pozicionálás és menü képernyıre kiíratása a választási lehetıségekkel; választás beolvasása) Keresés: E feladatcsoportban a sorozat elemei között egy adott tulajdonságú elemet keresünk. Az algoritmus eldönti, hogy van-e ilyen elem a sorozatban. (Megvan =igaz, ha van ilyen elem): Megkülönböztetünk - ismert mennyiségő elem esetét (akkor a ciklus 1-tıl N-ig) vagy - ismeretlen mennyiségő elem esetét (Ciklus amíg van elem) 74 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. Buborék rendezés: A rendezés lényege, hogy az egymás melletti elemeket megcseréljük a feltételtıl függıen. Tehát ha növekvı sort szeretnénk

elıállítani akkor végig kell menni az elemeken és meg kell nézni, hogy az aktuális elem kisebb-e mint az elızı. Ha kisebb, akkor meg kell a kettıt cserélni Ez egy körben nem oldja meg a rendezést, tehát többször meg kell ismételni. Maximum az elemszám-1 szer Tehát tömb esetében két for ciklussal megoldható a probléma Példa: http://www.remenyikzssulinethu/Segedlet/ALGORITM/Buborekhtm Beszúrásos rendezés: Másnéven beillesztéses rendezés lényege a következı: hasonlít arra a módszerre, ahogy az ember leosztás után elrendezi kezében a kártyákat. Feltételezzük, hogy van egy szigorú rend, mely szerint a kártyákat sorba kell tenni. Felvesszük az elsı kártyát Majd felvesszük a másodikat és a helyére tesszük Aztán felvesszük a harmadikat, helyére tesszük, és így tovább. Minden esetben megkeressük a kérdéses kártyának a helyét a már rendezett sorban és oda beszúrjuk Példa:

http://users.iituni-miskolchu/~wagner/ProgAlapjai/Pr09eapdf Rendezetlen tömb karbantartása: • Felvitel: az új elemet –ha még nincs ilyen a tömbben- az utolsó elem után tesszük. A nyilvántartásban szereplı elemek számát eggyel növeljük. • Törlés: Megkeressük a törlendı elem helyét a tömbben. Az elemet úgy töröljük, hogy az utolsó elemet egyszerően erre az elemre rámásoljuk. A nyilvántartásban szereplı elemek számát eggyel csökkentjük • Módosítás: Ha van ilyen elem, akkor annak adatait (azonosítót kivéve) egyszerően felülírjuk. Rendezett tömb karbantartása: A tömböt állandóan rendben tartjuk: új elemet mindig úgy visszük fel, hogy azonnal bekapcsoljuk a rendezett sorozatba, már meglévı elemet pedig úgy töröljük ki, hogy azt azonnal lekapcsoljuk a rendezett sorozatról. (mővelet után is rendezett marad) • Felvitel: Megkeressük az új elem helyét a tömbben. Az elemeket onnan kezdve eggyel feltoljuk és az így

keletkezett üres helyre beírjuk (beszúrjuk). A nyilvántartásban szereplı elemek számát eggyel növeljük • Törlés: Megkeressük a törlendı elem helyét a tömbben, majd az elemeket onnan kezdve eggyel letoljuk. A nyilvántartásban szereplı elemek számát eggyel csökkentjük. • Módosítás: Ha van ilyen elem, akkor annak adatait (azonosítót kivéve) felülírjuk. 75 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. B5. Az állomány fogalma Állományok fajtái, felépítésük, feldolgozásuk Állományok szervezése: fizikai és logikai rendezettség, hozzáférési módok. Karbantartási mőveletek Állomány: adatok, programok halmaza, megkülönböztetünk: - Fizikai állomány (külsı állomány) = file, amiben a lemezen programokat és adatokat tárolunk. Általában van kiterjesztése, ami utal az állomány típusára. (pl tételekdoc) - Logikai állomány: az a változó(k), amelyre a programból hivatkozunk a (ahogy a

felhasználó vagy a program „látja” a fizikai állományt). Fizikai állomány Állományok felépítése (Katalógus): Az állományokat katalógusokban (directory, könyvtár) tároljuk, melyek a lemezeken fa struktúrában helyezkednek el. Minden lemeznek saját katalógus struktúrája van, melyek logikailag egyformák, függetlenül attól, hogy melyik lemezrıl van szó. A struktúra legfelsı szintjén lévı katalógus a lemez formázásakor jön létre (gyökérkönyvtár) Ez alá a késıbbiekben újabb és újabb alkatalógusokat lehet létrehozni, azokban – és természetesen a fıkatalógusban is – állományokat elhelyezni. Turbo Pascalban mindig van egy „aktuális” katalógus, „ahonnét látjuk a világot” és míg másként nem rendelkezünk, minden parancs erre a katalógusra hivatkozik. Indításkor általában a fıkatalógus az „aktuális”, de bármikor átválthatunk egyik katalógusból a másikba és természetesen a katalógusok meg is

szüntethetık. Állományok felépítése (Útvonal) A lemez egy katalógusát útvonal (patch) azonosítja. Útvonalat úgy adunk meg, hogy egy adott katalógusból kiindulva leírjuk az útba esı katalógusok neveit, egymástól jellel elválasztva. Ez két féle módon történhet: - az aktuális katalógus felhasználható az útvonal kiinduló pontjaként, pl.: PASCALERZSI - a fıkönyvtárból kiindulva (abszolút módon), pl.: C:Program FilesNokia Állományok feldolgozása (pufferelés) Mivel egy program mindig logikai állományt kezel, a logikai és fizikai hozzárendelést minden esetben meg kell tenni még az elsı írás, olvasás elıtt. Az adatforgalom alapelve a pufferelt írás és olvasás, mely a változók és külsı adatállományok között történik. - fizikai adatforgalom: tároló és a puffer között (puffernyi adagokban) - logikai adatforgalom: a puffer és a memória között (a program által megszabott adagokban) Állományok szervezése: A fizikai

állomány szerkezetét elsısorban a hozzáférési igények határozzák meg. Ezt jellemzıen a szükséges lekérdezések határozzák meg (pl.: egymás után sorban kellenek az adatok, vagy csak a tulajdonságai alapján leválogatott adatok kellenek). Ehhez kapcsolódóan kell kialakítani a karbantartási funkciókat is: új felvitel, törlés, módosítás. (= rendezett vagy nem rendezett az állomány + ahogy ezeket karbantartjuk) A logikai adatszerkezet a fizikai leképzése. Alapvetı csoportosítása: - Soros szervezés: a fizikai és a logikai állomány között nincs kapcsolat. Az állományban lévı adatokat csak a fizikai tárolás sorrendjében tudjuk felvinni illetve elérni. - Direkt szervezés: A logikai azonosító és a fizikai cím között kölcsönösen egyértelmő megfeleltetés van. Az állomány akármelyik elemét közvetlenül el tudjuk érni, azt írhatjuk és olvashatjuk A rekord címét elvileg bármelyik címzési móddal megadhatjuk, de a szoftverek

többsége a logikai címét támogatja. - Véletlen szervezés: a rekordok azonosítói legtöbbször véletlenszerőek, általában nem képezhetık egy jól meghatározott algoritmus szerint. (de ezzel nem foglalkoztunk a Turbo Pascal-nál) - Indexelt szekvenciális szervezés: indexelt sorozat, ami akár több szintő is lehet. Az egyes rekordok közvetlen elérésére szolgál. Ebben az esetben a rekordokat sorba rendezzük, majd mindegyiket kiegészítjük egy mutatóval, ami az ıt logikailag követı rekordra mutat, végül az így létrejött azonosítókat (= relatív sorszám) eltároljuk egy indextáblán vagy index állományban. Állományok címzése (fizikai): A lemezre való fizikai írás/olvasás egysége a fizikai rekord, vagy más néven blokk. Ennél kevesebb adatot a ki-, ill. bevitelnél nem lehet kezelni Amikor a lemezre adatokat írunk, akkor a tárnak egy fizikai címét kell megadnunk akár közvetlenül, akár közvetett módon. A cím megadását a

következı címzési módok egyikével tehetjük meg: 76 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. • • • Abszolút címzés: Megadandó a lemezegység azonosítója, cilinder, a sav, és a szektor fizikai címe. Relatív címzés: Megadandó egy sávcím és azon belül a fizikai rekord relatív sorszáma. Logikai címzés: Megadandó a fizikai állományon belül a fizikai rekord relatív sorszáma (lásd indexelt szekvenciális szervezés!). Hozzáférési módok: • Soros hozzáférés: a rekordok elérése a fizikai tárolás sorrendjében történik. • Szekvenciális hozzáférés: A rekordok elérése egy logikai sorrend szerint történik (pl. rendezettség) A szekvenciális feldolgozottságot elérhetjük az állomány megfelelı szervezésével vagy valamilyen szoftver eszközzel, mint rendezéssel. • Közvetlen hozzáférés: A megadott rekordhoz közvetlenül hozzáférünk anélkül, hogy rekordokat sorban be kellene olvasnunk. A

rekordokhoz való közvetlen hozzáférést indexeléssel biztosíthatjuk Az állomány-karbantartás mőveletei: - új felvitel, - módosítás, - törlés Ezek a rendezett és a rendezetlen állományban különbözı módon történnek! Turbo Pascalban alapvetıen használt állományok: - Szövegfile (Text): soros szervezéső karakteres állomány - Típusos file: azonos típusú elemekbıl vagy rekordokból áll - Típus nélküli file: az állomány mérete számít csak, a típus nem Az utóbbi kettı direkt szervezéső = közvetlenül hozzáférhetı bármelyik eleme, nem úgy mint a sorosnál, hol csak egymás után, sorban férhetünk hozzá) 77 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. B6. A program és az adatok elhelyezkedése a memóriában Statikus és dinamikus változók, tárolásuk, hozzáférésük. A mutató fogalma A dinamikus listák fajtái, karbantartásuk Modul (egység) A memóriát byte-onként címezzük és a címzéshez

regisztereket használunk. A DOS alatt futó programok azonban egész más címzési módot használnak. Kapcsolódó alapfogalmak: - abszolút cím: a memória valamelyik byte-jának (a memória elejétıl számított) fizikai címe - relatív cím: a memória valamely pontjától számított cím - paragrafus: a memória egy (16byte-os) szelete - szegmens: egy vagy több paragrafusból álló folytonos memóriaterület (max. 64KB) A felhasználó által megírt program a memóriában az „Átmeneti programterület”-en foglal helyet, az alábbi részterületekre bontva: - PSP (Programszegmenst leíró blokk) - Kódszegmensek (fıprogi + deklarált unitok); - Adatszegmens (egész program futása során létezı adatok); - Veremszegmens (rendszeradatok ideiglenes tárolása + eljárások és függvények lokális változói); - Átfedési terület (csak overlay esetében: nincs az egész progi a memóriában, csak az éppen futó részek); - Heap (dinamikus változókat itt hozunk

létre ill. szüntetünk meg) PSP: program segment prefix. Ez egy 256 byte-os memóriaterület, melyet az operációs rendszer állít elı az EXE állomány betöltésekor. Kódszegmens: a program jól elkülöníthetı programrészekbıl, unitokból áll, pl. a System, Crt, printer unit Minden egység lefordított kódja egy külön szegmens, melyet egymás után helyeznek el a tárban. Egy kódszegmens max. mérete 64 kbyte, a programban használt egységek száma elvileg korlátlan A program futásakor a vezérlés mindig más kódszegmensben van, az aktuális kódszegmens szegmenscímet a processzor CS (code segment) regisztere tartalmazza. Adatszegmens: Az adatszegmens egy közös állandó adatterület. A fıprogram és az összes egység ezt az adatterületet használja statikus (egész program futása során létezı adatainak tárolására. Az adatszegmens tartalmazza a globális változókat és az összes típusos állandot. Mérete max 64 Kb lehet Adatszegmens

szegmenscímet a processzor DS (Data Segmens) regisztere tartalmazza, mely a program futása során szintén állandó. Veremszegmens: A verem egy LIFO jellegő adatszerkezet, a legutoljára bevitt adatot lehet elıször kivenni. A rendszer adatok ideiglenes tárolására használja, ide kerülnek az eljárások és függvények lokális változói, paraméterei és visszatérési címei. A verem szegmenscíme és mérete a futás során állandó A szegmenscímet a processzor SS (Stack Segment) regisztere tartalmazza. Átfedési puffer: Ez a terület csak akkor része a programunknak, ha átfedési (overlay) technikát alkalmazzuk. Az overlay technikát nagy programok esetén szokás használni: nem tartjuk bent egyszerre a tárban a teljes lefordított programot, hanem annak csak az éppen futó részeit – a futó programrészek átfedik egymást. Heap: A heap egy dinamikus (állandóan változó) adattároló, jelentése: halom, rakás. A program futása közben dinamikus

változókat lehet itt létrehozni, ill. megszüntetni A teljes heap bármekkora lehet, de egy dinamikus változó mérete itt sem lehet több 64 KB-nál. A Heap veremszerően mőködik, felfelé növekszik Statikus változó: Globális változó deklarálásakor a fordító a változó számára kioszt az adatszegmensben egy memóriaterületet, lokális változó esetén az eljárás ill. a függvény kódja végzi el a területfoglalást a veremszegmensben. A programozónak semmi dolga a változó helyének, címének meghatározásával, azt a rendszer automatikusan elvégzi. Egy magasszintő nyelvben csak a változó nevére kell hivatkozni, a rendszer a foglalt memóriaterület kódját behelyettesíti a program kódjába. Dinamikus változót program futása során hozunk létre ill. szüntetünk meg A létrehozott változóra mutatóval hivatkozunk, mely mutató egy 4 byte-os memóriacímet tartalmaz.: a mutatott változó fizikai címet A változó a heapben tárolódik.

Dinamikus változót a New eljárással hozhatunk létre: New (P) (A ’P’ típusos mutató) A változó felszabadítása a Dispose eljárással történik: Dispose (P) 78 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. Típus nélküli mutatónak a GetMem(P, méret) eljárással lehet memóriát foglalni, és a FreeMem(P, méret) eljárással lehet azt felszabadítani. Mutató: kétféle létezik típusos és típus nélküli. Típusos esetén a mutatott változónak jól meghatározott típusa van, míg egy típus nélküli mutató által mutatott memóriaterületre nem jellemzı a típus. Mutatókkal nem csak dinamikus változókra lehet mutatni, hanem bármely memóriaterületre. A mutatókat értékadással az lehet irányítani egyik memóriacímrıl a másikra. A listában levı adatelemek össze vannak kapcsolva, minden elem tartalmazza a következı elem mutatóját. A mutatókkal a lista az elejétıl a végéig bejárható. A listaelemek egy adat

részbıl és egy mutatórészbıl állnak Lehet statikus és dinamikus: Statikus lista például egy tömb, melynek elemei rekordok - minden rekord az adatokon kívül tartalmaz egy indexet, mely az ıt követı elem tömbbeli indexe. A statikus lista hátránya, hogy maximális mérete elıre rögzített és így a rendelkezésre álló memória hamar elfogy. A dinamikus lista elemeit szükség szerint hozzuk létre, illetve szüntetjük meg. A dinamikus lista a memóriában annyi helyet foglal, amennyire éppen szüksége van, átengedve a felesleges memóriahelyeket más tárolószerkezetek számára. A dinamikus lista elemei a heapben vannak, azokra mutatókkal lehet hivatkozni Fajtái: Rendezett lista: a lista elemei valamilyen szempont szerint jól meghatározott sorrendben követik egymást Kétirányú (szimmetrikus) lista: a lista oda-vissza mutatókkal van felszerelve. És így az elemek elıre és visszafelé is feldogozhatok Cirkuláris (zárt) lista: a lista utolsó eleme

az elsı elemre mutat, vagyis annak mutatója nem a végjel. A cirkuláris lista mutatói körbeérnek. Dinamikus lista karbantartása: - Bıvítés: lefoglaljuk az új elemnek a helyet, kitöltjük az adatokat, majd felfőzzük a listára. - Törlés: a törlendı elemet lekapcsoljuk a listáról, módosítjuk a lista szomszéd tagjainak mutatóit, majd felszabadítjuk a memóriát. Modul (egység): a fıprogramhoz hozzászerkeszthetı tárgykód (a Pascalban TPU kiterjesztéssel). Modulokra kell bontani a programot, - ha a fıprogram mérete meghaladja a 64 KB-ot; - a fıprogram egy részben áttekinthetetlen; - a program részeinek forráskódja titkosak, vagy felesleges látni ıket; 79 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. B7. Adatszerkezetek rendszerezése Tömb, verem, sor, fa, tábla Konstrukciós és szelekciós mőveletek Absztrakt társzerkezetek. Adatszerkezetek rendszerezése: Adatszerkezetek egymással kapcsolatban álló adatok,

tulajdonságok, kapcsolatok halmaza. A kapcsolatokban részt vevı struktúraelemeket csomóponti adatoknak szokás nevezni A csomópontokat körökkel, azok közötti kapcsolatokat pedig nyilakkal ábrázoljuk. Az adatmodell mőködését az objektumok közötti relációk határozzák meg. A kapcsolatok alapján az adatszerkezetek négy fı csoportba sorolhatók: - Asszociatív (ezen belül: tömb, tábla) - Szekvenciális (ezen belül: jelsorozat, verem, sor) - Hierarchikus (ezen belül: fa) - Hálós (ezen belül: irányított gráf, hálózat) Asszociatív adatszerkezetek: a elemek közötti kapcsolatokat az elemek azonos tulajdonságértékei létesítik. Az elemeket e tulajdonságok alapján csoportosítjuk. A kapcsolatok az asszociatív (csoportosítható) adatszerkezetekben a leglazábbak. Asszociatív adatszerkezet a memóriában a tömb, ritka a mátrix és különbözı táblák. A tömb elemeinek elrendezése egy vagy több dimenzió mentén történik. N dimenziós

elrendezés leírására az N dimenziós tömb alkalmas. Az egyes elemeknek minden dimenzió mentén index jelöli ki a pozícióját. Az N dimenziós tömbben egy elemet a tömb neve és N darab indexérték azonosít Tömbdeklaráció: A deklaráció egy nevet rendel a változóhoz és megnyitja a jogot a névnek a programban való használatára. A tömbdeklaráció során az adattömbökhöz is egy nevet kell rendelni, de ezen kívül itt még a tömbelemek számát is rögzíteni kell. A deklarálást Pascalban az Array kulcsszó, a tömb elemtípusát pedig az Of kulcsszó vezeti be. A tömböt azonosító nevet pedig a var részben kell megadni. Tábla: az egydimenziós tömb általánosítása, ahol az adatokat indexeken keresztül érhetjük el. Elemei kulcs (index) és adat párok, ahol a kulcsok egyediek és bármely elem a kulcsán keresztül érhetı el. A táblával kapcsolatos mőveletek központi kérdése az adott kulcshoz tartozó adatok minél rövidebb idı alatt

történı megkeresése, és a tábla karbantartása. A táblán értelmezett mőveletek: keresésé, beszúrás, törlés, szekvenciális elérés. Szekvenciális adatszerkezetek: Itt az egyes elemek egymás után helyezkednek el. Mindig van egy kezdı elem, és minden elemet a struktúra egy jól meghatározott eleme követ. A kapcsolat egy-egy jellegő: minden elem csak egy helyrıl látható és minden elem csak egy elemet lát. Olyan esetben használatos, amikor az elemeket sorban kell feldolgozni. Pl: verem, sor, szekvenciális állomány Sor: a sor egy szekvenciális adatszerkezet, melybıl mindig a legelsınek betett elemet lehet kivenni (FIFO). Tárolása vektorban és listában egyaránt megvalósítható Mőveletek: • PUT – elem betétele a sorba, mindig a sor végére • GET – elem eltávolítása a sorból, mindig a sor elejérıl • FIRST – az elsı elem lekérdezése, a sor változatlan marad Alkalmazása: elemek feldolgozása érkezési sorrendben, pl.:

billentyőzet- vagy a nyomtatópuffer Verem: egy szekvenciális adatszerkezet, melynek mindig csak a legutoljára betett elemét lehet látni, illetve kivenni (LIFO). Megvalósítása legtöbb esetben vektor segítségével történik, ekkor az elemszámot természetesen maximalizáljuk. Kell egy mutató, mely a mindenkori verem tetejére illetve az elsı szabad helyre mutat. A veremrıl meg kell tudni állapítani, hogy az üres vagy megtelt, hiszen üres verembıl nincs értelme kivenni, tele verembe pedig nincs értelme betenni elemet. Mőveletek: • PUSH – elem betétele a verembe, mindig a tetejére • POP – elem kivétele a verembıl, mindig a legfelsıt • TOP – legfelsı elem lekérdezése, a verem változatlan marad Alkalmazása: elemek sorrendjének megfordítása, különbözı visszatérési utak megjegyzésére, visszaléptetéses algoritmusok, verem-automaták. Hierarchikus adatszerkezetek: Szerkezetét speciális gráffal, a fával adjuk meg. A struktúraelemek

hierarchikusan egymás alá vannak rendelve. A kapcsolatok jellege egy-sok: minden csomópont csak egy helyrıl látható, egy csomópontból viszont sok csomópont láthato: olyan problémák esetén alkalmazható, melyekre jellemzı a tulajdonos viszony ill. a lebontás Pl: fa, hierarchikus állomány 80 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. Fa: hierarchikus adatszerkezet, mely véges számú csomópontból áll, és igazak a következık: - két csomópont között a kapcsolat egyirányú, azaz egyik a kezdıpont a másik a végpont. - van a fának egy kitüntetett csomópontja, mely nem lehet végpont. Ez a fa gyökere - az összes többi csomópont pontosan egyszer végpont. - A fának van azonban egy rekurzív definíciója is. A fa üres, vagy A fának van egy kitüntetett csomópontja, ez a gyökér. A gyökérhez 0 vagy több diszjunkt fa kapcsolódik. Ezek a gyökérhez tartozó részfák Hálós adatszerkezetek: A hálós adatmodell

szerkezetét gráffal adjuk meg, a csomópontok az egyedek, az élek pedig a kapcsolatok. Az egyedeket tulajdonságaikkal írjuk le Hálós adatszerkezetek esetén bármelyik csomópont bármelyik csomóponttal kapcsolatban állhat. A kapcsolatok sok-sok típusúak A hálós adatszerkezeteket a belsıtárban irányított gráfnak ill. hálózatnak, a külsı tárolókon sémának nevezik A relációs adatszerkezetnél a tulajdonságok kapják a fı szerepet: az egyedet táblázattal adjuk meg, oszlopai a tulajdonságok, sorai az egyed értékei. Az adatbázist táblák alkotják, a táblákat közös oszlop köti össze Az egyes adatszerkezetekre az elemek közti kapcsolatokon túl jellemzıek a rajtuk elvégzett mőveletek halmaza. A mőveletek két fı csoportját különböztetjük meg: - Konstrukciós mőveletek: az adatszerkezetet létrehozó, továbbépítı mőveletek, - Szelekciós mőveletek: az adatszerkezetet lebontó, megszőntetı, valamint az adatelemek elérését

biztosító mőveletek. Minden adatszerkezethez a konstrukciós és szelekciós mőveletek meghatározott készletet tartozik. Absztrakt társzerkezetek (lehet: vektor vagy lista): Egy nem címezhetı tárolón csak szerkezet nélküli adatokat tárolhatunk, ilyen esetben csak soros tárolást és visszaolvasást alkalmazhatunk. A memória és a lemezegység azonban címezhetı tároló, két absztrakt tárolási lehetıség van: a vektor és a lista. Vektor: egy olyan fizikai tároló, melyben a tárolt objektumok közvetlenül egymás után helyezkednek el, mégpedig pontosan ugyanolyan távolságra egymástól. A vektor elemei indexeléssel közvetlenül cimezhetık A vektornak nagy elınye, hogy • Elemei direkt módon elérhetık. • Kezelése rendkívül egyszerő: egy magasszintő programnyelvben a vektornak megfeleltethetı egydimenziós tömb deklarálása és használata senkinek sem okoz gondot Hátránya, hogy - méretét deklaráláskor meg kell adni - a tárolt adatok

karbantartása sok uidıt és energiát vesz igénybe. A vektor jól alkalmazható, ha az elemek mérete egyenlı és nincs szükség sok rendezésre. Lista: a lista elemei fizikailag teljesen véletlenszerően helyezkednek el a tárolóban, az elemek sorrendjét mutatókkal állítják fel. A lista legnagyobb elınye, hogy az átrendezést néhány mutató átirányításával elintézhetjük. Hátránya, hogy elemei nem címezhetık közvetlenül, azok csak szekvenciálisan érhetık el Felhasználása: dinamikus, szekvenciális adatszerkezetek tárolása. 81 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. B8. Objektumorientált alapfogalmak Osztály, példány Az objektum jellemzıi Objektum inicializálása, megszüntetése. Üzenetküldés Bezárás, az információ elrejtése Kód újrafelhasználása OO alapfogalmak: Objektum: a valós világban elıforduló dolgokat objektumoknak nevezzük. Az objektumnak vannak adatai (tulajdonságai) és van

valamilyen viselkedésmódja. Egyszerőbben: (ha egy beszélı ember az objektum, akkor a haja színe, a testsúlya, stb. az adata és a viselkedésmódja az, hogy beszél) OOP-ban az Objektum: információt tárol, és kérésre feladatokat hajt végre. Az objektum adatok (attribútumok) és metódusok (=egy rutin (eljárás vagy függvény)) összessége, mely felelıs feladatai elvégzéséért. OO módszer: az OO módszertanok amennyire lehet, megpróbálják az emberi gondolkodás szabályait becsempészni a szoftverkészítésbe. OO program: Egy objektumorientált program egymással kommunikáló objektumok összessége, amelyben minden objektumnak megvan a jól meghatározott feladatköre (felelısségi köre). (mint egy cégnél, vannak dolgozók, akiknek vannak tulajdonságaik pl. szakképesítés és vannak feladataik pl könyvelés) Absztrakció: A való világ leegyszerősítése a lényegre koncentrálás érdekében. Az egyes objektumoknak csak azon tulajdonságait és

viselkedésmódját vesszük figyelembe, melyek célunk elérése érdekében feltétlenül szükségesek. (szerk: egy könyvelınek csak a feladata elvégzése szempontjából lényeges dolgokat vesszük figyelembe, pl. a lábmérete nem számít) Osztály: olyan objektumminta vagy típus, amelynek alapján példányokat (objektumokat hozhatunk létre) (sablon) Osztályozás: viselkedésük vagy tulajdonságaik szerinti osztályozása az objektumoknak. Gondolj arra, hogy az élılényeket is osztályokba soroljuk akár tulajdonságaik szerint (emlıs, hüllı stb) vagy viselkedésők szerint. Öröklıdés: egy osztály örökölhet tulajdonságokat és viselkedésformákat egy másik osztálytól, az utódosztályban csak az ısosztálytól való eltéréseket kell megadni. (olyan, mint az anyja, csak a haja sötétebb) Üzenet: Az objektumokat üzeneteken keresztül kérjük meg különbözı feladatok elvégzésére. Ez nem más, mint az objektumba beprogramozott rutin hívása.

Üzenetet küldeni egyik objektum csak akkor tud a másiknak, ha azzal kapcsolatban áll. Ez mindig egyirányú a kliens küldi a szerver felé (szerk: a fınök csak úgy tudja kiosztani a munkát, az üzen a dolgozónak, hogy csinálja meg.) Objektum állapota: az objektumnak mindig van egy állapota, mely az adatok pillanatnyi értékeit jelenti. Egy feladat elvégzése után az objektum állapota megváltozhat. Két azonos tulajdonságokkal és mőveletekkel rendelkezı objektumnak akkor és csak akkor ugyanaz az állapota, ha az adatok értékei rendre megegyeznek. Objektum azonosítása: az objektumok egyértelmően azonosíthatók. Az objektum azonossága független a tárolt értékektıl. Két objektum akkor sem azonos, ha állapotaik megegyeznek (szerk: két Kovács Kati van a cégnél, akkor valahogy meg kell ıket különböztetni, mert nem tudják különben eldönteni, hogy kinek kell elvégezni a munkát. Ergo, mindennek kell egyedi azonosító) Osztály: hasonló

objektumok közös szerkezetének, viselkedésének és kapcsolatainak absztrakciója. Az osztály (típus) egy minta, mely alapján objektum példányokat (objektumokat) lehet létrehozni. Üzenetküldés: Üzenet nem más, mint egy kívülrıl elérhetı metódus (eljárás vagy függvény) hívása. Mindig a kliens üzen a szervernek. Az objektumok tehát üzeneteken keresztül szólítják meg egymást, melyben: • Kliens: a feladatot elvégeztetı objektum • Szerver: a feladatot elvégzı objektum 82 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. Ugyanaz az objektum lehet egyszer kliens, máskor szerver. Általános dolog, hogy egy objektum a számára kiszabott feladat bizonyos részeit más objektumokkal csináltatja meg. Az üzenetet a megszólítandó objektum azonosítójával minısítjük és az üzeneteknek lehetnek paraméterei: Objektum. Uzenet(parameterek) Ha az objektumtól választ is kérünk valamilyen formában, akkor azt változó

paramétereken keresztül ill. a függvény visszatérési értékeként kaphatjuk meg. Objektum inicializálása, megszüntetése egyrészt az objektum kezdeti adatainak megadásából másrészt a mőködéséhez szükséges kezdeti tevékenységek végrehajtásából áll. A legtöbb nyelven az inicializáló metódus végzi az objektum létrehozását is. (Gizike nem tudja megcsinálni a táblázatot, ha nem kapja meg a kezdı infókat. Kap adatokat és utasításokat) Bezárás, információ elrejtése (encapsulation): A bezárás az adatok és metódusok összezárását, betokozását jelenti. Az információ elrejtése azt jelenti, hogy az objektum elrejti adatait, azt csak az interfészen keresztül lehet megközelíteni. Így más programrész nem tudja elrontani az objektum belsejét, és az objektumban esetlegesen keletkezett hiba nem tud átterjedni más programrészekre. Ehhez a következı szabályok betartása szükséges: • Az objektum csak olyan üzenetekre

reagáljon, amelyre azt beprogramozták, • Az objektumot csak interfészen keresztül lehessen megközelíteni, • Az objektum interfész része a lehetı legkisebb legyen. • Az adatok csak metódusokon keresztül legyenek elérhetık. (szerk.: Az objektum saját szociális problémája, hogy hogyan oldja meg a rá kiosztott feladatot, abba beleszólni nem lehet.) Kód újrafelhasználás: Az objektumorientált programozás nagy elınye, hogy az egyszer már megírt, letesztelt régi kódokat változtatás nélkül felhasználhatjuk új programban, így csökkenthetjük az elıforduló hibák számát és idıt takarítunk meg. A kód újrafelhasználásának másik módja, hogy a már megalkotott osztályból példányokat hozunk létre. Ahány példányt hozunk létre, annyiszor használjuk újra a megfelelı osztály kódját. Ha ezt az osztályt egyszer sikerült jól beprogramozni, akkor azt akárhányszor használjuk, sosem fogunk benne csalódni. (Gizike, úgy csináld meg

az összesítı táblázatot, mint múltkor.) 83 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. B9. Objektumok, illetve osztályok közötti kapcsolatok Objektumdiagram, együttmőködési diagram, osztálydiagram, osztályleírás. Objektumorientált tervezés, UML jelölés Objektum jelölése: Objektum neve Tulajdonságai Tevékenységei Az objektumok csak úgy tudnak együttmőködni, ha kapcsolatban állnak egymással. Alapvetıen kétféle kapcsolat létezik: • Ismeretségi: két objektum Ismeretségi (használatai) kapcsolatban van egymással, ha azok léte egymástól független, és legalább az egyik ismeri, ill. használja a másikat Amelyik objektum használni akarja a másikat, annak tartalmaznia kell egy referenciát (mutatót) a megszólítani kivan szerver objektumra. Ha az objektumok kölcsönösen használják egymást, vagyis a kliensszerver szereposztás váltakozik, akkor mindkét objektumban fel kell vennünk a másikra vonatkozó

referenciát. Az ismeretségi kapcsolatban álló objektumok közül bármelyik megszüntethetı, csak arra kell vigyázni hogy a “túlélı ” objektum a továbbiakban ne hivatkozzon a “meghaltra” és ne maradjon hivatkozatlanul az az objektum, melynek még üzenetet akarunk küldeni. Pl a nyomtatót használó két alkalmazás ismeri a nyomtatót, egyik megszünésekor a másik objektum nyomtathat. • Tartalmazási: két objektum tartalmazási (egész-rész) kapcsolatban van egymással, ha az egyik objektum fizikailag tartalmazza vagy birtokolja a másik objektumot. A rész objektumot senki más nem látja, csak a tartalmazó, összetett objektum. A rész objektum léte az egész objektumtól függ, vagyis ha az egész objektumot megszüntetjük, vele együtt “pusztul” a rész is. Kompozíciónak nevezzük azt a tartalmazást, ahol az egész létrehozásakor összeáll a végleges kompozíció és késıbb nem vehetı ki belıle egyetlen rész sem (erıs tartalmazás). A

tartalmazási kapcsolat erısebb, mint az ismeretségi: az egész objektum mindig ismeri részét. Pl: ablak és a rajta levı nyopmógombok A tartalmazás lehet: - gyenge: ha a rész kivehetı az egészbıl (pl. doboz:Doboz és csoki:Édesség); Jelölése az UML-ben: a két objektum közti vonal a tartalmazó objektum oldalán kis üres rombusszal (pl. Java1 87. old 62 ábra/1); - erıs: ha a rész nem vehetı ki az egészbıl (pl. a nyomtatás dialógus OK gombja), Jelölése az UML-ben: megegyezik a gyengével azzal az eltéréssel, hogy a rombusz tömör (pl. Java1 87 old 6.2 ábra/2) Osztálydiagram A rendszer objektumelvő szerkezetének leírása. Olyan statikus modell, amely a rendszerben található összes osztályt, és azok statikus (ismeretségi, tartalmazási és öröklési) kapcsolatait ábrázolja. Az összes többi modell erre épül. Az osztálydiagramon minden osztály pontosan egyszer szerepel Az osztályok közötti kapcsolatokat a kapcsolat foka alapján

osztályozzuk: • Egy-egy kapcsolat: Az egyik osztály egy példánya a másik osztály legfeljebb egy példányával áll kapcsolatban. A másik osztályra ugyanez vonatkozik • Egy-sok kapcsolat: Az egyik osztály egy példánya, a másik osztály sok példányával állhat kapcsolatban. A másik osztály egy példánya viszont legfeljebb egy példánnyal állhat kapcsolatban az egyik osztályból. • Sok-sok kapcsolat: a sok-sok kapcsolatban mindkét osztály akármelyik példánya a másik osztály sok példányával állhat kapcsolatban. Az osztályok közti kapcsolatok jelölése: - vonalat húzunk a két osztály közé; - az irányt nyíllal jelöljük; - jelöljük a kapcsolat fokát; - a kapcsolat nevét a vonalra írjuk. 84 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. Objektumdiagram: Az osztálydiagram egy példányát mutatja be. Egy lehetséges rendszerkonfigurációt ad meg, a használt objektumok ábrázolásával és az ezek közötti

relációkkal. Jelölésrendszere megegyezik az együttmőködési diagrammal, csak az üzenetek nélkül. Együttmőködési diagram: Az objektumoknak a probléma megoldásában való együttmőködését mutatja be. Olyan, konkrét objektumokat tartalmazó diagram, amely az objektumok közötti dinamikus kapcsolatokat ábrázolja. Tartalmazza az objektumok közötti ismeretségi, illetve tartalmazási (egész - rész) kapcsolatokat is. Az objektumok közötti információcsere üzenetekkel történik, ezeket olyan nyilakkal ábrázoljuk, amelyekre ráírjuk az üzenet nevét, és meg is számozhatjuk ıket, ahhoz, hogy az eseményeket relatív rendezettséggel tüntessük fel Komponens diagram A komponensekbıl felépülı szoftverrendszert mutatja be. Az osztálydiagram osztályainak és egyéb elemeinek fizikai csoportosítását ábrázoló diagram. Szoftver-komponenseket, interfészeket és ezek közötti kapcsolatokat tartalmaz. A szoftver-komponensek programállományok

(forráskódok), bináris állományok és végrehajtható programok lehetnek. Osztályleírás: az osztálydiagramban szereplı osztályok jellemzıinek kifejtése. Meg kell adni minden jellemzıt, mely az osztály megértéséhez, pontos kódolásához szükséges: • Osztály neve • Feladatleírás • Közvetlen ıs • Objektumok száma • Kapcsolatok: az osztály más osztályokkal való kapcsolatai. Itt írjuk le hogy az osztály milyen egyéb osztályokkal objektumokkal mőködik együtt. • Adatok: az osztálydiagramon az adatról csak kevés információt tudunk jelölni, itt megadható az összes adat neve, típusa, értékhatárai, beviteli formátuma, korlatozások, magyarázat, példák. • Metodusok: itt röviden leírjuk a metódusok feladatát szövegesen és/vagy pszeudokódokkal. Az OO fejlesztés fázisai: - Analízis: a megoldandó feladat meghatározása. Tartalmazza a feladatspecifikációt, képernyı és listaterveket. - Tervezés: az analízisben

készült dokumentációk kibıvítése: objektumdiagrammok, együttmőködési diagrammok, osztálydiagram, osztályleírás. Célszerő már meglévı osztályokat újrafelhasználni - Kódolás, tesztelés: az osztálydiagramm osztályait kódoljuk, és folyamatosan teszteljük, elsısorban az analízis során feltárt esetek kipróbálásával. UML jelölés: (Unified Modelling Language): grafikus jelölésrendszer a szoftver modellezésére. (Prog2, 297o) Az UML jelölés lényege: a feladat elemeit és a közöttük lévı kapcsolatokat diagramokon ábrázoljuk. Az ilyen diagram matematikailag egy gráf, melyben a csomópontok az egyes elemek és az azokat összekötı élek pedig a kapcsolatok. Az objektumorientált jelölésekkel az adatokhoz kapcsolhatók az azt kezelı objektumok. Segítségével ábrázolni tudjuk a valóság egy objektumának tulajdonságait és azt, hogy a környezetének mely hatásaira képes reagálni, illetve milyen módon tud hatni környezetére. 85

Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. B10. Öröklıdés az objektumorientált szoftverfejlesztésben Adatok és metódusok védelme Virtuális metódus, futás alatti kötés. Üzenetek nyomkövetése Polimorfizmus Típuskényszerítés Öröklıdés: az öröklıdés az OO programozásban egy megvalósítási, kódolási könnyebbség. Lényege, hogy a már meglévı osztályokat fejleszthetjük tovább. Fajtái: - specializálás: egy objektum leírásához egyedi jellemzıket adunk hozzá - általánosítás: több objektum leírásából kiemeljük a közös jellemzıket. Az öröklés lehet: - Egyszeres: az osztálynak egy közvetlen ıse van (pl. a busznak az utasszállító); - Többszörös: az osztálynak több közvetlen ıse van (pl. lakás és kocsi a lakókocsinak) A már meglévı osztály az ıs osztály, a továbbfejlesztett osztály pedig a leszármazott, ill. utód osztály Az utód osztály az ıs osztály specializálása. Az ıs

osztályból úgy származtatunk újabb osztályt, hogy az ıs osztály tulajdonságaihoz ill. képességeihez újabbakat adunk, vagy a a meglévı képességeket felülírjuk Ezzel az ıs osztályt akár kibıvíthetjük, akár átírhatjuk. Egy osztály örökítésekor három lehetıségünk van: új adatokat adunk hozzá az ıs osztályhoz, új metódusokat adunk hozzá az ıs osztályhoz, vagy az ıs osztály metódusait felülírjuk. Osztályhierarchia diagramm: Az öröklés is egyfajta kapcsolat két osztály között. A csak öröklési kapcsolatokat ábrázoló osztály diagrammot osztályhierarchia diagrammnak nevezzük. Egyszeres öröklésrıl akkor beszélünk, ha egy osztálynak csak egy ıse lehet. Többszörös öröklésrıl akkor beszélünk ha egy osztálynak több ıse is lehet Adatok és metódusok védelme: vannak olyan metódusok, melyeket a külsı felhasználok elıl le kell tiltani, hiszen ezek hívásával csak bajt okozhat. Az osztály deklarációihoz

háromféle hozzáférési mód lehetséges: • Public: minden metódus használhatja – akár objektumból, akár öröklésen keresztül; • Protected: Hozzáférés csak öröklésen keresztül; • Private: az osztály privát deklarációja, csak az osztály saját metódusai férhetnek hozzá. A privát és védett deklarációkat a külsı felhasználó nem éri el. Egy objektum interfész részében elhelyezett deklarációk nyilvánosak (public), azokat mindenki használhatja. A deklarációhoz való hozzáférési módot külsı láthatóságnak nevezzük. Futás alatti kötés: bizonyos metódusok nem fordítási idıben, hanem késıbb, futáskor “kötıdnek” a hívás helyéhez (késıi, dinamikus kötés). Az ilyen metódusokat virtuális metódusnak hívjuk Virtuális metódus: olyan metódus, melynek címet a program késıbb, futási idıben oldja fel. A virtuális metódusokkal elérjük, hogy mindig az aktuális objektum osztályának a metódusa fog futni.

Megvalósítása: minden egyes osztályhoz tartozik pontosan egy VMT (Virtuális Metódus Tábla). A virtuális metódusok címeit a program futáskor ebbıl a táblázatból veszi. A VMT-t a fordító építi fel, a programozó nem fér hozzá direkt módon. • minden objektum tartalmaz egy VMT mezıt, mely az osztály VMT-jének címét tartalmazza. • A példány-VMT hozzárendelést a konstruktor végzi a példány létrehozásakor, ill. inicializálásakor • A VMT mezı 2 byte-os relatív cím. • A VMT mezıhöz direkt módon nem lehet hozzáférni. A megfelelı osztályhoz tartozó objektumok méretét, és az osztály virtuális metódusainak címét tartalmazza. Egyszerőbben: Virtuális metódus: Az objektumokkal történı munka során szükség lehet arra, hogy az utód osztály metódusait megváltoztassuk. Erre ad lehetıséget a virtuális metódusok használata. A virtuális metódusokkal átdefiniálható az ısosztály azonos nevő metódusa, így csak a futás

közben dıl el, hogy éppen melyik metódust kell használni. VMT felépítése: • Méret mezı: az osztály adatainak mérete az ıs adatokkal együtt + 2 byte a VMT mezı • Ellenırzı mezı: A méret mezı (-1) szerese. Az objektum VMT mezıjét a konstruktor irányítja rá osztályának VMT-re. Ha tehát az objektumot nem inicializáljuk konstruktorral, akkor a VMT mezı egy véletlen memóriahelyre mutat. Az ellenırzés abban áll, hogy a program megnézi: valóban egy igazi VMT-re mutat-e a VMT mezı. Ha igen, a mutatott méret és ellenırzı méret egyike sem, összegük viszont 0 • Virtuális metódusok címei: 86 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. • • öröklés esetén a hasonló nevő virtuális metódusok címei a VMT ugyanazon relatív címen helyezkednek el. Az újonnan deklarált metódusok a deklarálás sorrendjében kerülnek bele a táblába. Polimorfizmus: (többalakúság) azt jelenti, hogy ugyanarra az

üzenetre különbözı objektumok különbözıképpen reagálhatnak; minden objektum a saját, az üzenetnek megfelelı metódusával. Az üzenet küldıjének nem kell tudnia a fogadó objektum osztályát. Típuskényszerítés: egyes objektumoknak -osztályuk lekérdezése után –olyan üzenetet akarunk küldeni, amely csak az ı osztályéban lett deklarálva. Ha az ıs típusú mutatóval próbálkozunk (P^TBMetodus) akkor már a fordító panaszkodik, hogy ilyen metódus nincs a P^-ban. Ilyenkor az utód objektumra rákényszerítjük a saját típusát és így már használhatjuk a kérdéses üzenetet PB(P) ^.TBMetodus Egyszerőbben: Típuskényszerítés: egy változóra egy idegen típus „ráhúzása”, mely lehet: - bıvítı (implicit) pl. double d; int i=5; d=i; melynek eredménye d=5,0; - szőkítı (explicit) pl. d=79,; i=(int)d; i=d; melynek eredménye i=79 87 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. B11. Objektumok, illetve

osztályok közötti kapcsolatok megvalósítása A konténer fogalma A lista, mint konténer. Iterátor Objektumok közötti kapcsolatok: A kliens objektumnak mindig ismernie kell a szerver objektumot, különben nem tudja azt megszólítani. A kapcsolat tartalmazási vagy ismertségi lehet A kliens objektumban fel kell venni egy szerverre vonatkozó referenciát, ami lehet példányváltozó, egy metódus lokális változója vagy formális paramétere. Tartalmazási kapcslat esetén a kkliens tartalmazhatja a szervert, ekkor a kliens osztályában fel kell venni egy objektum típusú változót: TKliens=Object Szerver: TSzerver; (.) End; Ismertségi kapcsolat esetén egy mutatót kell irányítani a szerverre: Pszerver=∧Tszerver; (.) TKliens=Object Szerver: PSzerver; (.) End; Az egy-sok kapcsolat megvalósítása konténer objektummal lehetséges. A konténer objektum más objektumok csoportját tárolja, és azokon különbözı eléréseket, karbantartási mőveleteket biztosit.

A konténert mesterségesen a kapcsolodó objektumok közzé kell iktatni Pl.: Tegyük fel, hogy a kliens objektum logikai kapcsolatban áll az sz1, sz2 szN szerver objektumokkal. Ahhoz hogy a kliens különbözı karbantartási és keresési mőveleteket hajtson végre a kapcsolódó objektumokon, valamilyen módon fizikailag hozzá kell ıket kapcsolni. A kliens nem mutathat külön minden egyes szerverre, hiszen a szerverek száma elvileg végtelen lehet. Legyen a kliens objektumnak egy konténere, melyben akárhány szerver objektum betölthetı. Amelyik szervernek a kliens üzenni akar, annak a mutatóját egyszerően elkéri a konténertıl. A kliensnek a következı “kívánságai” lehetnek: • Konténer.létrehoz • Konténer.betesz(szerver) –renddezetten/rendezettlenül • Konténer.töröl(szerver) • Konténer.elsı szerver mutatója • Konténer.következı szerver mutatója • Konténer.utolsó szerver? • Konténer.megszüntet 1:N kapcsolat

megvalósításához valamilyen speciális adatszerkezet kell választani pl.: tömb, tábla, verem, sor A konténerbe nem tesszük bele fizikailag az objektumokat, mert akkor a kapcsolat csak tartalmazási lehetne. Lista: A konténert úgy kell megalkotni, hogy újrafelhasználható legyen. Ezért közös ıssel rendelkezı objektumokra kell mutatnunk. Ezért kell egy közös ıs, ami teljesen független kell hogy legyen (se ablak, se idızítı), és amely tartalmazni fogja azt a minimumot, ami a lista kezeléséhez feltétlenül szükséges. Az objektumok felfőzésének egyik feltétele, hogy a résztvevı objektumok mindegyike mutassa az ıt követı objektumot: ezt a mutatót (Fnext) tehát mindenképpen beletesszük a közös ısbe. A közös ıs ezenkívül néhány alapmetódust is fog tartalmazni. Minden felfőzendı objektumnak lesz tehát egy feje, amely mutatja az ıt követı objektumot ill. fejet Nevezzük a közös ıst TItem-nek, hiszen ilyen típusos mutatóval a

lista bármely tételére tudunk majd mutatni. Iterátor: Gyakori, hogy a konténer elemein egyszerően “végig kell menni” úgy hogy közben mindegyik objektumot ugyanarra a feladatra kell megkérni. Ilyenkor fárasztó dolog az iteráció teljes ciklusát lépegetésekkel, feltételekkel együtt minduntalan leírni. Az Iterátor feladata, hogy a paraméterenként megkapott eljárás típusú változót a lista mindegyik elemével végrehajtassa. 88 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. B12. Az objektumorientált szoftverfejlesztés fázisai, jellemzıi Objektumok fıbb sztereótípusai (határ, kontroll, egyed, konténer). Komponensek Az alkalmazói program felépítése OO szoftverfejlesztési eszközök. Szoftver fejlesztésének fázisai: Analízis  Tervezés  Kódolás  Tesztelés Analízis: Az analízis elemzés során felmérjük a helyzetet, mire van szükség, mik a lehetıségek. Itt kell eldönteni, hogy a feladat egyáltalán

megvalósítható-e, mik a célok, meg kell becsülni az idıt és költségeket. A problémamegoldás e szakaszában a szóban forgó problémát minden szempontból egyértelmően definiálni kell, hiszen a feladat pontos definíciója nélkül aligha lehet pontos programot készíteni. A beviteli (input) adatokkal kapcsolatban a következı kérdések merülnek fel: • Mik az input adatok,milyen a beviteli formájuk • Mik a bevihetı értékek • Milyen módon kell befejezni a bevitelt • Vannak valamilyen speciális megszorítások, vagy feltételek • Milyen kapcsolatok vannak a beviteli adatok között A kiviteli (output) adatokkal kapcsolatban a következı kérdések merülnek fel: • Milyen adatokat kell megırizni, mennyi adatról van szó • Mely adatokat kell megjeleníteni • Hogyan tudjuk ezeket az adatokat elıállítani. Tervezés: A programtervezés feladata hogy az analízis során összegyőjtött információkat és adatokat alapul véve logikailag

véglegesen kialakítsa az adatstruktúrákat és az adatokon manipuláló algoritmusokat. Osztálydiagram, objektumdiagram vagy együttmőködési diagramm, osztályleírás elıállítása. Módszerek: Hosszú ideig a moduláris programozás volt a jelszó, a lényege, hogy a programot felülrıl lefelé (top-down) funkcionálisan egyre kisebb lépésekre (modulokra, eljárásokra) bontjuk. Ezt váltotta fel a Jackson féle programtervezési módszer, manapság az objektum orientált módszer hódit. Kódolás: Ha terv elkészült akkor jöhet a kivitelezése. Ennek elsı szakasza a programterv kódolása egy adott programnyelven. A kódolási szakasz dokumentációja a forrásnyelvi lista Ez akkor jó, ha pontosan a programterv alapján készült, áttekinthetı, olvasható, tömör egyértelmő megjegyzéssekkel van megtőzdelve. Ebbe persze lehetnek szintaktikai hibák, amelyek pl. elgépelésbıl is adódhatnak Tesztelés: Ha alaposak voltak az elızı fázisok, itt könnyő

dolgunk van. A program leállhat futási hibával, de kiderülhet hogy program rosszul mőködik. Kellemetlen hiba az ún szemantikai hiba, ennek problémája mélyen gyökrezhet. Elıfordulhat, hogy a probléma forrását már a probléma analizálástól fogva magunkkal hurcoljuk Teszteléskor a következıkre kell figyelni: • Pontosan úgy mőködik-e a program ahogy az feladat leírásban szerepelt? • Nem lehet-e elrontani? • Elég hatékony-e? • Biztonságos-e a használata? • Felhasználó barát-e? Objektumok fıbb sztereótípusai: Az objektumokat, osztályokat különbözı fajtákba (sztereotípusok) lehet sorolni. A legfontosabb fajták a következık: - Egyed objektumok alkotják a rendszer lényegi részeit. Az egyed objektum egy valós világbeli személy, dolog, hely, fogalom, vagy esemény. Határ (interfész): a külvilággal kapcsolatot teremtı objektum. Pl menü, nyomógomb, stb Aktor: határ objektumokon keresztül kommunikál a rendszerrel, vezérli a

program menetét. 89 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. - Riport objektum: nyomtatott vagy elektronikus listákat készítı objektum. Bekéri az adatokat, feldolgozza, majd kiírja ıket. Kontroll objektum: vezérlést, számolást végrehajtó objektum. Ilyen pl a folyamatvezérlı, egy statisztikai adatgyőjtı, vagy egy más objektumokat koordináló objektum. Konténer objektum: a különbözı kapcsolatok megvalósítására szolgál. Ha a kapcsolat foka jól behatárolható, akkor statikus adatszerkezetek is használhatok, mint pl. a tömb Ha a kapcsolat foka változó, akkor valamilyen dinamikus szerkezetet kell használnunk, mint a lista, vagy a kollekció. Az adatbázisok saját konténerrel rendelkeznek. Komponensek (az újrafelhasználható kód):szabályos, újrafelhasználható szoftver építıelemek (forrás, bináris, vagy futtatható kód) , melyeket applikációk fejlesztéséhez hasznának. Komponensek lehetnek pl osztályok

v azok egy csoportja. • Interfész osztályok pl.: nyomógomb a listadoboz a menü • Konténer osztályok pl.: a lista, tömb, fa Komponensek egyszerőbb nyelvi elemekbıl épülnek fel, melyeket aztán beépítenek az alkalmazásba. Azért használjuk ıket, mert egyrészt az alkalmazás fejlesztésének idejét drasztikusan lecsökkenti, másrészt növeli az alkalmazás minıségét. Az alkalmazói program felépítése: egy tipikus felhasználói programban a következı elemek találhatóak meg: felhasználói felület, eseményvezérelt programozás, adatbáziskezelés, kivételezés, szemétgyőjtés • felhasználói felület: az alkalmazás azon része, mely az ember és a számítógép közötti kapcsolatot biztosítja. A kapcsolatot szoftverrel vezérelt eszközökkel valósítják meg: grafikus képernyı, billentyőzet, egér, nyomtató. A felhasználói felület szerves velejárói: menü, ablakkezelés, on-line help • eseményvezérelt programozás: az esemény

olyan történés, amely megváltoztathatja valamely objektum állapotát. Az eseményvezérelt programozás azt jelenti, hogy a program futása során események keletkeznek, melyeket egy kontroll objektum fogad és megfelelı szabályok szerint szétoszt a program objektumai között. Az egyes objektumok elıre be vannak programozva, hogy egy adott eseményre hogyan reagáljanak. • Adatbáziskezelés: vannak olyan objektumok, amelyeket hosszabb idıre el szeretnénk tárolni. A program futását túlélı objektumokat rezisztens objektumoknak nevezzük. Ezen objektumok tárolását és manipulálást az adatbáziskezelı végzi: adatok központi permanens tárolása, több felhasználó kiszolgálása, integritás, helyreállítás, adatvédelem, lekérdezések. • Kivétel kezelés: a kivétel egy esemény vagy feltétel, mely bekövetkezése megszakítja a program normál futását. A kivétel objektum tárolja az az információt, hogy milyen kivétel történt és hol A

kivételes eseményt a program átadja az ún. kivételezınek, amely azt lekezeli A kivételezı a kivételes (ált hiba) esemény bekövetkezése esetén megpróbálja a programot megmenteni az összeomlástól, vagy elhárítja a hibát, vagy visszaállítja a rendszert egy elızı stabil állapotba. • Automatikus szemétgyőjtés: A változó létrehozásakor lefoglalt memóriaterület megszőnésekor felszabadul. Az automatikus változónak a program foglal helyet, míg a dinamikus változó helyfoglalásáról a programozó gondoskodik. Az automatikus változó lehet vagy lokális, globális Azokban a szoftverekben, ahol automatikus szemétgyőjtés van a programozónak nem kell megszüntetni a dinamikusan létrehozott változat. A rendszer periodikusan takarít, kisöpri a szemetet Csökkenti a hiobák számát,viszont lassítja a programot. 90 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. B13. A 4GL eszközök osztály- és objektummodellje A

fontosabb osztályok és metódusok funkcionális bemutatása. Osztály-, és objektummodell: A Delphi objektumorientált nyelve az Object Pascal. Osztályt az Object és a Class kulcsszóval is deklarálhatunk, a Class-ként deklarált osztály példányai azonban dinamikus objektumok lesznek. Így csak inicializálás után foglalnak helyet a memóriában, viszont más módon kell ıket inicialáizálni: Obj:= TOsztály.Create Egy Delphi alkalmazásban az interfész objektumok tartalmazási, tulajdonosi hierarchiát alkotnak: az alkalmazás birtokolja az ablakot, az ablak tartalmazza a gombokat, menüt, cimkét, stb. A tartalmazás következménye, hogy ha az ablakot becsukjuk, becsukódik a benne levı összes objektum; ha egy ablakot elmozdítunk, vele mozog az összes benne levı objektum. Fontosabb osztályok: Minden osztálynak van egy közös ıse, ez a TObject osztály; így minden osztályt felfőzhetünk egy listára. Ebbıl származik a TComponent osztály is, mely közös

ıse a tervezési idıben kezelhetı komponens paletta vezérlıelemeinek. A TComponent osztályból minden vezérlıelem két fontos jellemzıt örököl: - Name: a komponens programbeli neve. - Owner: a komponens tulajdonosa. A tulajdonos feladata, hogy megszőnésekor megszőntesse a komponenseit, pl. egy ablak bezáráskor megszőnteti a rajta levı gombokat A TControl osztály a TComponent osztály leszármazottja, a látható komponensek ıse. Fontosabb jellemzıi: - Visible: láthatóság - Top, Left, Width, Height: pozíció - Color: szín - Font: betőtípus Az alkalmazás ablakai a TForm osztály példányai. Az ablakok a következı objektumokat tartalmazhatják: - TLabel: statikus szöveg - TEdit: szerkesztımezı - TButton: nyomógomb - TCheckBox: jelölınégyzet - TRadioButton: választógomb - TComboBox: kombinált lista Fontosabb metódusok: A program futása során események keletkeznek, melyeket egy kontrol objektum fogad, és megfelelı szályok szerint szétoszt a

program objektumai között. Az egyes objektumok be vanna programozva, hogy egy adott eseményre hogyan reagáljanak. Pl a TForm1-en levı OK nevő gomb megnyomására a TForm1OKClick metódus fog végrehajtódni. Delphiben az eseménykezelı metódusok egérkattintásra automatikusan generálódnak, a programozónak csak a metódus belsejét kell ténylegesen megírni. Ilyen metódusok pl: - OnClick: kattintás egérrel - OnEnter: belépés a szerkesztımezıbe - OnExit: kilépés a szerkesztımezıbıl - OnKeyPress: billenytőlenyomás - OnChange: állapot megváltozása (ComboBox-nál) 91 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. B14. Az eseményvezérelt programozás megvalósítása a 4GL eszközökben Az esemény egy olyan történés (elıfordulás), amely megváltoztathatja valamely objektum állapotát. Az eseményvezérelt programozás azt jelenti, hogy a program futása során események keletkeznek, melyeket egy kontroll objektum fogad és

megfelelı szabályok szerint szétoszt a program objektumai között. Az egyes objektumok elıre be vannak programozva, hogy egy adott eseményre hogyan reagáljanak. Esemény lehet: • • • • Jel: egy objektum a másik objektumnak egyértelmő jelet küld (pl. billentyőleütés, egér kezelés) Hívás: egy objektum meghívja egy másik objektum egy metódusát İrfeltétel: egy elıre meghatározott feltétel igazzá válik Idı: a kijelölt idı eltelik vagy elérkezik. A reakció lehet egy feladat végrehajtása, vagy egy újabb esemény kiváltása is. Az objektum lekezeli az eseményt, amely egy eseménykezelı metódus feladata. Ahhoz hogy egy objektum fogadjon egy eseményt, két feltételnek kell teljesülnie: • • Az objektum be legyen tanítva az esemény fogadására: a keretrendszer objektumait már nagyon sok esemény fogadására betanították. Ha valamire mégsem, az a programozó dolga Az objektumhoz eljusson az esemény: a mechanizmusban az egér által

kiváltott jelet általában az az objektum (ablak) kapja meg, amelyiken kattintottak, a billentyőleütést pedig az, amelyik éppen a fókuszban van. A Delphi környezetben az ablakok adatait a programozó vizuálisan adja meg, az eseménykezelı metódusok pedig egérkattintásra automatikusan generálodnak – csak az eseményezel metódus belsejét kell a programozónak ténylegesen megírni. Az eseményvezérelt programozás olyan programozás, amely egy eseménybegyőjtı és szétosztó mechanizmuson alapszik. Az objektumok a hozzájuk érkezett eseményeket (eseménykezelı metódusokkal) lekezelik Pl. a TForm1-en levı OK nevő gomb megnyomására a TForm1OKClick metódus fog végrehajtódni Delphiben az eseménykezelı metódusok egérkattintásra automatikusan generálódnak, a programozónak csak a metódus belsejét kell ténylegesen megírni. Ilyen metódusok pl: - OnClick: kattintás egérrel - OnEnter: belépés a szerkesztımezıbe - OnExit: kilépés a

szerkesztımezıbıl - OnKeyPress: billenytőlenyomás - OnChange: állapot megváltozása (ComboBox-nál) 92 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. B15. Az őrlapok (ablakok) tervezésének menete A legfontosabb vezérlıelemek funkcionális bemutatása 4GL-ben (Angszer Erzsébet OOP. TK 184) A felhasználói felület az alkalmazásnak az a része, amely az ember és a számítógép közötti kapcsolatot biztosítja. A felhasználói felület egyrészt információt jelenít meg a felhasználó számára, másrészt adatot győjt be. A felhasználó választások alapján, interaktív módon vezérli a programot A felhasználói felület részei: - Menü: definiálni kell a menü pontjait és alpontjait. A menü pontjaihoz meg kell adni a szöveget, a forróbillentyőt és meg kell írni a hozzá tartozó eljárást. A menüben való navigálásra a menü objektum be van tanítva, azzal nem kell külön foglalkozni. - Ablakkezelés: az alkalmazások

ablakainak formátuma, kezelése szabványos. Pl OK gomb mindig elfogadást jelent, nagyobb szöveget görgetısávval görgetünk. - On-line help: a program bármely pontján az F1 billentyő megnyomására a felhasználó segítséget kap a program használatáról. A programozónak össze kell állítania a help szövegét, és az egyes objektumokhoz rendelni a hivatkozásokat. Fontosabb vezérlıelemek: Az alkalmazás ablakai a TForm osztály példányai. Az ablakok a következı objektumokat tartalmazhatják: - TLabel: statikus szöveg - Caption: szöveg - TEdit: szerkesztımezı - Text: szöveg - Alignment: igazítás - TButton: nyomógomb - Caption: felirat - ModalResult: visszatérési érték - TCheckBox: jelölınégyzet - Checked: kijelölés értéke - TRadioGroup: választógombok - Items: elemek nevei - ItemIndex: a kijelölt elem indexe - TComboBox: kombinált lista - Items: elemek nevei - ItemIndex: a kijelölt elem indexe Fontosabb metódusok: A program futása során

események keletkeznek, melyeket egy kontrol objektum fogad, és megfelelı szályok szerint szétoszt a program objektumai között. Az egyes objektumok be vanna programozva, hogy egy adott eseményre hogyan reagáljanak. Pl a TForm1-en levı OK nevő gomb megnyomására a TForm1OKClick metódus fog végrehajtódni. Delphiben az eseménykezelı metódusok egérkattintásra automatikusan generálódnak, a programozónak csak a metódus belsejét kell ténylegesen megírni. Ilyen metódusok pl: - OnClick: kattintás egérrel - OnEnter: belépés a szerkesztımezıbe - OnExit: kilépés a szerkesztımezıbıl - OnKeyPress: billenytőlenyomás - OnChange: állapot megváltozása (ComboBox-nál) 93 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. B16. Az adattáblák (SQL-táblák) képernyıs megjelenítésének és az adatok módosításának technikája a 4GL-ben. Delphiben az adatbázisok kezelése speciális komponensek segítségével történik. Az

alkalmazásokban a különbözı formátumú adatbázisokat egységesen, ugyanazokkal a komponensekkel érjük el. A komponensek metódusai a beépített adatbázismotor, a Borland Database engine rutinjait használják. A BDE egy egységes felületet biztosít a különbözı formátumú adatbázisok elérésére Delphibıl. Az adatok megjelenítése: A Data Controls palettán elhelyezkedı komponensek segítségével megjeleníthetjük és módosíthatjuk egy adatforrás tartalmát. - TDBGrid: táblázatszerően tudja megjeleníteni egy adatforrás több rekordját. Az egyes oszlopok celláit szerkesztıdobozként, vagy kombinált listaként is kezelhetjük a PickList jellemzı beállításával. - TDBListBox, TDBComboBox: egy adott adatforrás adott mezıjének értékét jeleníthetjük meg, illetve szerkeszthetjük. A lebomló lista tartalmát beállíthatjuk - TDBLookUpListBox, TDBLookUpComboBox: hasonló az elızıekhez, csak a lista értékeit egy másik táblából veszi. -

TDBNavigator: a tábla rekordjai közötti mozgáshoz kínál navigátorgombokat, melyekkel elıre-hátra, elsıutolsó rekordra tudunk ugrani, új rekordot vehetünk fel, és a meglevıt törölhetjük. Felhasználásához a kiválasztott komponenst el kell helyezni az ablakon, majd a DataSource jellemzıjét a megfelelı adatforrásra, a DataField jellemzıjét a megfelelı mezıre kell állítani. Adatok módosítása: Az adathalmazban mindig csak az aktuális rekordot szerkeszthetjük, de csak akkor, ha az adatmegjelenítési komponens nem írásvédett és a rekord szerkeszthetı állapotban (dsEdit) van. Az adathalmaz megnyitása elıtt inaktív (dsInactive) állapotban van. Megnyitás után átkerül böngészési állapotba (dsBrowse). Ha módosítasni szeretnénk a rekordot, akkor az Edit metódussal dsEdit állapotba kell hoznunk A módosítások elmentése a Post metódus meghívásával történik, ami más rekordra való lépésnél automatikusan bekövetkezik. A Cancel

metódus segítségével a postázás elıtt még visszavonhatjuk a változásokat, ekkor az adatbázis komponens RollBack metódusa visszaállítja a módosítás elıtti állapotot. Új rekordok felvitele esetén az Insert metódus dsInsert állapotba juttatja az adathalmazt, ilyenkor beállíthatjuk az új értékeket vagy visszavonhatjuk a tranzakciót. A törlés a Delete metódussal történik, az adathalmaz ezután dsBrowse állapotba kerül vissza. 94 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. B17. Menütervezés 4GL eszközökkel A Delphiben könnyen készíthetünk menüket, mivel ehhez is vannak komponensek. A menünek két típusát különböztetjük meg: fımenü és gyorsmenü. A fımenü az ablak tetején megjelenı vízszintes menüsor, a gyorsmenü az egér jobb gombjára való kattintáskor elıhívható függıleges menü. Létrehozásához el kell helyeznünk egy TMainMenu vagy egy TPopUpMenu komponenst az őrlapon, majd dupla

kattintással a komponensen be kell hívnunk a menüszerkesztıt. A menüszerkesztıben sorban be kell gépelni a menüpontokat, és beállítani a tulajdonságaikat. A menüpontokat futás közben kiszürkíthetjük, vagy eltüntethetjük. Menü komponensek: - TMainMenu: fımenü komponens. Jellemzıi: - Items: a menüpontok. A menüpontnak almenüpontjai is lehetnek Minden menüpontnak van egy OnClick eseménye, mely kattintáskor meghívódik. - TPopUpMenu: az egér jobb gombjára kattintva jelenik meg. Tetszıleges komponenshez hozzárendelhetı - Items: menüpontok. Megjelenéskor az OnPopUp esemény hívódik meg - TMenuItem: minden menüpont vagy almenüpont egy ilyen típusú objektum. - Caption: a menüpont neve. Az & jellel gyorsbillentyőt rendelhetünk hozzá, a – jel pedig egy vízszintes vonalat jelenít meg a listában. - Checked: a menüpont ki van pipálva - Enabled: engedélyezés Gyors-, és forróbillentyők: A menüpontok neveiben általában szerepel egy

aláhúzott bető, egy úgynevezett forróbillentyő. Ez a bető, ami általában a menüpont nevének kezdıbetője, arra szolgál, hogy a menıpontot billentyőzetrıl kiválaszthassuk. Az ALT mellett lenyomott aláhúzott bető a megfelelı legördülı menüt választja ki A menüben szereplı másik alhúzott bető lenyomásával egy parancsot adhatunk ki. A menük esetében van még egy másik lehetıség is a gyorsbillentyők alkalmazása. Ha egy menüpont mellett egy billentyő, vagy billentyő kombináció látható, akkor az azt jelenti, hogy az adott billentyők lenyomásával kiadhatjuk azt a parancsot. Bár a parancsok kiadása egér könnyebb, de lassabb is, különösen billentyőzetet használó alkalmazásoknál, hiszen a billentyőzetrıl át kell nyúlnunk az egérhez. Az ALT és aláhúzott billentyő használata már valamivel gyorsabb, de még mindig legalább két gomblenyomást igényel. A gyors billentyő általában egy speciális billentyő és egy másik

gomb egyidejő lenyomásából állnak, mint pl.: CTRL+C. A Windows meg sem jeleníti kapcsolodó legördülı menüt, ezért a parancs végrehajtása is gyorsabb Delphiben a gyorsbillentyő menüpontokhoz kapcsolása nagyon egyszerő, csak állítsunk be egy értéket a ShortCut (Gyorsbillentyő) tulajdonságnál, ahol a megszokott kombinációk közül választhatunk: CTRL vagy SHIFT stb. 95 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. B18. Adatbázis modellek Az adatmodell alapelemei Az adatmodellek típusai és fıbb jellemzıik Az adatmodell egyedek (táblák), tulajdonságok (mezık) és kapcsolatok halmaza, mely absztrakt módon tükrözi a valós objektumok tulajdonságainak és kapcsolatainak elvont kategóriáit. Az adatmodell egy séma, melyben megadjuk mely tulajdonságok határozzák meg az egyedeket, mely egyedek szerepelnek a sémában, és ezek közt milyen kapcsolatok vannak. Az adatmodell alapelemei: a modellek három szerkezeti elembıl

állnak: - Egyed (egyedtípus) - Tulajdonság (tulajdonság-típus) - Kapcsolat (kapcsolat-típus) Egyed: egyednek hívunk minden olyan dolgot (objektumot), ami minden más dologtól (objektumtól) megkülönböztethetı, és amirıl adatokat tárolunk. Tulajdonság: Az egyedeket tulajdonságokkal (attribútumokkal) írjuk le. A tulajdonság az egyed jellemzıje, amely megadja, meghatározza az egyed egy részletété. Kapcsolat: kapcsolatnak nevezzük az egyedek közötti viszonyt. A kapcsolat mindig valóságos objektumok közötti konkrét viszonyokat fejez ki, hiszen az egyed ilyen objektumokat képvisel. A kapcsolatok fajtái: - Egy-egy típusú: az egyik egyedhalmaz mindegyik eleméhez a másik egyedhalmaz pontosan egy eleme kapcsolódik. Egy-több: az egyik egyedhalmaz mindegyik eleméhez a másik egyedhalmaz több eleme kapcsolódhat. Több-több: az egyik egyedhalmaz mindegyik eleméhez a másik egyedhalmaz több eleme kapcsolódhat és ez megfordítva is igaz.

Kardinalitás: az egyed maximális kardinalitási száma a kapcsolatban azt adja meg, hogy az egyed egy elıfordulásához a másik egyedbıl maximálisan hány elıfordulás kapcsolódhat. Adatmodellek típusai: Három adatmodell terjedt el: hierarchikus, hálós, és a relációs. A hálós adatmodell szerkezetét gráffal adjuk meg. A gráfban a csúcspontok az egyedek, az élek pedig a kapcsolatok. Az egyedeket tulajdonságaikkal írjuk le, a kapcsolatokat mutatók segítségével adjuk meg A hierarchikus adatmodell szerkezetét is gráffal adjuk meg, de a gráf egy fa. Az adatok alá-, és fölérendeltségi viszonyban állnak. A relációs adatmodellnél a tulajdonságokkal definiáljuk az adatmodell szerkezetét. Az egyedet táblázattal adjuk meg, melynek oszlopai a tulajdonságok. A táblázat sorai az egyed értékei Az adatbázisokat több táblázattal adjuk meg, de a táblázatok közti kapcsolatokat nem definiáljuk. A kapcsolatot az fejezi ki, hogy a táblának van

közös oszlopa. Kiegészítés a tételhez: http://www.agtbmehu/szakm/adatb/db1htm 96 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. B19. A relációs adatmodell fogalma Funkcionális függıség, normálformák, normalizálás Relációs adatmodell: A, Egy olyan táblázat, amelynek oszlopai tulajdonságtípusok. Az adatbázist táblák alkotják, az egyes táblákat közös oszlop köti össze. B, Attribútum halmazok direkt szorzatának részhalmaza. Az attribútumok (oszlopok) számát az R reláció fokának, a sorok számát pedig a reláció számosságának nevezzük. A relációs adatbázis rövid jelölése a következı: R (A1,A2,A3,,An), ahol R a reláció neve, Ai pedig egy attribútum. Megállapítható, hogy egy reláció voltaképpen egy egyedtípus, és minden egyedtípus egy relációnak tekinthetı. Kulcs: A, Egy reláció kulcsa tehát olyan oszlop-csoport, amelyeken az oszlopok értékei egymástól különböznek, vagyis nincs olyan

két sor, amelyekben a kulcsban szereplı oszlopok értékei azonosak volnának (ha ilyenek mégis szerepelnének, akkor a két sor azonos volna, de ezt a relációban nem engedjük meg). B, Az A attribútumhalmaz egy K részhalmazát kulcsnak nevezzük, ha 1) a K értékei az R reláció mindegyik sorát egyértelmően meghatározzák, 2) de ha egyetlen attribútumot is elhagyunk K-ból, akkor az már nem teljesül. Külsı (idegen) kulcs: a reláció azon oszlopai, amelyek egy másik relációban kulcsot alkotnak. Funkcionális függıség: a P attribútum-részhalmaz funkcionálisan meghatározza a Q attribútumhalmazt, ha minden P-hez tarozó értékhez (P attribútumainak oszlopaiban álló értékekhez) pontosan egy Q-hoz tartozó értéket tudunk hozzárendelni. Vagyis a P értékei egyértelmően meghatározzák a Q értékeit Jelölése: P  Q Teljes a függıség, ha Q nem függ P részhalmazaitól. Normálformák, normalizálás: Az adatbázisok belsı szerkezetét jellemzik

a normálformák.Ha az adatbázis eleget tesz egy biozonyos feltételnek, akkor egy adott normálformában van. 1NF: Egy R relációról azt mondjuk, hogy elsı normálformában van, ha minden sorában pontosan egy attribútum érték áll. 2NF: ha elsı normálformában van és ha minden másodlagos attribútum teljesen függ a kulcstól. 3NF: ha második normálformában van és egyetlen másodlagos attribútum sem függ tranzitíven a kulcstól. Normálformára hozás: • 1NF-re: minden “többszörös” attribútumértékő sort annyi sorban írunk fel, ahányszoros az attribútumérték a sorban, vagy a kulcshoz egy külsı kulcsú relációt készítünk és ebben a többszörös attribútumértékő oszlop soraiból annyi sort hozunk létre, ahányszoros az attribútumérték ebben a sorban. • 2NF-re: a kulcsnak azon attribútumhalmazaiból, melyek maguk is meghatározzák (funkcionálisan) a másodlagos attribútumokat, valamint ezen másodlagos attribútumokból önálló

relációt hozunk létre. Így több relációra bontjuk az eredeti relációt. • 3NF-re: megszüntetjük a tranzitív függıségeket, mégpedig úgy, hogy a tranzitív függıségben részt vevı attribútumhalmazok felhasználásával új relációkat készítünk. Kiegészítés a tételhez: http://hu.wikipediaorg/wiki/Rel%C3%A1ci%C3%B3s adatmodell 97 Gábor Dénes Fıiskola kidolgozott Államvizsga A és B tételsor. B20. Az SQL fontosabb fogalmai (adatbázis, tábla, oszloptípusok, kifejezések, függvények) A SELECT parancs szerkezete, mőködése. A beágyazott SELECT SQL (Structured Query Language) – struktúrált lekérdezı nyelv, az adatbáziskezelı rendszerek szabványosított lekérdezı nyelve. Az SQL relációs adatmodellt kezel, így a nyelv fı objektuma a reláció, amit az SQL-ben táblának nevezünk. Az SQL alapelemei: Tábla: A tábla azonosítója maximum 8 karakter, betőkbıl, számjegyekbıl és aláhúzás karakterekbıl állhat. A tábla

oszlopokból áll, a tábla definiálásakor az oszlopok típusait is meg kell adni. Az oszlop azonosítója 10 karakter lehet. Különbözı táblákban lehet az oszlopnév azonos Adatbázis: a táblák adott csoportja adatbázist alkot az SQL-ben, amit névvel látnak el. Oszloptípusok: - Smallint: elıjellel hatjegyő egész szám - Integer: elıjellel tizenegy jegyő egész szám - Decimal (x,y): x jegyő, y tizedesjegyő fixpontos decimális szám; x: 1-19, y: 0-18 - Numeric (x,y): x jegyő, y tizedesjegyő fixpontos decimális szám; x: 1-20, y: 0-18 - Float (x,y): x jegyő, y tizedesjegyő lebegıpontos decimális szám; x: 1-20, y: 0-18 - Char (n): karakterfüzér, n: 1-254 - Date: dátum - Logical: logikai érték Kifejezések: az SQL a kifejezések szerkezete és tartalma tekintetében megegyezik más nyelvekkel. - Aritmetikai: numerikus vagy dátum típusú oszlopnevekbıl, változókból, konstansokból, mőveleti jelekbıl (+ - * / ) és zárójelekbıl állhat.

Szerepelhet bennük aritmetikai függvény is - Karakter: karakter típusú oszlopnevek, változók, szövegkonstansok, mőveleti jel, zárójelbıl áll. A konstansok idézıjelek vagy aposztrófok közt állnak. - Logikai: Logikai típusú oszlopnevek, változók, konstansok, mőveleti jelek, zárójelekbıl relációs operátorokból (>, <, =, stb.) állnak Függvények: aritmetikai függvények (SIN,COS,EXP,LOG,STB), aggregáló függvények (COUNT, SUM, AVG, MAX, MIN), karakteres függvények (SUBSTR), dátum függvények (MONTH–BETWEEN), logikai függvények (BETWEEN, IN, LIKE), konverziós függvények. A SELECT parancs: Az adatbázis-kezelés egyik fontos, ha nem a legfontosabb mővelete a lekérdezés. Az SQL lekérdezési parancsa egy összetett parancs, a SELECT parancs. A SELECT parancs végrehajtásának eredményeként egy új tábla keletkezik, ezt eredménytáblának (E-tábla) hívjuk. A parancs általános szerkezete a következı: SELECT oszlop

kiválasztása = projekció [INTO ] az E-tábla 1. sorának tárolása FROM táblák DESCARTES - szorzata [WHERE ] sorok kiválasztása = szelekció [GROUP BY ] csoportosítás [HAVING ] csoportok közötti választás [UNION ] E-táblák összefőzése = unió mővelete [ORDER BY/FOR UPDATE OF ] E-tábla rendezése/módosítása [SAVE TO TEMP ]; E-tábla megırzése, elmentése A SELECT parancs hatására keletkezı E-tábla csak ideiglenesen jön létre. A SELECT parancs szerkezete kötött, az alparancsok csak olyan sorrendben írhatók fel, ahogy fentebb látjuk. A szögletes zárójelbe tett alparancsok opcionálisak. Egymásba ágyazott SELECT parancsok: A SELECT parancsok egymásba ágyazhatóak. Az egymás mellett lévı bal oldalon álló SELECT-et a tıle jobbra állóhoz képest külsı, a másikat pedig belsı SELECT-nek nevezzük. A külsı SELECT a belsı E-táblájától függıen hoz létre E-táblát Az ilyen módon létrehozott SELECT sorozat egyetlen

eredménytáblát ad, amit az utolsó külsı SELECT generál. A belsı SELECT mindig vagy WHERE vagy HAVING utasítás operandusa, nem tartalmazhat ORDER BY és UNION utasításokat és az is kikötés, hogy a GROUP BY és a HAVING a teljes SELECT-ben csak egyszer fordulhat elı. Példa: SELECT VNEV+KNEV,FIZ FROM DOLGOZO WHERE fiz < (SELECT AVG(FIZ) FROM DOLGOZO); http://hu.wikipediaorg/wiki/SQL programoz%C3%A1si nyelv 98