tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - informatika.pdf ·...

93
Informatikai tárgycsoport Digitális rendszerek és számítógép architektúrák 1. Neumann és Harward számítógép-architektúrák összehasonlító elemzése 2. Az információ reprezentációi és az ALU felépítése 3. Vezérl egységek (modell-implementáció) Operációs rendszerek 4. Folyamatok kezelése multiprogramozott rendszerekben. Folyamatok ütemezése és szinkronizációja. 5. A tárkezelés korszer módszerei. Lapok, szegmensek kezelése. A virtuális tárkezelés alapjai. 6. Háttértárak és kezelésük. Állományok kezelése. Az elosztott állománykezelés alapjai. Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb feladatai (átviteli közegek, keretezési eljárások, hibajelzés és hibajavítás, elemi és csúszóablakos protokollok), gyakorlati példák (PPP, HDLC) 8. A hálózati réteg jellemzése, legfontosabb feladatai (forgalomirányító algoritmusok, torlódáskezelés), gyakorlati példák (IP) 9. A szállítási réteg jellemzése, legfontosabb feladatai (összeköttetés-kezelés, kapcsolat felépítés és bontás), gyakorlati példák (TCP) Informatikai biztonság 10. Nyilvános és titkos kulcsú kriptorendszerek jellemzése, összehasonlítása 11. Számítógépes kártev k csoportosítása, tulajdonságaik 12. Számítógépes kártev k elleni védekezési lehet ségek Szoftvertechnológia + A rendszerfejlesztés korszer módszerei 13. Szoftverfejlesztési módszertanok, az alapvet szoftvergyártási modellek: vízesés modell, evolúciós modellek, komponens alapú fejlesztés. Példa: a Unified Process alapjai (felépítés, fázisok, diszciplinák, ajánlások). 14. Az objektumorientált szoftvertervezés. F bb tervezési modellek az UML-ben: Statikus modellek (osztálydiagram, objektumdiagram), dinamikus modellek (állapotdiagram, szekvenciadiagram) és funkcionális modellek (együttm ködési diagram, adatfolyam diagram, aktivációs diagram). Alapvet tervezési minták.

Upload: others

Post on 02-Aug-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

Informatikai tárgycsoport

Digitális rendszerek és számítógép architektúrák1. Neumann és Harward számítógép-architektúrák összehasonlító elemzése2. Az információ reprezentációi és az ALU felépítése3. Vezérl egységek (modell-implementáció)

Operációs rendszerek

4. Folyamatok kezelése multiprogramozott rendszerekben. Folyamatok ütemezése ésszinkronizációja.

5. A tárkezelés korszer módszerei. Lapok, szegmensek kezelése. A virtuálistárkezelés alapjai.

6. Háttértárak és kezelésük. Állományok kezelése. Az elosztott állománykezelésalapjai.

Számítógép-hálózatok7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb feladatai (átviteli

közegek, keretezési eljárások, hibajelzés és hibajavítás, elemi és csúszóablakosprotokollok), gyakorlati példák (PPP, HDLC)

8. A hálózati réteg jellemzése, legfontosabb feladatai (forgalomirányítóalgoritmusok, torlódáskezelés), gyakorlati példák (IP)

9. A szállítási réteg jellemzése, legfontosabb feladatai (összeköttetés-kezelés,kapcsolat felépítés és bontás), gyakorlati példák (TCP)

Informatikai biztonság10. Nyilvános és titkos kulcsú kriptorendszerek jellemzése, összehasonlítása11. Számítógépes kártev k csoportosítása, tulajdonságaik12. Számítógépes kártev k elleni védekezési lehet ségek

Szoftvertechnológia + A rendszerfejlesztés korszer módszerei13. Szoftverfejlesztési módszertanok, az alapvet szoftvergyártási modellek: vízesés

modell, evolúciós modellek, komponens alapú fejlesztés. Példa: a Unified Processalapjai (felépítés, fázisok, diszciplinák, ajánlások).

14. Az objektumorientált szoftvertervezés. F bb tervezési modellek az UML-ben:Statikus modellek (osztálydiagram, objektumdiagram), dinamikus modellek(állapotdiagram, szekvenciadiagram) és funkcionális modellek (együttm ködésidiagram, adatfolyam diagram, aktivációs diagram). Alapvet tervezési minták.

Page 2: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 1 -

1. Neumann és Harvard számítógép-architektúrákösszehasonlító elemzése

Alapfogalmak:- A számítógép architektúra:

A hardver egy általános absztrakciója: a hardver struktúráját és viselkedését jelentimás rendszerek egyedi, sajátos tulajdonságaitól eltekintve.

- Architektúrális tulajdonságok:Nemcsak a funkcionális elemeket, hanem azok belsőfelépítését, struktúráját is magábafoglalják.

Exoarchitektúra - endoarchitektúra:

absztrakció tökéletesítés

Számítógép architektúra definíciója:

Exoarchitektúra

Endoarchitektúra

Compiler tervezői aspektus:- utasítás készlet- utasítás regiszterek- címzési módok

Vezérlőegység tervezői aspektusai:- jelek- komponensek

Felhasználói programok+

Operációs rendszerek(OS)

Hardver rendszer

Egyedi alkatrészek ésösszeköttetéseik

Vezérlőegység (CU)

Felhasználóiszemlélet

Exoarchitektúraszintje

Compiler tervezőiszemlélet

Endoarchitektúraszintje

Mikrokódot programozószemlélet

Mikroarchitekrúraszintje

Page 3: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 2 -

Neumann architektúra

Von Neumann architektúra:De Facto szabvány:

„single-memory architecture”: az adat- és utasításcímek a memória (tároló) ugyanazoncímtartományára vannak leképezve (mapping).

- A mai rendszerek modern mini-, mikro, és mainframe számítógépei is ezt az architektúrátkövetik.

Neumann elvek:- számítógép működését tárolt program vezérli (Turing).- a vezérlést vezérlés-folyam (control-flow) segítségével lehet leírni

/ lásd vezérlőegység tétel /. Fontos lépés itt az adatút megtervezése.- a gép belsőtárolójában a program utasításai és a végrehajtásukhoz szükséges adatok

egyaránt megtalálhatók (közös utasítás és adattárolás, a program felülírhatja magát –Neumann architektúra definíciója).

- az aritmetikai és logikai műveletek (programutasítások) végrehajtását önálló részegység(ALU) végzi / lásd ALU-s tétel /.

- az adatok és programok beolvasására és az eredmények megjelenítésére önálló egységek(perifériák) szolgálnak.

- 2-es (bináris) számrendszer alkalmazása. Pl.: EDVAC computer

Fix vs. tárolt programozhatóság:- Korai számítási eszközök fix programmal rendelkeztek (nem tárolt programozható):

pl.: kalkulátor.- Program változtatása: „átvezetékezéssel”, struktúra újratervezéssel lehetséges csak.- Újraprogramozás: folyamat diagram → előterv (papíron) →

→ részletes mérnöki tervek → nehézkes implementáció.- Tárolt programozhatóság ötlete:

- + Utasítás készlet architektúra (ISA).- + Változtatható program: utasítások sorozata.- + Nagyfokú flexibilitás, adatot hasonló módon tárolni, és kezelni

(assembler, compiler, automata prog. eszk.).

Memory

ArithmeticControl Unit

Accumulator

ControlUnit

Input Output

Számítógépes rendszer modell:- CPU, CU, ALU- Egyetlen különálló tárolóelem

(utasítás és adat részére)- Univerzális Turing gépet implementál- „Szekvenciális” architektúra (SISD)

Page 4: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 3 -

Neumann architektúra hátrányai:- „Önmagát változtató” programok (self-modifying code):

- Már eleve hibásan megírt program „kárt” okozhat önmagában, illetvemás programokban is: „malware”=„malfunction”+„sw”.

- OS szinten: rendszer leállás.- Pl.: Buffer túlcsordulás: kezelése hozzáféréssel, memória védelemmel.

- Neumann „bottleneck”: sávszélesség korlát a CPU és memória között (ezért kellettbevezetni a cache memóriát), amely probléma a nagymennyiségűadatok továbbításasorán lépett fel.

- A nem-cache alapú Neumann rendszerekben, egyszerre vagy csak adat írás / olvasást, vagycsak az utasítás beolvasását lehet elvégezni (egy buszrendszer!)

Harvard architektúra

Olyan számítógéprendszer, amelynél a programutasításokat és az adatokat fizikailagkülönálló memóriában tárolják, és külön buszon érhetők el.

- Eredet: Harvard MARK I. (relés alapú rendszer).

Harvard architektúra tulajdonságai:Nem szükséges a memória (shared) osztott jellegének kialakítása:

- + Szóhosszúság, időzítés, tervezési technológia, memória címzés kialakítása iskülönbözőlehet.

- Az utasítás (program) memória gyakran szélesebb, mint az adat memória(mivel több utasítás memóriára lehet szükség).

- Utasításokat a legtöbb rendszer esetében ROM-ban tárolják, míg az adatotírható/olvasható memóriában (pl. RAM-ban).

- + A számítógép különálló buszrendszere segítségével egy időben akár egy utasításbeolvasását, illetve adat írását/olvasását is el lehet végezni (cache nélkül is).

„Módosított” Harvard architektúra:Modern számítógép rendszerekben az utasításmemória és a CPU között olyan közvetlenadatutat biztosított, amellyel az utasítás-szót is olvasható adatként lehet elérni.

- Konstans adat (pl.: string, inicializáló érték) utasítás memóriába töltésével a változókszámára további helyet spórolunk meg az adatmemóriában

- Mai modern rendszereknél a Harvard architektúra megnevezés alatt, ezt a módosítottváltozatot értjük.

- Gépi (alacsony) szintűassembly utasítások.

Page 5: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 4 -

Harvard architektúra hátrányai:- Az olyan egychipes rendszereknél (pl. SoC), ahol egyetlen chipen van implementálva

minden funkció nehézkes lehet a különbözőmemória technológiák használata azutasítások és adatok kezelésénél. Ezekben az esetekben a Neumann architektúraalkalmazása megfelelőbb.

- A magas szintűnyelveket sem közvetlenül támogatja (nyelvi konstrukció hiánya az utasításadatként való elérésére) – assembler szükséges.

Harvard – Neumann együtt:- Mai, nagy teljesítményűrendszereknél a kettőt együtt is lehet, kell alkalmazni.- Példa: Cache rendszer

- Programozói szemlélet (Neumann): cache ‘miss’ esetén a főmemóriából kell kivenniaz adatot (cím -> adat).

- Rendszer, hardver szemlélet (Harvard): a CPU onchip cache memóriája különállóadat- és utasítás cache blokkokból áll.

Számítógép generációk

Eredet - korai számítási eszközök I.:- 1642: Pascal – mechanikus kalkulátor (+,-).- 1671: Leibnitz – kalkulátor 4 alapművelettel.- 1823: Babbage

- Differencia Gép: véges differencia módszer, ciklusos végrehajtás, automatikusangenerált mat. táblákat.

- Analitikus Gép: mai gépekkel szembetűnőhasonlóság, mat. fgv-ek végrehajtása.MILL-aritmetika: 4 alapműv (‘+’ 1sec, ‘*’ 1 min alatt), felt. elágazást istámogatta. Memóriája számoló „korongos”: 1000 db 50 jegyűszámot tárolt.

Eredet - korai számítási eszközök II.:- 1801: Joseph Marie Jacquard: „loom” („szövőszék” ) – „lyukkártya szerű” szalag,

(számítási folyamat automatizálása).- 1890: Hollerith – lyukkártya – US népszámlálás adatainak feldolgozására (1911 – IBM).- 1930: Zuse: elektromechanikus gép.

- Z1: mechanikus relék, 2-es számrendszer.- Z3 (1941): elsőműveleti programvezérelt általános célú gép, lyukszalagos bemenet

(Neumann elvet követő).- 1939: Aiken – MARK I (Harvard) relés aritmetika, számoló fogaskerekes tároló.

Harvard architektúra: különálló program / kód és adatmemória, 72 db 23 jegyűszám.

Eredet - korai számítási eszközök III.:- 1937: Berry computer (Iowa Egyetem) - John Atanasoff elsőelektronikus számítógép

rendszer:- egyenlet rdsz.ek Gauss eliminációjára.- 2-es számrendszer.- tárolás: kondenzátoron (mint DRAM-nál).- ALU: aritmetikai / logikai szeparáció.- Részek teljes elkülönítése: memória, I/O perifériák, ALU.

Page 6: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 5 -

I. Generáció (1952-ig):- 1943: ENIAC: elektromos numerikus integrátor és kalkulátor

(Pennsylvania) Mauchly, Eckert- 18000 elektroncső, mechanikus, kapcsolók.- Gépi szintűprogramozhatóság, tudományos célokra.- Összeadás: 3ms.- 20 ACC reg. – 10 jegyűdecimális számra.- 4 alapművelet + gyökvonás.- Kártyaolvasó-író.- Function table: szükséges konstansok tárolása.- Neumann elvű: közös program/kód és adat.

- 1945: EDVAC (Electronic Discrete Variable Computer):egyenletmegoldó elektromos számítógép.- Neumann János – „von Neumann architektúra”.- Tárolt programozás.- 2-es számrendszer.- 1K elsődleges + 20K másodlagos tároló.- soros műveletvégzés: ALU.- utasítások: aritmetikai, i/o, feltételes elágazás.

- 1951: UNIVAC I (UNIVersal Automatic Computer I): üzleti/adminisztratív célokra- Mauchly, Eckert tervezte.- 1951-es népszámlálásra, elnökválasztásra.- 5200 elektroncső,125KW fogyasztás, 2.25MHz.- 1000 szavas memória,

(12 bites adat: 11 digit + 1 előjelbit, 2x6 bites utasítás formátum)- Összeadás: 525μs, szorzás: 2150μs.- BCD, paritás ellenőrzés, hiba ellenőrzés.

- 1952: IAS (Institute of Advanced Studies) Princeton:- moduláris felépítés: memória, ALU, CU, I/O, ACC.- következővégrehajtható utasítás a memóriában a soron következőhelyen van.- egycíműgép – kisebb utasításhossz, (de ACC műveletek).- Memória: 2^12=4096 location.- párhuzamos feldolgozás.- szóhosszúság a feladattípusnak megfelelőnumerikus pontosságtól függ.- Utasítás csoportok: (1.1 táblázat).- Adatmozgató, aritmetikai, ugró, feltételes elágazás, címmódosító.- IAS hátrányai: program struktúráltság - szubrutin hívás (call / return)

nem támogatott, nincsenek nemnumerikus adatok.

II. Generáció (1952-63):- Üzleti célokra (háború vége) IBM.- Tranzisztor! (1940 végétől).- Csökkenőméret + disszipált telj. / sebesség nő.- Core memóriák – megbízható, gyors.- Lebegőpontos számok, utasítások.- Új módszer az operandus helyének azonosítására.- FORTRAN, ALGOL, COBOL nyelvek.- I/O processzorok: CPU tehermentesítése.- Batch programozás, könyvtári függvények, compilerek.

Page 7: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 6 -

- IBM 709x:- 36 bites utasítás, műveleti kód (1.1 táblázat).- egycíműgép (AR⇐PC+IR tartalma).- 72 bites adatút.- I/O processzorok.

- Szuperszámítógépek:- LARC: (Livermore) atom-kutatásokra.- IBM 7030 / Strech.- MA (2007)!: IBM Blue Gene (www.top500.org).

- 131072 processzoros rendszer.- 32768 GB memória.- 280600 GFlops teljesítmény.

- FDE – parallelizmus:- átlapolt végrehajtás (látszólagos) – pipeline.- teljesen párhuzamos végrehajtás (több processzor).

III. Generáció (1962-75):- IC technológia- 1965. Gordon-Moore tv: Mikro-minimalizáció.- Félvezetőmemóriák.- Mikroprogramozás (Wilkes 1951).- Multiprogramozás: „time-sharing”.- Operációs Rendszerek megjelenése.- Pipeline - parallel működés.- Numerikus programozás: vektorműveletek.- IBM 360:

- elsősorozatban gyártott (gépcsalád): fogyasztói célok szerinti kategóriák.- azonos utasítás készletek.- I\O csatornák sebesség szerint (selector, MUX).- 32 bites utasítások.- 8x4 bites BCD számjegyeket tárol.- 4x8 bit karakter tárolására.- Integer / fix-point / floating-point számokat is kezel.- 16 db 32 bites általános célú regiszter (adatok, címek).- 4 db 64 bites lebegőpontos műveleti regiszter.- Interaktív rendszer.- Virtuális memóriakezelés lehetősége.- PSW: státuszjelzőregiszter (flag).

IV. Generáció (1974 - ?):- IC alapú technológia: komplexitás-méret.- Cache memóriák.- Virtuális memória rendszerek.- SoC: System On a Chip.- Motorola 68000 – 32bites processzor.- ALU, Regiszterek, virtuális memória egy chipen.- 4, majd 16 … megabites memóriák.- PC: személyi számítógépek megjelenése.- Száloptika⇒hálózatok (INTERNET).

Page 8: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 7 -

V. Generáció (napjainkban):- Ember-gép interakció (HMI).- Felhasználóbarát szemlélet.- Ergonómia.- Mesterséges intelligencia (AI).- Természetes nyelvi környezet: fejlesztőeszközök (development tools).

Page 9: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 1 -

2. Az információ reprezentációi és az ALU felépítése

I.) Információ reprezentációi:- A) Számrendszerek:

- I.) Egész típusú:- előjel nélküli.- 1-es komplemens.- előjeles 2-es komplemens számrendszerek.

- II.) Fixpontos.- Excess kódban tárolt Exponens.- III.) Lebegőpontos (IBM-32, DEC-32, IEEE-32).

- B) Nem-numerikus információ kódolása.- Hibajavítás és detektálás (Hamming kód).

Számrendszerek

Endianitás (endianness):- A számítástechnikában az endianitás (byte-sorrend) az a tulajdonság, ami bizonyos adatok

tárolási és/vagy továbbítási sorrendjéről ad leírást (pl.: két protokoll vagy buszkommunikációja). Ez a tulajdonság döntő fontosságú az integer értékeknek aszámítógép memóriájában byte-onként való tárolása, továbbítása esetében.

- Bájtsorrend megkötés:- Big-Endian formátum- Little-Endian formátum

„Nagy a végén” - Big-endian:- Amikor a számítógép 32 bites egész értéket (ami legyen esetünkben 4A 3B 2C 1D,

a 100 címtől kezdve) tárol a memóriájában, ami 1 byte-os elemi tárolókból, 1 byte-onténként növekvőcímekkel rendelkezik, akkor a tárolást a következők szerint végzi:

100 101 102 103… 4A 3B 2C 1D …

- Ebben az esetben, a legjellemzőbb bájt - a "most significant byte" kifejezést használják aszámítástechnikában (vagy rövidítve MSB, ami esetünkben 4A) - a memóriában alegalacsonyabb címen van tárolva, míg a következő"jellemzőbyte" ( 3B) a következőcímen van tárolva, és így tovább.

„Kicsi a végén” - Little-endian:- Ekkor a „4A 3B 2C 1D” értéket a következőmódon tárolják:- 100 101 102 103...1D 2C 3B 4A...

Így, a kevésbé jellemző("legkisebb") bájt (az angol „least significant byte” kifejezésrövidítéséből LSB néven ismert) az első, és ez példánkban 1D, tehát a kis vég kerülelőre:

100 101 102 103… 1D 2C 3B 4A …

Page 10: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 2 -

I.) Egész típusú számrendszer:- Bináris számrendszer: 1 / 0 (I / H, T / F).- N biten 2N lehetséges érték reprezentálható.- Összehasonlító táblázat:Number of bits Number of representable values Machines, Uses

4 16 4004, control8 256 8080, 6800, control, communication16 65536 PDP11, 8086, 3202032 4.29*109 IBM 370, 68020, VAX11/78048 1.41*1014 Unisys64 1.84*1019 Cray, IEEE (dp)

a.) Előjel nélküli egész:

- Unsigned integer:

1

0_ 2

N

i

iiINTEGERUNSIGNED bV , ahol bi az i. pozícióban lévő0 vagy 1.

- Reprezentálható értékek határa: 0-tól 2N-1 –ig.- Helyiértékes rendszer.- Negatív számok ábrázolása nem lehetséges.- Pl.: 101101 → 1*25 + 0*24 + 1*23 + 1*22 + 0*21 + 1*20 = 45

b.) Előjeles (kettes komplemens) rendszer:

- 2’s complement:

1

0

11_'2 22

N

i

ii

NNCOMPLEMENTS bbV

- reprezentálható értékek határa: –(2N-1)-től 2N-1–1-ig.- Ha MSB=1, akkor negatív szám.- Pl.: 101101 → –1*25 + 0*24 + 1*23 + 1*22 + 0*21 + 1*20 = –19- Pl.:

↔Pl.: Körkörös számláló (circular nature):

1 00000000 256- 01001100 - 76

10110100 180

0100110010110011 1’s komplementer+ 1 + 110110100 -76

- 4 bites 2’s komplemens rendszer- Overflow: 0111 -> 1000- Underflow: 1000 -> 0111

Page 11: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 3 -

c.) 1-es komplemens rendszer:- V értékű, N bites rendszer: 2N–1–V.- „0” lesz ott, ahol „1”-es volt, „1”-es lesz ott, ahol „0” volt

(mivel egy szám negatív alakját, bitjeinek kiegészítésével kapjuk meg).- csupán minden bitjét negálni, (gyors műveletet).- értékhatár: 2N−1–1-től –(2N−1–1)-ig terjed.- nem helyiértékes rendszer.- kétféleképpen is lehet ábrázolni a zérust (ellenőrzés szükséges).- end-around carry: amelyben a részeredményhez kell hozzáadni a végrehajtás eredményét.

II.) Fixpontos számrendszer:- Műveletek:

- +, - : ugyanaz, mint az egész számrendszer esetén.- *, / : meg kell bizonyosodni arról, hogy a tizedespont helyén maradt-e.

2

0

11_ 22

N

i

pii

pNNPOINTFIXED bbV

- p: radix (tizedes) pont helye, tizedes jegyek száma.- differencia, Δr = 2-p (számrendszer finomsága).

- ha p=0 → Δr=1, egész rendszer, különben fixpontos.- Alkalmazás: jelfeldolgozás (DSP – Texas Instruments).- Pl.: fixpontos rendszer:

- Kérdés: Legyen egy 16 bites 2’s comp. fixpontos rdsz. ahol p=8.V(smallest)=?, V(largest)=?, Δr = ? (decimális értékben megadva)

- V(smallest absolute)=00000000.00000001=2-8=0,390625*10-2

- V(largest absolute)=01111111.11111111=~128- V(largest negative)=10000000.00000000=−27=−128- Differencia Δr =2-8=0,390625*10-2

- DE V(zero)=00000000.00000000 vagy 11111111.11111111

Excess kód rendszer:- Lebegőpontos számok kitevőit (exponenseit) tárolják / kódolják ezzel a módszerrel.- S: a reprezentálni kívánt érték, amit tárolnunk.- V: a szám valódi értéke.- E: az excess.- S = V + E.- Két számot összeadunk, akkor a következőtörténik:

S1 + S2 = (V1 + E) + (V2 + E) = (V1 + V2) + 2 × E- a pontos eredmény: [(V1+V2) + E] (ki kell vonnunk E-t!).

III.) Lebegőpontos rendszer:- 7 különbözőtényező: a számrendszer alapja, előjele és nagysága,

a mantissza alapja, előjele és hosszúsága,a kitevőalapja.

- matematikai jelölés: (előjel) Mantissza · AlapKitevő

- Fixpontosnál nagyságrendekkel kisebb vagy nagyobb számok ábrázolására is mód van:Pl.: Avogadro-szám: 6.022*1023, proton tömege 1.673*10-24 gramm.

Page 12: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 4 -

- Lebegőpontos rendszer jellemzői:- Számrendszer / kitevőalapja: rb / re

- Mantissza értéke:

1

0

N

i

pibiM dV

- Maximális: VMmax = 0.dmdm… = (1-rb-N)

- Minimális: VMmin = 0.100… = 1/rb- Radix pont helye: p- Mantissza bitjeinek száma: m

- Exponens értéke (max / min): VE (VEmax / VEmin)- Lebegőpontos szám értéke: EV

bMSIGN

FPN rVV )1(

- Normalizált lebegőpontos rendszer jellemzői:- Ábrázolható maximális érték: )(

)()(MAXEV

bMAXMMAXFPN rVV

- Ábrázolható minimális érték: )(

)()(MINEV

bMINMMINFPN rVV

- Legális mantisszák száma: 1)1( mbbFPN rrNLM

- Legális exponensek száma: ZEROMAXEMINEFPN VVNLE 1|| )()(

- Ábrázolható értékek száma: FPNFPNFPN NLENLMNRV - Normalizálás: mantissza értékét általában [0…1] közé.- Pl.: 32,76810 = 3.2768*104 = 32.768*103 = 327.68*102 = 3267.8 *101

- Példa: normalizált lebegőpontos rendszer:- Adott: Legyen rb = 10, re = 10, m = 3, e = 2- Kérdés: jellemzőparaméterek?- Megoldás: VM(MAX) = 0.999 = 1.000 −10-3

VM(MIN) = 0.100VE(MAX)= (re

e-1) = 99VE(MIN) = -(re

e-1) = -99VFPN(MAX) = 0.999*1099

VFPN(MIN) = 0.100*10-99

NLMFPN = 9*10*10 = 900 = 9*102

NLEFPN = 99+|-99|+1ZERO = 199NRVFPN = 2*900*199 = 358 200

- Lebegőpontos ábrázolás:- Rejtett (hidden bit) technika:

„Vezető” egyesek számát a legtöbb rendszer tervezésekor konstans értékkéntdefiniálják:- Ilyen a mantissza legmagasabb helyiértékűbitje, amelyet rejtett (hidden: HB)

bitnek hívunk, amely közvetlenül az exponensbitek mögött helyezkedikel.

- Ezt beállítva, duplájára nőa legális mantisszák, így az ábrázolható értékekszáma is. Másrészt a nullát nem könnyen tudjuk reprezentálni, mivel alegkisebb ábrázolható érték a 000000, ami a HB használata miatt0.10002×20 = ½-nek felel meg (m=4, e=2, rb=re=2 esetén)!

Page 13: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 5 -

Példák:- 2-es alapú DEC 32-bites, normalizált lebegőpontos rendszer:

Adott: rb=2, re=2, m=23+1=24 együtt, p=24, e=8, az exponenst tároljuk Excess-128kódolással, és a számokat tároljuk "előjel-hossz" formátumban.

- 16-os alapú IBM-32 bites normalizált lebegőpontos rendszer:Adott: rb=16, re=2, m=6, p=6, e=7, az exponenst tároljuk Excess-64 kódolással, és aszámokat tároljuk "előjel-hossz" formátumban.

- IEEE-32 bites normalizált lebegőpontos rendszer:Adott: rb=2, re=2, m=24, (+hidden bit), p=23!, e=8, az exponenst tároljuk Excess-127kódolással, és a számokat tároljuk "előjel-hossz" formátumban.- DEC: zérushoz közelítve szakadás, ezt küszöböli ki az IEEE rendszer.

Nem-numerikus információ kódolása

Szöveges, logikai (boolean) információt, grafikus szimbólumokat, és a címeket, vezérlésikaraktereket értjük alattuk.

I.) Szöveges információ:- Minimális: 14 karakterből álló halmazban: számjegy (0-9), tizedes pont, pozitív ill. negatív

jel és üres karakter.- + ábécé (A-Z), a központozás, címkék és a formátumvezérlőkarakterek (mint pl. vessző,

tabulátor, (CR: Carriage Return) kocsi-vissza, soremelés (LF:Line Feed), lapemelés(FF: From Feed), zárójel).

- Így az elemek száma 46: 646log2 biten ábrázolható.- De 7 biten tárolva már a kisbetűs és a nagybetűs karaktereket is magába foglalja.

Szöveges információ kódolása:- BCD (Binary Coded Decimal): 6 biten

- nagybetűk, számok, és speciális karakterek.- EBCDIC (Extended Binary Coded Decimal Interchange Code): 8 biten (A. Függelék)

- + kisbetűs karaktereket és kiegészítő-információkat.- 256 értékből nincs mindegyik kihasználva.- Továbbá I és R betűknél szakadás van.

- ASCII (American Standard Code for Information Interchange):(A függelék) – 7 biten 128 karakter.

Hibakódolás - Hibadetektálás és Javítás

- N bit segítségével 2N különbözőérték, cím vagy utasítás ábrázolható.- 1 bittel növelve (N+1) esetén: 2N -ről 2N+1–re, megduplázódik.- Redundancia, detektálás, hibajavítás.

I.) Paritás bit ellenőrzés:Páros vagy páratlan paritás: N bites információ egy kiegészítőbittel bővül → egyszeres hiba

felismerése (bitek számát párosra v. páratlanra egészíti ki).

Page 14: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 6 -

II.) Hamming kód:- egy biten tároljuk a bitmintázatok azonos helyiértékűbitjeinek különbségét, tehát egybites

hibát lehet vele javítani.- több redundáns bittel nemcsak a hiba meglétét és helyét tudjuk detektálni, hanem a hibás

bitet javítani is tudjuk.- 2N-1 bites Hamming kód: N kódbit, 2N-N-1 adatbit.

Az ALU felépítése

AlapvetőALU (Aritmetikai és Logikai) funkciók:- Aritmetikai operátorok: +, -, *, / (alapműveletek)- Logikai operátorok: NOT, AND, OR, NAND, NOR, XOR, NXOR (EQ)

Az ALU felépítése:

- Utasítások hatására a (Sn-S0) vezérlőjelek kijelölik a végrehajtandó aritmetikai / logikaiműveletet. További adatvonalak kapcsolódhatnak közvetlenül a státusz regiszterhez, amelyfontos információkat tárol el: pl.:

- zero bit.- carry-in, carry-out átviteleket.- előjel bitet (sign).- túlcsordulást (overflow), vagy alulcsordulást (underflow) jelzőbiteket.

Státusz- (flag) jelzőbitek:- Az aritmetikai műveletek eredményétől függően hibajelzésre használatos jelzőbitek. Ezekmegváltozása az utasításkészletben előre definiált utasítások végrehajtásától függ.

- a.) előjelbit (sign): 2-es komplemens (MSB)- b.) átvitel kezelőbit (carry in/out): helyiértékes átvitel- c.) alul / túlcsordulás jelzőbit (underflow / overflow)- d.) zero bit: kimeneten az eredmény 0-e?

Pl.: 4-bites ALU felépítése ésműködése:

Page 15: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 7 -

Az ALU felépítése:

Lebegőpontos műveletvégzőegységek

a.) Lebegőpontos összeadó / kivonó:

Page 16: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 8 -

b.) Lebegőpontos szorzó: CBCB EE

CBE

CE

B rMMrMrMCBA

c.) Lebegőpontos osztó: CBCB EE

CBE

CE

B rMMrMrMCBA ///

Page 17: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 1 -

3. Vezérlőegységek (modell-implementáció)

Vezérlőegységek általánosan:- A számítógép vezérlési funkcióit ellátó szekvenciális egység.- Feladata: az operatív tárban lévőgépi kódú utasítások értelmezése, részműveletekre bontása,

és a szekvenciális (sorrendi) hálózat egyes funkcionális részeinek vezérlése(vezérlőjel- és cím-generálás).

- Vezérlőegység tervezési lépései:- megfelelőtechnológia, és rendszerkomponensek kiválasztása.- komponensek összekapcsolása a működési sorrendnek megfelelően.- RTL leírás alkalmazása az akciók ill. adatátvitel pontos leírására.- adatút (data-path) megtervezése (legfontosabb!).- kívánt vezérlőjelek azonosítása, meghatározása.

Vezérlőegységek fajtái:- Huzalozott (klasszikus módszerrel):

- Mealy-modell.- Moore-modell (Pl.: FIR szűrőtervezése – FSM állapotgép segítségével).

- Multiplexeres / késleltetéses / Shift-regiszteres megvalósítások.- Mikroprogramozott (reguláris vezérlési szerkezettel):

- Horizontális mikrokódos vezérlő,- Vertikális mikrokódos vezérlő.

- Programozható logikai eszközök (PLD):- PLA, PAL, PROM, CPLD- FPGA

Kombinációs hálózatok:Ha a mindenkori kimeneti kombinációk értéke csupán a bemeneti kombinációk pillanatnyiértékétől függ (tároló „kapacitás”, vagy memória nélküli hálózatok).

Inputs Outputs

Sorrendi hálózatok:Ha a mindenkori kimeneti kombinációt, nemcsak a pillanatnyi bemeneti kombinációk, hanema korábban fennállt bementi kombinációk és azok sorrendje is befolyásolja.

Inputs Outputs

Időzítő– vezérlőegység:- Az időzítő(ütemező) határozza meg a vezérlőjelek előállításának sorrendjét.- Egy időzítő-vezérlőegység általános feladata az egyes funkciók megvalósítását végző

áramköri elemek (pl. ALU, memória elemek) összehangolt működésének biztosítása.

CombinationalLogic

CombinationalLogic

Stateregister

Page 18: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 2 -

- Az időzítő-vezérlőáramkörök szekvenciális rendszerek – mivel az áramköri egységektevékenységének egymáshoz viszonyított időbeli sorrendiségét biztosítják – melyek azaktuális kimenet értékét a bemenet, és az állapotok függvényében határozzák meg.

Az időzítő-vezérlőlehet:- huzalozott: áramkörökkel, dedikált összeköttetésekkel fizikailag megvalósított

(Mealy, Moore, MUX-os modellek alapján, illetve programozható PLD-k).- mikroprogramozott: az adatútvonal (data-path) vezérlési pontjait memóriából (ROM)

kiolvasott vertikális- vagy horizontális-mikrokódú utasításokkal állítják be.

Huzalozott vezérlőegységek

1.) Mealy-modell:- a sorrendi hálózatok egyik alapmodellje.- késleltetés: a kimeneten az eredmény véges időn belül jelenik meg!- korábbi értékek visszacsatolódnak a bemenetre: kimenetek nemcsak a bemenetek

pillanatnyi, hanem a korábbi állapotoktól is függenek.- problémák merülhetnek fel az állapotok és bemenetek közötti szinkronizáció hiánya miatt.- három halmaza van: (Visszacsatolni az állapotregisztert a késleltetés miatt kell)

- X – a bemenetek- Z – a kimenetek- Y – az állapotok halmaza

- két leképezési szabály a halmazok között:- δ(Xn, Yn)→Yn+1 : következőállapot függvény.- μ(Xn, Yn)→ Zn : kimeneti függvény.

2.) Moore-modell:- a kimenetek közvetlenül csak a pillanatnyi állapottól függenek.- tehát a kimenetet nem a bemenetekhez, hanem az állapotoknak megfelelően szinkronizáljuk.- három halmaza van: (Visszacsatolni az állapotregisztert a késleltetés miatt kell)

- X – a bemenetek- Z – a kimenetek- Y – az állapotok halmaza

- két leképezési szabály:- δ(Xn,Yn)→Yn+1 : következőállapot függvény.- μ(Yn)→ Zn : kimeneti függvény.

Adatút tervezés - FIR szűrő

FIR = Finite Impulse ResponseFeladat: tervezzünk egy FIR szűrőt, ami 25 együtthatót képes kezelni, és a kimenetét képező

eredményt a következőképlettel kapjuk meg:

24

0iii CSOutput

- ahol Si a bemeneti adatfolyam i. mintája, ill. Ci az i. konstans értéke.

Page 19: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 3 -

A FIR szűrőblokkszintűfelépítése:

A FIR szűrőfelépítése:- MAC (Multiplier / Accelerator):

A szorzást és az összeadást egy órajel ciklusban képes elvégezni.Három regiszterből áll: két bemeneti (X és Y), és egy kimeneti regiszterből (P).

- Együttható memória (Coefficient memory):C_MEM tárolja a Ci konstansok értékeit. Ez egy kisméretűPROM memória.

- Együttható- memóriacímzőregiszter (C_ADDR):Egy számláló, amely az aktuális együtthatót azonosítja. 0-ról indul minden egyesiterációkor, és a felhasznált együtthatók címei egyesével inkrementálódnak.

- Minta-memória (S_MEM):Az éppen aktuális, és az azt megelőző24 mintát tároljuk el.

Page 20: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 4 -

Egy RAM, amely 32 értékből csak 25-öt használ.- Minta-memóriacímzőregiszter (S_ADDR):

Ez egy számláló, amely az aktuális minta címét inicializálja, és a következőutasításcímére inkrementálódik.

- Kezdőminta címregiszter (I_ADDR): azonosítja az algoritmus kezdetét.- A/D konverter (ADIN): minden iterációban ezen az egységen keresztül kapjuk az új adatot.- D/A konverter (DAOUT):

A kimeneti regiszterből kapja az adatot, majd analóg jellé alakítja.- Kimeneti regiszter (OUT):

MAC-ból jövőértékeket tárolja, és a D/A konverternek továbbítja.

Mikrokódos vezérlők

- Általánosságban: a vezérlőegység feladata a memóriában lévőgépi kódú programutasításainak:- értelmezése (decode),- részműveletekre bontása,- és ezek alapján az egyes funkcionális egységek vezérlése

(a vezérlőjelek megfelelősorrendben történőelőállítása).- A komplex vezérlési folyamatokat „reguláris módszerrel” lehet egyszerűsíteni:

nevezetesen gyors memória elemeket kell használni az utasítássorozatok tárolásánál.Állapotgépekkel (FSM) modellezik a vezérlőegység működését, és ezt a modellttranszformálják át mikrokódot használva. Az adatútvonal vezérlési pontjaitmemóriából (ROM) kiolvasott vertikális- vagy horizontális mikrokódú utasításokkalállítják be.

FSM (állapotgép) megvalósítása memóriával:

- 1. rész: szabályozza az eszköz működését a megfelelőállapotok sorrendjében.- 2. rész: szabályozza az adatfolyamot a megfelelővezérlőjelek beállításával (assertion) az

adatúton (vezérlési pontokon).- Address Selection: (mint új elem) a következőutasítás (Next State), és beállítani kívánt

vezérlőjel (control signal assertion) címére mutat a memóriában.- A memória címet (memory address-t) külsőbemenőjelek és a present state határozzák meg

együttesen. E cím segítségével megkapjuk az adott vezérlőinformáció pontos helyét amemóriában, ill. ez az információ, mint új állapot betöltődik a vezérlőjel regiszterbe(Control Signal Register).

- Next-State kiválasztásához szükséges logikai memória méretét az aktuális állapotok száma,az állapotdiagram komplexitása, és a bemenetek száma határozza meg.

- Control Signal generálásához szükséges logikai memória méretét a bemenetek száma, afüggvény (vezérlőjel) komplexitása, és a vezérlőjelek száma határozza meg.

Mikroinstructionregister

Page 21: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 5 -

Általános mikrokódos vezérlő:

- Micro Instruction Register:A „Present State” (aktuális állapot) regisztert + a Control Signal regisztertegybeolvasztja (az adatút vezérlővonalainak beállítása / kiválasztása).Mikroutasítások sorrendjében generálódik a vezérlőjel!

- Microcode Memory:A Control Signal Assertion Logic vezérlőjel generálás/beállítás + „Next-State”kiválasztása (mikroprogram eltárolása) összevonása

- Microcode Address Generator:A vezérlő jelet az aktuális mikroutasítások lépéseiként sorban generálja, decímkiválasztási folyamat komplex. Sebesség a komplexitás rovására változhat!(komplexebb vezérlési funkciót alacsonyabb sebességgel képes csak generálni). Akövetkezőcím kiválasztása még az aktuálisan futó mikroutasítás végrehajtása alattvégbemegy! Számlálóként működik: egyik címről a másik címre inkrementálódik(mivel a mikroutasításokat tekintve szekvenciális rendszerről van szó). Kezdetbenresetelni kell.

Általános mikrokódos vezérlők tulajdonságai:- Egy gépi ciklus alatt egy mikroprogram fut le (amely mikroutasítások sorozatából áll). A

műveleti kód a végrehajtandó mikroprogramot jelöli ki. A mikrokódú memóriaáltalában csak olvasható ROM, ha írható is, akkor dinamikus mikroprogramozásrólbeszélünk.

- Ha a mikroprogram utasításai szigorúan szekvenciálisan futnak le, akkor a címüket egyegyszerűszámláló inkrementálásával megkaphatjuk. Memóriából érkezőbitek egyikrésze a következőcím kiválasztását (Sequence Information), míg a fennmaradó bitekaz adatáramlást biztosítják.

- Lassabb, mint a huzalozott vezérlőegységek, hiszen itt a memória elérési idejével isszámolni kell (nem csak a visszacsatolt aktuális állapot késleltetésével.)

1.) Horizontális mikrokódos vezérlő:- Minden egyes vezérlőjelhez saját vonalat rendelünk, ezáltal horizontálisan megnőa mikro-

utasításregiszter kimeneteinek száma, (horizontálisan megnőa mikrokód). Minél többfunkciót valósítunk meg a vezérlőjelekkel, annál szélesebb lesz a mikrokód.

- Ennek köszönhetően ez a leggyorsabb mikrokódos technika, mivel minden bit függetlenegymástól ill. egy mikrokóddal többszörös (konkurens) utasítás is megadható.Pl: a megfelelőregisztereket (memória, ACC) egyszerre, egyidőben tudjuk az órajellelaktiválni, ezáltal egy órajelciklus alatt az információ mindkét irányba átvihető.Növekszik a sebesség, mivel nincs szükség a vezérlőjelek dekódolását végződekódolólogikára. Így minimálisra csökken a műveletek ciklusideje.

- Azonban nagyobb az erőforrás szükséglete, fogyasztása.

Page 22: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 6 -

2.) Vertikális mikrokódos vezérlő:- Nem a sebességen van a hangsúly, hanem hogy takarékoskodjon az erőforrásokkal

(fogyasztás, mikrokódban a bitek számával), ezért is lassabb.- Egyszerre csak a szükséges (korlátozott számú) biteket kezeljük, egymástól nem teljesen

függetlenül, mivel közülük egyszerre csak az egyiket állítjuk be. A jeleket ezutándekódolni kell (a dekódolás több időt vesz igénybe). A kiválasztott biteketmegpróbáljuk minimális számú vonalon keresztül továbbítani.

- A műveletek párhuzamos (konkurens) végrehajtása korlátozott. Dekódolás: N bites buszt,log2(N) számú bittel próbálunk dekódolni. Több mikroutasítás szükségeltetik → így amikrokódú memóriát „vertikálisan” meg kell növeli.

Page 23: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 7 -

Programozható logikai eszközök

A felhasználó által programozható logikai sorrendvezérlő(Field Programmable LogicSequencer) programozható alkatrészekből építhetőfel, amelyek a következőkben részletesenismertetésre kerülnek.

Programozható logikai eszközök (PLD-k) két főtípusa:1.) Makrocellás PLD-k: (Programmable Logic Devices):

- PROM- PLA- PAL- EPLD, CPLD

2.) FPGA (Field Programmable Gate Array): Programozható Gate Array áramkörök- XILINX (Spartan, Virtex)- Altera- Actel (főlegűrkutatásban alkalmazott) sorozatok

Programmable Read Only Memory (PROM):

- Egy programozható rész:OR, míg az AND fix.

- Véges kombinációja áll előazAND / OR kapcsolatoknak.

- Metszéspontokban kevesebbkapcsoló szükséges.

- Gyorsabb, mint a PLA.- Qn kimeneteken D tárolók!

(visszacsatolódhatnak a bemenetekre).

Page 24: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 8 -

Programmable Logic Array (PLA):

Programozásuk (Fuse) biztosítékok segítségével: az összeköttetés mátrix metszéspontjaibankis biztosítékok helyezkednek el. Gyárilag logikai 1-est definiál, tehát vezetőképes. Havalamilyen eszközzel feszültséget kapcsolunk rá, átégethető, tehát szigetelővé válik, és logikainullát fog reprezentálni. A biztosíték átégetése csak egyszer lehetséges, utána már csak aprogramozott állapotot fogja tárolni.

Programmable AND Logic (PAL):

- Mindkét része (AND, OR) programozható.- Bármely kombinációja az AND / OR-nak

előállítható.- Mintermek OR kapcsolata (DNF).- Programozható kapcsolók a horizontális /

vertikális vonalak metszésében.- Qn kimeneteken D tárolók(visszacsat. a bemenetekre).

- Egy programozható rész - AND /míg az OR fix.- Véges kombinációja áll előazAND / OR kapcsolatoknak.- Metszéspontokban kevesebb

kapcsoló szükséges.- Gyorsabb, mint a PLA- Qn kimeneteken D tárolók

(visszacsatolódhatnaka bemenetekre)

Page 25: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 1 -

4. Folyamatok kezelése multiprogramozott rendszerekben.Folyamatok ütemezése és szinkronizációja.

A folyamat (process) a multiprogramozott operációs rendszerek alapfogalma.Legtömörebb megfogalmazása: végrehajtás alatt álló program.A multiprogramozott rendszerek közös jellegzetessége, hogy a rendszerben egy adott pillanatbantöbb feladat van végrehajtás alatt.

4.1. Folyamatkezelés multiprogramozott rendszerekben:Multiprogramozott rendszerekben több folyamat végrehajtása folyik látszólag párhuzamosanegyetlen CPU-t tartalmazó konfiguráción.Valójában egy adott pillanatban egyetlen folyamat végrehajtása folyik.A folyamat végrehajtásának dinamikáját egy hozzárendelt állapotjelzővel és az állapot-átmenetigráffal írhatjuk le.

Fontosabb állapotok: Fut: A CPU a folyamathoz tartozó utasításokat hajtja végre, CPU-nként egyetlen ilyen

folyamat lehet. Várakozik: A folyamat várakozni kényszerül, működését csak valamilyen esemény

bekövetkezésekor tudja folytatni. Több ilyen is lehet a rendszerben. Futásra kész: Minden feltétel adott, de a CPU éppen foglalt.

Több ilyen is lehet a rendszerben.

Állapot-átmeneti gráf:

Az állapotátmenetek és a hozzájuk tartozó operációs rendszer feladatok: Folyamat létrehozása:

- Egy futó folyamat újabb folyamatokat hozhat létre.- A létrehozó folyamatot szülőnek, a létrejötteket gyerek folyamatoknak nevezzük.- A létrejött folyamatnak futásához erőforrásokra van szüksége, amelyeket vagy az OS-től

kap, vagy a gyerek folyamatok a szülőerőforrásain osztoznak.- A gyerek folyamat a szülőtől a futását befolyásoló paramétereket kaphat.- A gyerek folyamat létrehozása után a szülőa gyerekkel párhuzamosan fut vagy bevárja

gyerekének, gyerekeinek befejeződését. Ehhez a szülőnek azonosítania kell a gyerekeit.

Page 26: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 2 -

Folyamat befejeződése:- A folyamat akkor fejeződik be önszántából, ha végrehajtotta utolsó utasítását.- A folyamatot leállíthatják egyéb okok miatt: az operációs rendszer vagy egy másik –

általában rokon, leggyakrabban szülő– folyamat, mert a folyamat hibásan működik,túllépte a számára engedélyezhetőerőforrás-használatot vagy működésére nincs mártöbbé szükség.

- A befejezett folyamat erőforrásai felszabadulnak, azokkal újra vagy az OS vagy a szülőrendelkezik, attól függően, hogy az erőforrásokat kitől kapta.

Fut várakozik (eseményre vár):- A folyamat olyan tevékenységet kezdeményezett, amelynek a végrehajtását be kell

várnia vagy más folyamatoktól érkezőjelzést kell megvárnia vagy olyan erőforrásra vanszüksége, amely pillanatnyilag nem szabad.

- OS feljegyzi, hogy ki mire vár.- Több folyamat is várhat ugyanarra az eseményre.

Várakozik futásra kész (esemény bekövetkezik):- Bekövetkezett az esemény, amelyre a folyamat várakozik.

Futásra kész fut (elindul):- Az éppen futó folyamat várakozni kényszerül, a processzor felszabadul, az OS a futásra

kész folyamatok közül kiválaszt egyet és annak a futtatását folytatja.- A továbbindítandó folyamat kiválasztása különbözőkritériumok alapján történik

(CPU ütemezés). Fut futásra kész (futás megszakad):

- Önként lemond a CPU-ról. Pl.: újraütemezést kér.- OS elveheti a CPU-t, még akkor is, ha a folyamat egyébként nem kényszerül

várakozásra (preemptív ütemezés).Pl. időosztásos rendszereknél: Túl sok ideje futott.

Az OS felfüggeszthet bizonyos folyamatokat,- ha a rendszer túl van terhelve, túl sok folyamat vetélkedik a futás jogáért.- ha a rendszer gyanúsan működik, vagy valamilyen vészhelyzet következik be.- ha a felhasználó fel akarja függeszteni valamelyik folyamatát.

A felfüggesztett folyamatok nem versengenek a rendszer erőforrásaiért, de az OS számon tartjaőket, elmentett állapotukból bármikor újra folytathatók.

A folyamatok állapotait kiegészítjük két új állapottal:- Felfüggesztve vár- Felfüggesztve futásra kész

A kiegészített állapot-átmeneti gráf:

Page 27: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 3 -

Az újabb állapotátmenetek: Felfüggeszt:

- OS felfüggeszti a folyamatot (futásra kész vagy várakozik állapotból).- A fontosabb erőforrásokat elveszi (pl. memória), néhányat megtarthat (pl. nyomtató).

Aktivál:- A felfüggesztett folyamat visszakapja erőforrásait.- A felfüggesztve vár várakozik átmenetnek nincs értelme (tovább várakozna, de

lekötné az erőforrásokat). Felfüggesztve várakozik felfüggesztve futásra kész:

- Hasonlóan a várakozik futásra kész állapotátmenethez.- Esemény bekövetkezik, de CPU-t nem kaphat.

4.2. Szinkronizáció:A szinkronizáció a folyamat végrehajtásának olyan időbeli korlátozása, ahol az egy másikfolyamat futásától, esetleg egy külsőesemény bekövetkezésétől függ.Alapesetei: Precedencia (előidejűség):

A precedencia meghatározott sorrend biztosítása.Egy Pi folyamat Si és egy Pj folyamat Sj utasításainál a precedencia akkor áll fenn, ha Sj

végrehajtása csak akkor kezdődhet el, ha Si már befejeződött. Egyidejűség:

Az egyidejűségnél két vagy több folyamat bizonyos utasításainak végrehajtását – az előbbipéldában Si-t és Sj-t – egy időben kell elkezdeni.Az ilyen szinkronizáció két folyamatnak egy találkozási pontját, randevúját valósítja meg.A két folyamat bevárja egymást, mielőtt a meghatározott utasításait megkezdené.

Kölcsönös kizárás:Kölcsönös kizárás esetén a résztvevőfolyamatok utasításainak futási sorrendjére nincskorlátozás, de biztosítani kell, hogy a folyamatokban kijelölt utasítások (Si, Sj, …) közülegy időben csak az egyik futhat.

4.2.1. A szinkronizációhoz kapcsolódó egyéb fogalmak: Holtpont (deadlock):

A holtpont több folyamatra, esetleg az egész rendszerre vonatkozó fogalom. Holtpontakkor következik be, ha a folyamatok egy csoportja olyan feltételre, vagy olyan eseménybekövetkezésére vár, amelyet csak a csoport egy másik szintén várakozó folyamata képeselőállítani. Nem beszélünk holtpontról, ha valamelyik folyamat egy külsőeseményrevárakozik, hiszen ez az esemény még bekövetkezhet.

Éhezés:Az éhezés egyes folyamatokra vonatkozó fogalom. Egy folyamat akkor éhezik, ha atovábbfutásához szükséges erőforrásokhoz véges időn belül nem jut hozzá, mert másfolyamatok mindig megelőzik.

Page 28: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 4 -

4.3. Ütemezés és környezetváltás:Környezet váltás (kontext switch): a futó folyamat elhagyja a futó állapotot, egy futásra készpedig elindul.Az ütemezés alapját az képezi, hogy egy folyamat futása során két különbözőjellegűtevékenységet hajt végre: CPU löket (CPU burst) ideje alatt a folyamatnak csak a processzorra és az operatív tárra van

szüksége. Periféria löket (I/O burst) alatt a folyamat egy perifériás átvitelt hajt végre, annak lezajlására

várakozik.

A folyamatnak a periféria löket alatt nincs szüksége a processzorra, így azt egy másik folyamathasználhatja.Ütemezés tehát a következőállapotátmeneteknél következik be:

a futó folyamat várakozni kényszerül. a futó folyamat lemond a CPU-ról vagy elveszik tőle. a folyamat felébred, futásra kész lesz. a futó folyamat befejeződik.

Az 1. és 4. esetben mindig van környezetváltás (hiszen a futó folyamat nem folytatja aműködését). A 2. és 3. esetben nem mindig van környezetváltás.

Az ütemezés típusa: Nem preemptív: ha egy folyamattól, miután megkapta a CPU-t, nem lehet azt elvenni;

a folyamat csak az általa kiadott utasítások hatására vált állapotot. Preemptív: ha az OS elveheti a futás jogát egy folyamattól; futásra kész állapotba teszi a futó

folyamatot és egy másik (futásra kész) folyamatot indít el.

4.3.1. Ütemezési algoritmusok:I. Egyszerűalgoritmusok: Legrégebben várakozó (First Come First Served, FCFS):

A futásra kész folyamatok a várakozási sor végére kerülnek, az ütemezőa sor elején állófolyamatot kezdi futtatni. Nem preemptív. Egyszerűen megvalósítható.Konvoj hatás (egy hosszú CPU löketűfolyamat feltartja a mögötte várakozókat).

Körforgó (Round-Robin, RR):Preemptív algoritmus, az időosztásos rendszerek valamennyi ütemezési algoritmusainakaz alapja. Folyamatok időszeletet kapnak (time slice).Ha a CPU löket nagyobb mint az időszelet, akkor az időszelet végén az ütemezőelveszi aCPU-t, a folyamat futásra kész lesz és beáll a várakozó sor végére.Ha a CPU löket rövidebb, akkor a löket végén a folyamatokat újraütemezzük.Az időszelet meghatározása nehéz.- Nagy időszelet: FCFS algoritmushoz hasonló lesz.- Kis időszelet: folyamatok a CPU-t egyenlőmértékben használják, viszont a sok

környezetváltás a teljesítményt rontja.Ökölszabály: a CPU löketek kb. 80% legyen rövidebb az időszeletnél.

Page 29: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 5 -

II. Prioritásos algoritmusok:A futásra kész folyamatokhoz egy prioritást (rendszerint egy egész számot) rendelünk.A legnagyobb prioritású folyamat lesz a következőfuttatandó folyamat.Prioritás meghatározása:

- belső: az OS határozza meg.- külső: az OS-en kívüli tényező(operátor, a folyamat saját kérése, stb.) határozza meg.

Prioritás a futás során:- statikus (végig azonos).- dinamikus (az OS változtathatja).

A prioritást sokszor a löketidőalapján határozzák meg. A löketidőszükséglet meghatározása:- a folyamat (felhasználó) bevallása alapján (a „hazugságot” az OS később bünteti).- előzőviselkedés alapján (a korábbi löketidők alapján becslés).

A kiéheztetés és elkerülése:Kiéheztetés: A folyamat sokáig (esetleg soha) nem jut processzorhoz. Prioritásos algoritmusoknál

kiéheztetés léphet fel. Ennek kivédése a folyamatok öregítése (aging): a régótavárakozó folyamatok prioritását növeljük.

Dinamikus prioritásos algoritmusok:1. Legrövidebb (löket)idejű(Shortest Job First, SJF):

Nem preemptív algoritmus. A futásra kész folyamatok közül a legrövidebblöketidejűt indítja. Nincs konvoj hatás, optimális körülfordulási idő, optimálisvárakozási idő. Alkalmazása:

- Hosszú távú ütemezés.- Rövid távú ütemezés (RT rendszerek).

2. Legrövidebb hátralévőidejű(Shortest Remaining Time First, SRTF):Az SJF preemptív változata. Ha egy új folyamat válik futásra késszé, akkor azütemezőújra megvizsgálja a futásra kész folyamatok, illetve az éppen futó folyamathátralévőlöketidejét és a legrövidebbet indítja tovább.A folyamat megszakítása és egy másik elindítása környezetváltozást igényel, ezt azidőt is figyelembe kell vennünk.

3. Legjobb válaszarány (Highest Response Ratio):Az SJF algoritmus változata, ahol a várakozó folyamatok öregednek.

A kiválasztás (a löketidőhelyett) aidővárakozási

idővárakozásiklöketidő_

_ képlet szerint

megy végbe, ahol k egy jól megválasztott konstans.

III. Többszintűalgoritmusok:Futásra kész folyamatokat több külön sorban várakoztatják. A sorokhoz prioritás van rendelve.Egy kisebb prioritású sorból csak akkor indulhat el egy folyamat, ha a nagyobb prioritású soroküresek. Az egyes sorokon belül különbözőkiválasztási algoritmusok működhetnek.

Page 30: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 6 -

Példák: Statikus többszintűsorok (Static Multilevel Queue, SMQ):

A folyamatot elindulásakor valamilyen kritérium alapján besorolunk egy várakozó sorba.A folyamat élete során végig ugyanabban a sorban marad.

Visszacsatolt többszintűsorok (Multilevel Feedback Queues, MFQ):A sorokhoz egy időszelet tartozik: minél nagyobb a prioritás, annál kisebb az időszelet.A folyamatok futásuk során átkerülhetnek másik sorokba.

Statikus többszintűsorok Visszacsatolt többszintűsorok

4.3.2. Többprocesszoros ütemezés:Napjainkban egyre jobban terjednek a többprocesszoros - szorosan csatolt - rendszerek, aholfelmerül az igény, hogy a futásra kész folyamatok a rendszer bármely processzoránelindulhassanak. Heterogén rendszerek esetében egy folyamat csak bizonyos processzorokon futhat. Homogén rendszerekben a futásra kész folyamatokat közös sorokban tárolja:

- Szimmetrikus multiprocesszoros rendszer:Minden CPU saját ütemezőt futtat, amely a közös sorokból választ.A sorok osztott használatához a kölcsönös kizárást biztosítani kell!

- Aszimmetrikus multiprocesszoros rendszer:Az ütemezőegy dedikált CPU-n fut, ez osztja szét a folyamatokat a szabad CPU-kközött.

Page 31: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 1 -

5. A tárkezelés korszerűmódszerei. Lapok, szegmensek kezelése.A virtuális tárkezelés alapjai.

5.1. Tárkezelés korszerűmódszerei:A központi tár (main storage, memory) az operációs rendszerek tervezését, implementálását ésteljesítményét befolyásoló egyik legfontosabb tényező. A multiprogramozás igénye és aprogramméretek növekedése a valós tár kezelésén túl megkövetelte a virtuális tár kezelésénekhardver és szoftver technikáit.

5.1.1. A program címeinek kötése:Egy programhoz általában lineáris, folytonos címtartományt képzelhetünk el, amely a 0-tólkezdődően a program maximális címéig terjed. Ezt logikai címtartománynak tekintjük.A mai rendszerekben a programok végrehajtása gyakorlatilag soha nem a 0. fizikai címtől kezdvetörténik. Logikai címtartomány:

- Folytonos címtartomány- 0-tól kezdődik- Lineárisan nőa maximális értékig.

Fizikai címtartomány: a gyakorlatban- nem a 0 fizikai címtől kezdve történik a programok végrehajtása,- sokszor nem folytonos memóriaterület áll rendelkezésre.

A két tartomány közötti megfeleltetés (leképzés, mapping) megoldására különbözőlehetőségekvannak: Statikus:

- Fordítás közben (compile time):A fordítóprogram a program és az adatterület elemeihez abszolút címet rendel.Merev technika, elsősorban ROM-ban lévőprogramok esetében alkalmazzák.

- Szerkesztés közben (link time):A függetlenül lefordított modulok saját logikai címtartományt használnak.A linker feladata, hogy az összes modult - egymás mögé - elhelyezze a fizikaitárba, valamint feloldja a modulok kereszthivatkozásait.

- Betöltés közben (load time):A fordító áthelyezhetőkódot generál, ennek a címhivatkozásait a betöltőprogram az aktuális címkiosztás szerint módosítja.

Dinamikus:- Futás közben (run time):

A program csak logikai címeket tartalmaz, speciális hardver elemek határozzákmeg a címet az utasítás végrehajtásakor.

Logikai és fizikai címek kapcsolata: Logikai (virtuális) cím: az a memóriacím, amit a CPU generál. Fizikai cím: a memória valós címe. A logikai és fizikai címek:

- megegyeznek: statikus címkötés esetén.- különböznek: dinamikus címkötés esetén.

Page 32: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 2 -

5.1.2. A dinamikus logikai-fizikai címleképzés alapvetőmódszerei:I. Bázis-relatív címzés:

- A program tetszőleges helyre betölthető- A bázisregisztert a betöltési kezdőcímre állítva a program végrehajtható.

II. Utasításszámláló relatív címzés:- Pozíció-független kód: csak pozíció-független virtuális címeket tartalmaz.

Bázis-relatív címzés Utasításszámláló relatív címzés

Hardveres támogatással:Futás közbeni címleképzés:

Virtuális cím: <b, d>- b: blokkcím,- d: eltolás (displacement)A transzformáció a blokktábla segítségével megy végbe.Minden folyamatnak saját blokktáblája van.A folyamatok virtuális címtartománya fedi egymást, de afizikai címtartomány természetesen nem.

5.2. Szegmens szervezés:A logikai címtartományban a program memóriája nem egybefüggőterület, hanem önmagukbanfolytonos blokkok (szegmensek) halmaza. A szegmens logikai egység.

Pl.: főprogram, függvények, objektumok, lokális és globális változók.

A címtranszformáció az előzőáltalános modellnek megfelelő(lásd előzőábra!).- Blokktábla szegmenstábla- Cím: <szegmenscím, eltolás>

5.2.1. Szegmens szervezés védelme:Minden szegmensre biztosítani kell, hogy a folyamat ne címezhessen ki a saját szegmenséből,azaz a szegmensen belüli cím (eltolás) ne lehessen nagyobb, mint a szegmens mérete.A szegmenstábla tárolja a szegmens méretét (limit).A hiba megszakítást (segment overflow fault) okoz.

5.2.2. Hozzáférés ellenőrzés:A folyamatoknak az egyes szegmensekhez különbözőhozzáférési módokat engedélyezhetünk.A folyamat tárterületét védhetjük saját működésének hibáitól.

Page 33: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 3 -

Szokásos hozzáférési jogok:- olvasási jog (szegmens területét olvashatja).- írási jog (szegmens területére írhat, az ott lévőértékeket módosíthatja).- végrehajtási jog (a szegmensben gépi utasítások vannak, azokat a folyamat végrehajthatja).

Jogosultság megsértése, megszakítást generál (segment protection fault).

5.2.3. Osztott szegmenshasználat: Közös utasítások használata:

- több folyamat azonos programot futtat.- kevesebb memóriahasználat.- lehet teljes program is, de rendszerkönyvtár is.

Közös adatterület használata lehetővé teszi a folyamatok közötti kommunikációt.Megvalósítás:

- A folyamatok szegmenstáblájában valamelyik szegmensnél azonos fizikai cím van.- A jogosultságok természetesen különbözőek, biztosítani kell a kölcsönös kizárást.

5.2.4. Címtranszformáció háttértáron lévőszegmens esetén:Multiprogramozott rendszereknél előfordulhat, hogy egy futó folyamat nem minden szegmensevan ténylegesen a memóriában, egyes teljes szegmenseket az OS ideiglenesen a háttértárramenthet.Szegmenstábla minden szegmens mellett tartalmaz még:

- benntartózkodási bitet (residency bit): Jelentése: a szegmens a memóriában van-e.- információt, hogy hol van a háttértáron.

Ha a benntartózkodási bit hamis, hiányzó szegmens hiba (missing segment fault) lép fel, amit azOS kezel le.Szegmenshasználat hátránya: nagy külsőtördelődés, mivel nem azonos méretűek a blokkok.

Szegmenstábla felépítése:

5.3. Lapszervezés:A különbözőméretűblokkok használatánál fellép a külsőtördelődés jelensége.Ezen úgy segíthetünk, ha mindig azonos méretűblokkokat (lap, page) használunk, afolyamatoknak szükséges tárat ilyen egységekben allokáljuk. Az elkerülhetetlen belsőtördelődésokozta veszteséget a lap megfelelően kis méretűre választásával csökkenthetjük.A lap mérete gyakorlati szempontok miatt mindig 2 hatványa.

Page 34: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 4 -

Címtranszformáció: a 2 hatvány miatt az alsó biteken lehet tárolni az eltolást:- <b, d>, ahol b most 2 hatványa:- Pl.: 1011011000000, az utolsó nullák helyére beírható a d.

5.3.1. Címtranszformáció módszerei:I. Közvetlen leképzésII. Asszociatív leképzésIII. Kombinált technikák

I. Közvetlen leképzés: Egyszintűlaptábla:

A folyamathoz tartozó minden lap fizikai címe egy táblában (laptérkép) van.

Egyszintűlaptábla problémái:- Laptábla mérete nagy lehet, mivel a lapok száma sok.- Nehéz gyors elérésűtárban tartani.- Megoldás: laptábla tördelése többszintűlaptábla.

Felfogható a laptábla lapozásának is.

Többszintűlaptábla:

Page 35: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 5 -

II. Asszociatív leképezés:Speciális gyors elérésűtár (asszociatív tár) segíti a címzést: translation look-aside buffer (TLB).A laptábla gyorsítótárban a várhatóan gyakran használt lapok címét tároljuk. A tár mérete itt semelég nagy. A gyakorlatban a kombinált technikák (laptábla + gyorsítótár) használhatók.Asszociatív tár működése:

- Keresés: párhuzamosan az összes tárolt logikai cím alapján.- Találat esetén a találatnak megfelelőfizikai cím kerül a kimenetre.- Drága, kis kapacitású.

III. Kombinált technikák:A fizikai lapcím keresése egyszerre kezdődik mind az asszociatív tárban, mind a direktlaptáblában. Ha az asszociatív tárban van találat, akkor a direkt keresés leáll. Az asszociatívtárban lévőlapokat frissíteni kell, környezetváltás esetén az asszociatív laptáblát is cserélni kell.Egy adott időszak alatt csak a teljes címtartomány kis része van kihasználva, így a találati arányelég magas lehet (80-99%).

5.3.2. Túlcímzés elleni védelem:Lapon belüli túlcímzés ellen nem kell védeni, hiszen minden lapon belül kiadható cím megfelelő,kivétel: utolsó lap. A lapok érvényességét egy bit jelzi (lásd a következőpéldát).Címtranszformáció a háttértáron lévőlap esetén:

Itt is 1 bit jellemzi, hogy a memóriában van-e a lap (v = valid bit), vagy a háttértáron(i = invalid bit).Utóbbi esetben a tábla a háttértáron való elhelyezkedés információját tárolja.

Page 36: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 6 -

5.3.3. Osztott laphasználat:Hasonló az osztott szegmenshasználathoz, több folyamat laptérkép táblája azonos fizikai címekrehivatkozhat. Pl.:

Közösen használt kód. Ilyenkor az OS gondoskodik a védelemről: Szövegszerkesztő: 3 lap kód + 1 lap adat = 4 lap. Ha 20 példány fut, akkor a memóriaigény:

- Nem osztott laphasználat: 4 x 20 = 80 lap.- Osztott laphasználat: 1 x 20 + 3 = 23 lap.

5.4. Kombinált szegmens- és lapszervezés: Egyesíti a két technika előnyeit.

- Lap szervezés: nincs külsőtördelődés, nem kell a teljes szegmensnek a tárban lennie.- Szegmens szervezés: tükrözi a folyamat logikai társzerkezetét, hozzáférési jogosultság

megoldható. Címtranszformáció: lényegében egy kétszintűtáblakezelés.

- a cím három részre tagozódik (szegmenscím, lapcím, lapon belüli eltolás).- hozzáférési jogok ellenőrzése a szegmens szervezésének megfelelően történik.

5.5. Virtuális tárkezelés:Olyan szervezési elvek, algoritmusok összessége, amelyek biztosítják, hogy a rendszerfolyamatai logikai címtartományainak csak egy - a folyamat futásához szükséges - része legyen aközponti tárban, de ennek ellenére bármelyik folyamat a virtuális tartománybeli tetszőleges címrehivatkozhat.

5.5.1. Általános elvek: A programok nem használják ki a teljes címtartományukat:

- tartalmaznak ritkán használt kódrészleteket (pl. hibakezelőrutinok)- a statikus adatszerkezetek általában túlméretezettek (statikus vektorok, táblák, stb.).- a program futásához egy időben nem kell minden részlet (overlay).- Időben egymáshoz közeli utasítások és adatok általában a térben is egymáshoz közel

helyezkednek el (lokalitás).

Page 37: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 7 -

Nem célszerűaz egész programot a tárban tartani:- programok méretét nem korlátozza a memória nagysága.- a memóriában tartott folyamatok száma növelhető.- a programok betöltéséhez, háttértárba mentéséhez kevesebb I/O művelet kell.

5.5.1.2. Megvalósítás elve:Amikor a folyamat érvénytelen, a memóriában nem található címre hivatkozik, hardvermegszakítást okoz, ezt az OS kezeli, és behozza a kívánt blokkot.Lépései:a.) Az OS megszakítást kezelőprogramrésze kapja meg a vezérlést (1,2):

- elmenti a folyamat környezetét.- eldönti, hogy a megszakítás nem programhiba-e (pl. kicímzés).

b.) A kívánt blokk beolvasása a tárba (4,5):- Az OS a blokknak helyet keres a tárban; ha nincs szabad terület, akkor fel kell

szabadítani egy megfelelőméretűcímtartományt, ennek tartalmát esetleg aháttértárra mentve.

- Beolvassa a kívánt blokkot.c.) A folyamat újra végrehajtja a megszakított utasítást (6).

Megjegyzés: A perifériás műveletek sok időt vesznek igénybe (eszköz felszabadulása, fejmozgás)

5.5.1.3. Hardver feltételek: Az érvénytelen címhivatkozás megszakítást okozzon. A megszakított utasítás újraindítható legyen.

5.5.2. A betöltendőlap kiválasztása:I. Igény szerinti lapozás (demand pages):

Előnyei: egyszerűa lapot kiválasztani, a tárba csak a biztosan szükséges lapok kerülnek be.Hátrányai: Új lapokra való hivatkozás mindig laphibát okoz.

II. Előretekintőlapozás (anticipatory paging):- Az OS megpróbálja kitalálni, hogy a folyamatnak a jövőben melyik lapokra lesz szüksége és

azokat "szabad idejében" betölti.- Ha a jóslás gyors és pontos, akkor a futási sebesség jelentősen felgyorsul.- Ha a döntés hibás, a felesleges lapok foglalják a tárat.- A memória ára jelentősen csökken, így a mérete nő, a hibás döntés ára egyre kisebb.

5.5.3. Lapcsere stratégiák:Akkor lenne optimális, ha azt a lapot választaná ki, amelyre legtovább nem lesz szükség. Alapcserét nagyban gyorsítja, ha a mentést csak akkor végezzük el, ha az a lap a betöltés ótamódosult. A hardver minden lap mellett nyilvántartja, hogy a lapra írtak-e a betöltés óta(modified vagy dirty bit).

Page 38: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 8 -

Algoritmusok:1. Véletlen kiválasztás: Egyszerű, buta algoritmus, csak elvi jelentőségű, nem használják.

2. Legrégebbi lap (FIFO):A tárban lévőlegrégebbi lapot cseréli le. Megvalósítása egyszerűFIFO listával történik. Hibája:

- Olyan lapot is kitesz, amelyet gyakran használnak.- Felléphet egy érdekes jelenség. Ha növeljük a folyamatokhoz tartozó lapok számát, a

laphibák száma esetenként nem csökken, hanem nő! (Bélády - anomália).

3. Újabb esély:A FIFO egy változata. Minden lap tartalmaz egy R hivatkozás bitet, ami kezdetben törölve van.A lapra hivatkozáskor R=1.Lapcsere esetén:

- Ha a sor elején levőlapon R=0, akkor csere.- Ha a sor elején levőlapon R=1, akkor az R bitet töröljük és a lapot a FIFO végére rakjuk.

A következő(most már első) lappal próbálkozunk tovább.Kiküszöböli a FIFO főhibáját.

4. Óra algoritmus:Az újabb esély algoritmus másik implementációja. A lapok körkörös láncban vannak felfűzve abetöltés sorrendjében. Lapcsere előtt az algoritmus megvizsgálja az R bitet, ha egynek találjaakkor nem veszi ki a lapot, törli az R-t és a mutatót továbblépteti.

5. Legrégebben nem használt lap (Least Recently Used, LRU):Azt a lapot választjuk, amelyre a leghosszabb ideje nem hivatkoztak.A múltbeli információk alapján próbál előrelátni, az optimális algoritmust közelíteni.Szimulációs eredmények alapján jó teljesítmény, de nehéz implementálni.LRU implementáció: Számlálóval:

- A lapra történőhivatkozáskor feljegyezzük annak idejét.- A helyettesítendőlap kiválasztáskor a tárolt időpontok közül keressük a legrégebbit.

Láncolt listával:- A lapok egy láncolt listában vannak.- A frissen behozott lap a lista végére kerül.- Hivatkozáskor a lista elejére kerül a lap. A lista végén van a legrégebben nem használt lap.

Csak hardver-támogatással lehetne jól implementálni.

6. Legkevésbé használt lap (Least Frequently Used, LFU):Leggyakrabban használt lapok a memóriában.Implementálás:- Lap hivatkozásakor R bit bebillentése.- Periodikusan minden lapnál egy számlálót növel, ha R=1, majd törli az R-t.- Lapcsere esetén a legkisebb számláló-értékűlapot dobja ki.

Page 39: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 9 -

Hátrány:- A valamikor sokat használt lapok a memóriában maradnak (öregítéssel lehet segíteni ezen).- A frissen betöltött lapok könnyen kiesnek (frissen behozott lapok befagyasztása, page locking).

7. Mostanában nem használt lap (Not Recently Used , NRU):Hivatkozott (R) és módosított (M) bitek használata.Az OS időközönként törli az R bitet, az M bitet viszont őrizni kell

(lap törlése információvesztéshez vezetne).Négy prioritás:

1. nem hivatkozott, nem módosult2. nem hivatkozott, módosított3. hivatkozott, nem módosult4. hivatkozott, módosult

A módszer a legkisebb prioritásból választ véletlenszerűen.

5.5.4. Egyéb fogalmak:Vergődés (thrashing): Ha egy folyamat vagy rendszer több időt tölt lapozással, mint amennyit

hasznosan dolgozik.Oka:

- Folyamat: kevés lap van a tárban, gyakran hivatkozik a háttértáron lévőkre- Rendszer: Túl sok a folyamat, ezek egymás elől lopkodják el a lapokat, mindegyik

folyamat vergődni kezd.

Page 40: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 1 -

6. Háttértárak és kezelésük. Állományok kezelése.Az elosztott állománykezelés alapjai.

6.1. Háttértárak és kezelésük:Miért van szükség háttértárra? Központi tár drága és kicsi a tárolókapacitása. A kikapcsolással az információk elvesznek a központi tárban.

Háttértárak típusai: Mágneslemez (merev, hajlékony) Mágnesszalag Magneto-optikai lemez Optikai lemez Flash A jövő(?):

- Holografikus tárolás- MEMS tárolók

Legelterjedtebb a mágneslemez.

6.1.1. A lemezegység fizikai szervezése:Mágneses bevonatú forgó korongok felett – oldalanként egy – író-olvasó fej mozog.A fejek mozgatását közös mechanika végzi. Általában a lemezek mindkét oldalát használják, alemez felett és alatt is található fej. Sáv (track): a lemezterület (gyűrű) azon része, amelyet a fej elmozdulás nélkül egy fordulat

alatt elér. Cilinder (cylinder): az összes fej alatti sáv Szektor (sector): a sáv azonos méretűblokkokra osztva. Az információátvitel legkisebb

egysége: a lemezvezérlőegy teljes szektort olvas vagy ír.

Szektorok címzése:0. szektor: a legkülsőcilinder elsősávjának elsőszektora.1.,2., stb. szektorok: ugyanezen a sávon egymás után következőszektorok, míg el nem fogy asáv. Ezután ugyanezen a cilinderen belül a következősáv következik (a következőfej alatt), amígel nem fogy az összes sáv a cilinderen belül. Ezután a következőcilinder következik.

Page 41: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 2 -

Az OS a lemez szektorait lineárisan címzi.További fogalmak:Az átvitel kiszolgálásának ideje: Fejmozgási idő(seek time): az az idő, amely alatt a fej a kívánt sávra (cilinderre) áll. Elfordulási idő(latency time): az az idő, amely alatt a kívánt szektor a fej alá fordul. Az információ átviteli ideje (transfer time).Az idők között nagyságrendi különbségek vannak, a fejmozgási időa leghosszabb.

6.1.2. A lemezműveletek ütemezése:Egyszerre több folyamat verseng a háttértár perifériáért.Cél az átlagos seek és a latency időcsökkentése.Természetesen így egyes folyamatok rosszabbul járnak, de a cél a globális teljesítmény növelése.

6.1.2.1. Fejmozgás optimalizálása:1.) Sorrendi kiszolgálás (First Come First Served, FCFS):

A kérések sorrendjében történik a kiszolgálás.- kicsi átbocsájtó képesség- nagy az átlagos válaszidő- szórás viszonylag kicsi

2.) Legrövidebb fejmozgási idő(Shortest Seek Time First, SSTF):Azt a kérést szolgálja ki, amely az aktuálishoz a legközelebbi cilinderen van.FCFS-nél jobb.

- nagy a szórás.- kiéheztetés.- közepes átbocsájtás.- kis átlagos válaszidő.

3.) Pásztázó (SCAN):Az aktuális mozgási iránynak megfelelőkéréseket szolgálja ki, irányváltás ha nincs többilyen kérés.

- közepes válaszidő.- nagy átbocsátás.- kis szórás.

Sajátossága, hogy a középsőcilinderekettöbbször látogatja.

4.) N-lépéses pásztázó (N-SCAN):Egy irányba mozogva N kérést (amelyek a pásztázás elején már megérkeztek) szolgálki. A közben érkezőkérésekre a következőirányváltás után kerül sor.

- nagy átbocsátás.- kis válaszidő.- kis szórás (kisebb, mint a SCAN).

Page 42: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 3 -

5.) Körbeforgó pásztázó (C-SCAN):Csak az egyik irányú fejmozgás során történik a kérések kiszolgálása.Ez is lehet N lépéses.

- nagy átbocsátás.- kis válaszidő.- kis szórás.

6.) Kombinált módszerek:A terhelés függvényében változtatja a stratégiákat:

- alacsony terhelés SCAN.- közepes terhelés C-SCAN.- nagy terhelésnél C-SCAN és elfordulási időoptimalizálás.

6.1.2.2. Az elfordulási időoptimalizálása:Az egy cilinderen belüli kérések a lemez aktuális pozíciójának, valamint a szektoroksorrendjének ismeretében a kiszolgálás előtt sorba rendezhetők.

6.1.2.3. Egyéb szervezési elvek a teljesítmény növelésére: Lemezterület tömörítése (Disc Compaction):

- az egymáshoz tartozó blokkokat a lemezen is egymás mellé tesszük. A gyakran használt adatok a lemez közepén. Gyakran használt adatok több példányban. Több blokk átvitele egyszerre:

- az időnagy része a fejmozgással telik ha már ott vagyunk, vigyünk át minél többblokkot.

Blokkok átmeneti tárolása: Disc Cache (periférián lévő, központi tár):- write through: egyidejűleg kiírjuk a lemezre.- copy back: csak akkor írjuk ki, ha az átmeneti tárra szükségünk van.

Adattömörítési eljárások használata (Data Compression):- a lemezen az információ tömörített formában van.

A ki-be tömörítést a perifériakezelővagy célhardver végzi.

6.1.3. Az adattárolás megbízhatósága: Adatok mentése (backup): A lemez teljes vagy a megváltozott (incremental backup) tartalmát

időnként más tárolóra kell másolni.Hiba esetén a szükséges rész visszaállítható.

Az átmeneti tár és a háttértár szinkronizálása: A cache-ben lévőfontosabb változások, vagyaz egész cache tartalmának kiírása (időnként).

Lemezegységek többszörözése: RAID.

RAID (Redundant Array of Inexpensive/Independent Disks):Cél:

- Adatátvitel sebességét növelni.- Adattárolás biztonságát növelni.

Page 43: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 4 -

Alapötletek:- Lemezegységek kétszerezés (disc shadowing, mirroring).- Az írásokat mindkét egységen elvégezzük, hiba esetén a másik példányhasználható megbízhatóság nő, sebesség nem változik.- Tároljuk egy adatbájt bitjeit külön tárolókon. Párhuzamos hozzáférés.

megbízhatóság kissé csökken, sebesség kb. 8x.Megvalósítás: RAID 0 – 6.

RAID 0:• Non-redundant stripping.• Az egymás utáni blokkok külön háttértárakon helyezkednek el, nincs

redundancia (tükör, vagy paritás).• Adatátvitel sebessége megnő.• Biztonság némileg csökken (több kisebb tároló közül gyakrabban hibásodik meg

egy, mint egyetlen nagyobb kapacitású tároló).

RAID 1:• Disk mirroring• Minden háttértárnak van egy tükre.• Hiba esetén a tükrön lévőadat használható, a hibás egység erről helyreállítható.• Sokkal nagyobb biztonság, de a sebesség nem nő.

RAID 2:• Memory-style error correcting.• Minden bitet más tároló tárol.• A memóriákhoz hasonlóan paritás biteket használunk.• 1 bit hiba a paritás bitekből javítható.• Nagy sávszélesség és nagy biztonság kisebb redundanciával, mint RAID 1 esetén.

RAID 3:• Bit-interleaved parity.• RAID-2 továbbfejlesztése.• Ötlet: ez nem memória! Hiba detektálása minden háttértáron önállóan

működik elég 1 paritás bit a javításhoz.• Nagy sávszélesség és nagy biztonság nagyon kis redundanciával

(egyetlen extra háttértárral).

Page 44: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 5 -

RAID 4:• Block-interleaved parity.• Mint RAID 3, de blokkos szervezés.• Az egyik háttértár paritás-blokkokat tartalmaz.• Biztonságos, nagy adathalmaz kezelésénél nőaz átviteli sávszélesség is.• Kis adatméretek esetén (pl. 1 blokk) nem nőa sávszélesség.

(Sőt: 1 blokk írása P olvasása, adatblokk írása, P írása)

RAID 5:• Block-interleaved distributed parity.• Mint RAID 4, de a paritás blokkok elosztva.• Oka: a RAID 4 esetén a paritástárolót aránytalanul sokat használjuk

hamarabb meghibásodik. Itt a terhelés kiegyenlítődik.

RAID 6:• P+Q redundancy scheme.• Mint RAID 5, de több (a példában 2) paritás blokkot tartalmaz.• Véd a többszörös diszkhibák ellen is.

Állományok kezelése:Állomány (file):

• A létrehozó által összetartozónak ítélt információk gyűjteménye.• Mindegyik állományt egyedi azonosító (név) különbözteti meg egymástól.• Az állomány elrejti a tárolásának, kezelésének fizikai részleteit.

Könyvtár:• Az állományok csoportosítása OS és a felhasználó szerint.• A könyvtár tartalmát katalógus írja le.

Állományok tárolása a lemezen:• Lemezterületet blokkonként (néhány szektor) kezeli.• Az állomány tárolásához blokkok kellenek, ezeket nyomon kell követni.

– Szabad blokkok nyilvántartása.– Blokkok allokálása.

Page 45: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 6 -

Szabad blokkok nyilvántartása:a.) Bittérképb.) Láncolt listac.) Szabad helyek csoportjainak listájad.) Egybefüggőszabad terület tárolása

a.) Bittérkép:• Minden blokkra egy biten jelzi, hogy szabad-e.• A bittérkép a lemez kijelölt helyén van.• A bitvektort a memóriában kell tárolni.

Sokk blokk van, így sok memóriát igényel.

b.) Láncolt lista:• Az elsőszabad blokk címének tárolása, arra felfűzve a többi.• A blokk területéből vesszük le a cím területét.• Nem hatékony, lassú (sok lemezművelet).

c.) Szabad helyek csoportjainak listája:• Láncolt lista javítása.• Minden blokk n db (ennyi cím fér el a blokkban) szabad

blokkra hivatkozik.• n - 1 ténylegesen szabad, az n. a lista új elemére mutat.

d.) Egybefüggőszabad terület tárolása:• Egy táblázatban tároljuk az

összefüggőszabad blokkokat(elsőblokk sorszáma, blokkok száma).

Page 46: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 7 -

A lemez blokkjainak allokációja:1.) Folytonos terület allokációja2.) Láncolt tárolás3.) Indexelt tárolás4.) Kombinált módszerek

1.) Folytonos terület allokációja:• Az összetartozó információkat egymás melletti blokkokban tároljuk.

Elsőblokk sorszámát és a blokkok számát kell tárolni.• Hátrányai:

– külsőtördelődés itt is fennáll.– sokszor nem tudjuk előre, hogy hány blokkra lesz szükségünk.

Lefoglaláskor becsülni kell, a rossz becslés gondot okozhat.• Előnyei:

– a tárolt információ soros és közvetlen elérése is lehetséges.

2.) Láncolt tárolás:• Blokkokat egyenként allokáljuk, minden blokkban fenntartva egy helyet a

következőblokk sorszáma számára (a rendszer az elsőésaz utolsó blokkot tárolja).

• Előnyei:– nincs külsőtördelődés.– rugalmas, a lefoglalt terület növekedhet.

• Hátrányai:– csak soros elérés lehet.– a blokkok sorszámaival nőaz állomány mérete.– egyetlen láncszem hibája a tárolt információnak

jelentős részének elvesztését jelenti.• Módosított változata az Állomány Allokációs Tábla (file allocation table, FAT):

– a láncelemeket az állományoktól elkülönítve tároljuk.– a szabad helyek tárolására is alkalmas a FAT.

FAT:

Page 47: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 8 -

3.) Indexelt tárolás:• Az állományhoz tartozó blokkok címei egy indextáblában vannak.• Előnyei:

– közvetlen hozzáférés.– "lyukas" állományok tárolása (nem minden blokk tartalmaz

valós információt).• Hátrányai:

– az indextábla tárolása legalább egy blokkot elfoglal(kis állományok esetében pazarló).

– az indextábla mérete nem ismert, lehetővé kell tenni,hogy az növekedhessen:• Láncolt indexblokkok.• Többszintűindextábla.• Kombinált mód.

4.) Kombinált módszerek:• Hozzáférési módja szerint: Soros hozzáférés esetén láncolt,

közvetlen hozzáférés esetén indexelt.• Méret szerint: Kis állomány esetén folytonos, nagyok indexelve.

Az állományok belsőszerkezete:• Az állomány egy bitsorozat, amit a felhasználó a saját szempontjai szerint

egységekbe csoportosíthat.– Mező(field): több bit, valamilyen típusú adatot ír le (byte-os szervezés általában).– Rekord (record): mezők csoportja. Egy állomány azonos szerkezetű

rekordok gyűjteménye vagy különböző, deazonosítható típusú rekordokból áll.

• Mezőés rekord lehet változó hosszúságú (a hossz egyértelműen meghatározható).

Hozzáférési módok:• Soros (sequential): A tárolt információt csak a byte-ok sorrendjében lehet olvasni.• Közvetlen (direct): A tárolt elemek bármelyikét el lehet érni, ehhez meg kell adni

az információ-elem állományon belüli sorszámát.• Indexelt, index-szekvenciális:

– Tartalom szerint akarunk hozzáférni.– Kulcs szerint rendezzük az állomány rekordjait.

A kulcsok egy index fájlban vannak rendezetten tárolva.

Page 48: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 9 -

• Partícionált: Az állományt soros rész-állományok alkotják, az állománytartalmaz egy nyilvántartást arról, hogy a partíciók holhelyezkednek el a fájlban.

Műveletek állományokon:• Átvitel, írás, olvasás:

– közvetlen átvitel esetén az információ címe szükséges.– soros hozzáférésnél az aktuális pozíciót a rendszer növeli és tárolja.

• Hozzáadás (append): az állomány végéhez új információt írunk. Az állománymérete növekszik, esetlegesen új blokk lefoglalása.

• Pozícionálás: soros hozzáférés esetén megadhatjuk az aktuális pozíciót.• Állomány megnyitása.• Állomány lezárása: puffer esetén a ki nem írt információ kiírása, osztott

állománykezelésnél az állomány felszabadítása.• állomány végrehajtása: az OS létrehoz egy új folyamatot, a programállományt

betölti a folyamat tárterületére és elindítja.• A könyvtárra is hatással levőműveletek:

– állomány létrehozása (új bejegyzés, blokkok lefoglalása).– állomány törlése (bejegyzés megszüntetése, blokkok felszabadítása).

Elosztott állománykezelés:• A helyi operációs rendszer állománykezelési szolgáltatásainak kiterjesztése egymással

kommunikációs csatornán keresztül kapcsolódó számítógépek halmazára.• Az állomány lehet helyi (local) illetve távoli (remote), ideális esetben az állomány

tényleges elhelyezkedése a felhasználó előtt rejtve van.• Az állományt tároló számítógép a szolgáltató (szerver), az ügyfelek (kliens) számára

szolgáltatásként műveleteket biztosít az állományain.• Az osztott állománykezelés lassabb.

Teljesítmény növelése:• Speciális hardver elemek:

– gyors kommunikációs csatorna.– nagy sebességűháttértárak.

• Szoftver módszerek:– gyors kommunikációs protokollok.– a szolgáltató OS-ének, ütemezési algoritmusának a feladathoz hangolásával.– átmeneti tárolás (cache) (szolgáltatónál és ügyfélnél).

Az állományokra hivatkozás:• A név egyedileg azonosítja az állományt.• A felhasználó előtt elrejti a tárolás részleteit.

Pl.: árunyilvántartás

Page 49: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 10 -

Az állományok nevei:• Két szintet különböztetünk meg:

– felhasználói szintűneveket.– rendszerszintűneveket.

• Az állománykezelőfeladata a kétszintűazonosító egymáshoz rendelése.• Rejtett elhelyezkedés (location transparency):

– az állomány neve nem utal arra, hogy az melyik gépen található.• Elhelyezkedés-függetlenség (location independence):

– az állomány neve nem változik meg, ha az átkerül egy másik gépre.• Elsőesetben a név leképezése statikus táblázatok alapján történik, a második

esetben dinamikusan változó leképezési információt kell használni (kevésbétámogatott, lényegesen bonyolultabb).

Az elhelyezkedés-független név előnyei:• A név elrejt minden, a fizikai tárolással kapcsolatos információt.• Az elnevezési rendszer teljesen független a kapcsolódás konkrét szerkezetétől,

nem szükséges speciális állományokat előre kijelölt csomópontokon tárolni.

Megnevezési módszerek:1.) Csomópont explicit megnevezése:

– az állomány hivatkozás két részből áll:Csomópont megnevezés és a helyi állományrendszerben az állomány neve.

– pl. VMS esetében <csomópont név>::<állomány név>.

2.) A távoli állományrendszert a helyi könyvtár-hierarchia egy pontjára képezik(mount):

– meg kell nevezni a távoli gépet is.– a művelet után a távoli állományok a helyiekkel azonos módon kezelhetők.– korlátozott, csak a távoli gépen felajánlott hierarchia-részek láthatók, egy

bizonyos állomány elérési útvonala különbözik az egyes gépeken.– pl. UNIX Network File System (NFS).

3.) Teljes elosztott rendszert lefedőegységes elnevezések:– globális (a rendszer egészére) nevek használata.

Elosztott állománynév-rendszer implementációja:• Elnevezési rendszer feladata: felhasználói nevek leképezése konkrét

csomópontokra és azon belüli fizikai elhelyezkedésre.• Táblázatok használata:

– állománycsoportok szerinti leképezés.– leképezési táblák többszörözése.– kétszintűleképezési táblák.

1. Állománycsoportok szerinti leképezés:• leképezési tábla túl nagy lenne, ha minden állomány szerepelne benne.• állományok csoportokba szervezése (component units), a leképezést ezekre

a csoportokra együtt végezzük.• pl. NFS-ben távoli könyvtár-hierarchiák.

Page 50: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 11 -

2. Leképezési táblák többszörözése:• A táblához minden csomópontnak hozzá kell férnie, központosítás veszélyes.• A többszörözés okai:

– decentralizált, hibatűrőrendszer.– adatbiztonság.– táblázatok gyors elérése.

• Csomópontonként csak a szükséges részek átmeneti tárolása (caching).

3. Kétszintűleképezési táblák:• Felhasználó szintűnév

⇓• Elhelyezkedés-független alacsony szintűnév

⇓• Csomópont fizikai helye

Műveletek végzése:• A felhasználó a helyi állománykezelésnek megfelelőműveleteket akarja elvégezni az

állományon (miután a rendszer megtalálta a hivatkozott állományt).• Műveletek módjai:

– távoli szolgáltatásokon keresztül.– helyi átmeneti tárak segítségével.

Távoli szolgáltatások igénybevétele:A felhasználói műveletek kérésként jelennek meg a szolgáltató csomópontnál.Távoli eljáráshívás (RPC):

• Minden művelethez tartozik egy távoli eljárás. Az ügyfél határozza meg az eljárásparamétereit, a szolgáltató válasza az eljárás visszatérési értéke.

• A szolgáltatói oldalon minden távoli eljáráshoz tartozik egy speciálisdémon folyamat (daemon), feladata a kliensek felől érkezőkérések kiszolgálása.

• A folyamat egy hozzá rendelt kaput figyel, az azon érkezőkérést végrehajtja, majd aválaszt a kérésből megállapítható feladónak küldi vissza.

Műveletek helyi átmeneti tárban:• A teljesítmény növelése, hálózati adatforgalom csökkentése érdekében a helyi

gépek a szükséges adatállományokat átmenetileg tárolják, a művelteket azon végzik.• Problémák:

1.) Az átviteli egység meghatározása:• Rendelkezésre álló átmeneti tár mérete.• Az alapszintűhálózati protokoll, illetve az RPC-ben (Remote Procedure

Calling) megengedett blokkméret.

2.) Az átmeneti tárolás helye:• Helyi gép központi tárjában: gyors és háttértár nélkül is alkalmazható.• Helyi gép háttértártárjában: megbízható és teljes állományokat is

tartalmazhat.

Page 51: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 12 -

3.) A változások érvényre juttatása (update):• A módosításokat a szolgáltatóval közölni kell:

– azonnal: lassú és biztonságos.– késleltetve: gyors és nem biztonságos.

4.) Az átmeneti tár konzisztenciája:Egy állományt több kliens is használhatja, módosítás után az állomány

már nem aktuális.Aktualizálni kell:

• A kliens kérésére (az ügyfél gyanakszik, kéri az ellenőrzést, hogya saját példánya helyes-e):– minden hozzáférésnél.– az állomány újra megnyitásakor.– időközönként.

• A szolgáltató kezdeményezésére:– a szolgáltató nyilvántartja az ügyfelek helyi tárolásait.– ha az állományokban olyan változás van, ami

inkonzisztenciát okoz, értesíti a klienseket.– értesítés:

• azonnal, állomány lezárásakor.• előrelátható problémák esetében üzenhet a

kliensnek, hogy ne használjon helyi tárolást,inkább használja a távoli szolgáltatásokat.

A két módszer összehasonlítása:• Az átmeneti tárolás előnyei:

– a műveletek jelentős része helyben végrehajtható,gyorsabb futás, csökken a hálózati terhelés.

• A távoli szolgáltatás előnyei:– nincs konzisztencia probléma.– a kliens erőforrásai nem korlátozzák a művelet

végrehajtását.

A szolgáltató implementációja:1.) Állapotot tároló (stateful) szolgáltató.2.) Állapot nélküli (stateless) szolgáltató.

1.) Állapotot tároló (stateful) szolgáltató:• A szolgáltató a kliensek kéréseiről, kiszolgálásuk folyamatáról, állapotáról

információt tárol.Előnyei:

• Nagyobb teljesítmény: az állományokhoz való egymás utáni hozzáférésekmár elővannak készítve.

• Konzisztencia problémák figyelése, kezelése.

Page 52: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 13 -

Hátrányai:• Szolgáltató leállásakor az ügyfelek kéréseit nem tudja kiszolgálni, újra fel kell

építeni az elveszett állapotinformációkat (bonyolult protokollt igényel).• A kliens váratlan terminálását a szolgáltatónak fel kell ismernie, hogy

érvénytelenítse az állapotinformációkat.

2.) Állapot nélküli (stateless) szolgáltató:• Nincs információtárolás a kliensekről, minden kérés önállóan is kielégíthető.

Előnye:• Az állományok meghibásodása nem okoz gondot

(ha az ügyfél nem kap választ, akkor újra próbálkozik).Hátránya:

• Lassú:– kérésenként több információt kell átvinni.– minden kérés kiszolgálásához az állományt meg kell találni.

Page 53: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 1 -

7. A fizikai és az adatkapcsolati réteg jellemzése,legfontosabb feladatai, gyakorlati példák

OSI modell:Szint Réteg Rövid jellemzés Adat

7Alkalmazási réteg(Application layer) Alkalmazások (HTTP, DNS) Adatok

6 Megjelenítési réteg(Presentation layer) Adat megjelenítés és kódolás/dekódolás Adatok

5 Viszony réteg (Session layer) Csomópontok közötti kommunikáció Adatok

4 Szállítási réteg (Transport layer) Végpontok közötti kapcsolat,megbízhatóság (TCP, UDP) Szegmensek

3 Hálózati réteg (Network layer) Útvonalválasztás és logikai címzés (IP) Csomagok

2Adatkapcsolati réteg

(Data Link layer) Fizikai címzés (MAC és LLC) Keretek

1 Fizikai réteg (Physical layer) Média, jelzések, bináris átvitel Bitek

Fizikai réteg:Feladata, hogy továbbítsa a biteket a kommunikációs csatornán. Biztosítania kell, hogy egyelküldött 1-es a másik oldalon is 1-esként érkezzen meg. Ez a réteg olyan kérdésekkelfoglalkozik, hogy mekkora feszültséget kell használni a logikai 1 és mekkorát a logikai 0reprezentálásához, mennyi ideig tart egy bit továbbítása, az átvitel megvalósítható-e egyszerremindkét irányban, miként jön létre az összeköttetés, hogyan bomlik le, hány érintkezője van ahálózati csatlakozóknak, mire lehet használni az egyes érintkezőket stb.

Adatkapcsolati réteg:Feladata, hogy a fizikai átviteli rendszert olyan vonallá alakítsa, amely a hálózati rétegszámára felderítetlen átviteli hibáktól mentesnek látszik. Ezt úgy oldja meg, hogy a küldőoldalon az adatokat adatkeretekbe (data frame , általában néhány száz vagy néhány ezer bájt)tördeli, és ezeket sorrendben továbbítja. Ha a szolgáltatás megbízható, a fogadó fél egynyugtázó kerettel (acknowledgement frame) nyugtázza minden egyes keret helyes vételét.Hogy ne tudjon egy gyors adó elárasztani egy lassú vevőt annyi csomaggal, amit az már nemképes feldolgozni, ezért forgalomszabályzó eszközökre van szükség, ami tájékoztatja az adóta vevőnél még rendelkezésre álló szabad puffer méretéről. A forgalomszabályozást és ahibakezelést gyakran integrálva, ugyanúgy valósítják meg.Az adatkapcsolati réteg egy alrétege, a közeg-hozzáférési alréteg (medium access sublayer)foglalkozik az osztott csatornához való hozzáférés kezelésével.

Átviteli közegek

A fizikai réteg az adatok szállítására különféle fizikai közegeket használhat. Mindegyiknekmegvan a maga alkalmazási területe, sávszélesség, késleltetés, költség, a telepítés, valamint akarbantartás nehézsége szerint.

Page 54: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 2 -

1. Vezetékes:a.) mágneses hordozó:

Az adatokat kiírjuk egy mágnes szalagra, majd fizikailag elszállítjuk egy másik helyre.Ez sok esetben költséghatékonyabb megoldás, főleg ott ahol a nagy sávszélesség vagyaz alacsony bitenkénti költség kulcsfontosságú tényező.

b.) sodrott érpár:A sodrott érpár két szigetelt rézhuzalból áll, melyek tipikusan 1 mm vastagságúak.Ezek spirálszerűen egymás köré vannak tekerve, ezzel csökkentve a kettőközöttielektromágneses kölcsönhatást. A sodrott érpárt akár több kilométeres szakaszon iserősítés nélkül lehet használni, de nagyobb távolságok eseten már szükség vanerősítőkre.A sodrott érpár alkalmas mind analóg, mind digitális jelátvitelre. A vezetéksávszélessége a vastagságtól és az áthidalt távolságtól függ. Több fajtája létezik, de aszámítógép-hálózatok szempontjából a 3-as kategóriájúnak (a) és az 5-öskategóriájúnak (b) van jelentősége. Ez abban különbözik, hogy több sodrás van benne,amely kevesebb áthallást és nagyobb távolságokon is jobb minőségűjelet eredményez.Két újabb kategória is létezik már a 6-os és 7-es, amelyeken már nagyobbsávszélességet lehet elérni.

Ezeket a kábeltípusokat UTP-nek (Unshielded Twisted Pair – árnyékolatlan sodrottérpár) nevezik. Létezik még egy árnyékolt kábeltípus is STP (Shielded Twisted Pair –árnyékolt sodrott érpár), de ezt kevés helyen alkalmazzák.

c.) koaxiális kábel:Kétfajta koaxiális kábel létezik: - 50 Ω-os: digitális átvitelhez.

- 75 Ω-os: analóg átvitelhez.A koaxiális kábel felépítése:

Középen tömör rézmag huzal (Copper core), ezt szigetelőveszi körül (Insulatingmaterial). A szigetelőkörül egy sűrűszövésűhálóból vezető(Braided outer conductor)található. Végül legkívül egy műanyag védőburkolat (Protective plastic covering).

d.) fényvezetőszálak:Három főkomponense: a fényforrás, az átviteli közeg és a fényérzékelő(detektor). Afényimpulzus megléte a logikai 1 bitet jelenti, míg ennek hiánya a logikai 0 bitet. Azátviteli közeg egy vékony üvegszál. Amikor a fény az egyik közegből belép egymásikba, mondjuk üvegből a levegőbe, akkor az üveg és a levegőtalálkozásnál a fénymegtörik, ahogy ez az ábrán (a) látható. Az ábrán látható egy fénysugár ami α1szögben érkezik meg a határfelülethez, és β1 szögben halad tovább. A visszaverődésmértéke függ a két közeg fizikai jellemzőitől (elsősorban azok törésmutatóitól). Ha abeesési szög nagyobb a határértéknél, akkor a fény nem lép ki a levegőre, hanemvisszaverődik az üvegbe. Így ha a fénysugár beesési szöge egyenlőa határszöggelvagy nagyobb annál, akkor a fénysugár az üvegszálon belül marad, ahogy ez látható azábrán (b), akár több kilométert is megtehet gyakorlatilag veszteség nélkül.

Rézhuz SzigetelSűrű

szövésűMűanyag

védőburkol

Page 55: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 3 -

Egy üvegszálban több fénysugár is haladhat egyszerre, különbözőszögben verődvevissza a falról. Ekkor minden szálnak már az ún. módusa, ezért az ilyen üvegszálattöbbmódusú szálnak nevezik.Ha viszont az üvegszál átmérőjét néhány fényhullámhossznyira lecsökkentjük, akkoraz üvegszál hullámvezetőként viselkedik, és a fény visszaverődés nélkül, egyenesvonal mentén terjed a vezetékben. Az ilyen üvegszálat egymódusú szálnak nevezik.A fényerősség csökkenését az üvegben a fény hullámhossza határozza meg. Adecibelben mért csillapítást a következőképlettel számolhatjuk ki:

nyteljesítmévettnyteljesítmétkibocsátot

sCsillapítá_

_log10 10 [dB]

A szálon végigküldött fényimpulzusok hosszanti irányban szétszóródnak terjedésközben. Ezt a szóródást kromatikus diszperziónak („a színek szétszóródása”)nevezik, és mértéke a hullámhossztól függ. Ha az impulzusokat egy bizonyos alakúraformáljuk, akkor szinte minden szóródási hatást kiejthetünk. Ezeket az impulzusokatszolitonoknak (soliton) nevezték el.A fényvezetőkábel felépítése:

Középen az üveg mag (Core glass), ezt veszi körbe egy üvegköpeny (Cladding glass),aminek a törésmutatója kisebb, mint a magé. Kívülről egy műanyag védőburkolattal(Jacket plastic) látják el. A (b) ábrán látható a keresztmetszete, mikor több fényvezetőkábelt fognak össze.A fényimpulzusok előállítására kétféle fényforrást használnak: az egyik a LED (LightEmitting Diode), a másik pedig a félvezetőlézer.

2. Vezeték nélküli:Az elektronok mozgása, elektromágneses hullámokat keltenek maguk körül. Azelektromágneses hullám másodpercenkénti rezgésszámát frekvenciának (f) nevezzük,mértékegysége a Hertz (Hz). Két egymást követőhullámcsúcs (vagy hullámvölgy) közöttitávolságot hullámhossznak hívunk, és λ (lambda) jelölünk. A vákuumban mindenelektromágneses hullám a frekvenciájától függetlenül fénysebességgel (c) terjed. λ=fc.Minél szélesebb a frekvenciatartomány, annál nagyobb az adatátviteli sebesség.A legtöbb átvitel keskeny frekvenciasávot használ, egyes esetekben széles sávot használnak,két különbözőváltozatban:

- frekvenciaugrásos szórt spektrumú (frequency hopping spread spectrum)Az adó frekvenciáról frekvenciára ugrál másodpercenként több százszor.

Műanyag

Üvegm

Üvegköppeny

Műanyagvédőburkola Üvegm

ag

Üvegköppeny

Tok

Page 56: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 4 -

- közvetlen sorozatú szórt spektrum (direct sequence spread spektrum)Egy széles frekvenciasávon teríti szét a jelet.

a.) Rádiófrekvenciás átvitel:A rádióhullámok terjedési tulajdonsága frekvenciafüggők. Alacsony frekvencián arádióhullámok minden akadályon áthatolnak, viszont a teljesítményük a forrástóltávolodva erősen – a levegőben nagyjából 1/r3 szerint – csökken. A nagyfrekvenciásrádióhullámok egyenes vonal mentén terjednek, és a tárgyakról visszaverődnek. Azesőelnyeli a nagyfrekvenciás rádióhullámokat. A rádióhullámokat a villamos motorokés más elektronikus berendezések minden frekvencia tartományban zavarják.

b.) Mikrohullámú átvitel:A mikrohullámok nem képesek áthatolni az épületek falain. Ráadásul, az adóegységhiába fokuszálja jól a mikrohullámú sugarakat, azok a levegőben mindenképpenszóródnak valamennyire. A hullámok egy kis része megtörhet az alacsonyabb légkörirétegeknél, ezek a hullámok valamivel később érnek célba, mint a közvetlen beérkezőhullámok. A megtört hullámok fázisa nem egyezik meg a közvetlen beérkezőhullámokéval, így ezek akár ki is olthatják egymást. Ez a jelenség, a többutasjelgyengülés, elhalkulás (multipath fading).

c.) Infravörös és milliméteres hullámú átvitel:Elsősorban a kistávolságú adatátvitelben használják. (pl.: távirányítók) Az infravöröshullám jól irányítható, olcsó és könnyen előállítható, azonban szilárd testeken nemképes áthatolni.

d.) Látható fényhullámú átvitel:Két hely között lézerek segítségével kommunikálnak. A lézert alkalmazó koherensoptikai adatátvitel alapvetően egyirányú, így mindkét oldalon külön lézerforrásra ésfényérzékelőre van szükség. Ez a megoldás igen nagy sávszélességgel rendelkezik, ésnagyon olcsó.

Keretezési eljárások

1. Karakterszámlálás:A keretben levőkarakterek számának megadására egy, a keret fejrészében lévőmezőthasznál. Így a vevőoldal tudja, hogy mekkora kereteket kell olvasnia. Az ábrán (a) láthatóegy példa erre. Ezzel az algoritmussal az a baj, hogy ha az átvitel során megsérül akarakterszám mező, akkor a vevőoldal nem fogja tudni, hogy hol van vége a keretnek, és utánmár nem fogja tudni újra megtalálni a karakter elejét, (b) ábra.

2. Karakterbeszúrás:Az eljárás minden keret elejét és végét egy-egy különleges bájttal jelzi. Ezt jelzőbájtnak(flag byte) nevezik, az ábrán FLAG-ként van feltüntetve. Ha a jelzőbájt mintája előfordul azadatbájtok között, akkor egy különleges bájtot (ESC – escape byte) helyez elé így jelölvemeg, hogy az csak adat és nem a keret vége. A vevőoldal eltávolítja ezt az ESC bájtot mielőtt

Page 57: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 5 -

továbbítaná a hálózati réteg felé az adatokat. Ezt a módszert bájtbeszúrásnak (byte stuffing)vagy karakterbeszúrásnak (character stuffing) nevezik. Abban az esetben, ha afelhasználói adatok egy ESC kódot tartalmaznak, akkor az elé beszúr egy ESC bájtot, ezzeljelölve, hogy az egy adatbájt.

3. Bitbeszúrás:Minden keret egy speciális jelző (flag) bájtnak nevezett bitmintával kezdődik. Ez a01111110. Amikor az adó adatkapcsolati rétege öt egymást követő 1-es bitet talál,automatikusan beszúr egy 0-t a kimenőbitfolyamba. Ez a bitbeszúrás (bit stuffing) analógkarakterbeszúrással, amellyel egy DLE-t (Data Link Escape) szúrtunk be a kimenőkarakterfolyamba az adatok között levőDLE elé. Amikor a vevőöt egymást követő1-es bitettalál, melyet egy 0-s követ, automatikusan törli a 0-s bitet. Az eredeti adat (a); Az átvitelivonalon megjelenőadat (b); A vevőmemóriájában megjelenő, a beszúrt bitek törlése utánaadat (c).

4. Fizikai rétegbeli kódolássértés:Ez az eljárás olyan hálózatokban használható, ahol a fizikai rétegbeli kódolás redundanciáttartalmaz. Pl.: néhány LAN egy adatbitet két fizikai szinten kódol: az 1-es bit egy fizikaimagas-alacsony pár, a 0-s pedig egy alacsony-magas. A magas-magas és az alacsony-alacsony kombinációk nem használatosak adatbitek kódolására (ezeket lehet a kerethatárokjelzésére használni). Az elgondolás azon alapul, hogy minden bit tartalmazzon egy átmeneteta közepénél, így a vevőkönnyedén megtalálhatja a bithatárokat.

Hibajavító kódok

A keretek általában m adatbitből, vagyis üzenetbitből (message bit) és r redundáns bitből,vagyis ellenőrzőbitből (check bit) állnak. A keret teljes hossza legyen n (vagyis n = m + r).Egy ilyen, adat- és ellenőrzőbitekből álló n bites egységet gyakran n bites kódszónak(codeword) is neveznek.Hamming távolság: az helyek száma, amelyeken a két kódszóban különbözőbitek állnak.Ahhoz, hogy d hibát jelezni tudjunk, d+1 Hamming-távolságú kód kell.Ahhoz, hogy d hibát ki tudjunk javítani 2d+1 Hamming-távolságú kód kell.

Page 58: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 6 -

A Hamming-kódok csak egybites hibákat tudnak javítani. Viszont egy módszerrel képes lesza csoportos hibák javítására is. A kódszavak k hosszú sorozatát mátrixba rendezzük, mindensorba egy kódszót. Az adatot oszloponként továbbítjuk, a bal szélsőoszloppal kezdve. Hamind a k bitet elküldtük, a következőoszlop jön és így tovább. Amikor a keret megérkezik avevőhöz, a mátrixot oszloponként újra felépítjük. Ha egy k hosszúságú csoporthibakövetkezik be, az legfeljebb 1 bitet érint soronként, de mivel a Hamming-kód egy hibát kitudjavítani kódszavanként, az egész blokkot helyre tudjuk állítani. Ez a módszer kr ellenőrzőbitet használ ahhoz, hogy km méretűadatblokkot egy legfeljebb k hosszúságú csoportos hibaellen immunissá tegyen.

Hibajelzőkódok

Polinom-kód (polynomical code) – ciklikus redundancia (CRC – cyclic redundancy code): abitsorozatot polinomok reprezentációjának tekintjük, melyekben csupán a 0 és 1 együtthatókszerepelnek. Egy k bites keretet tekintsünk egy k tagú polinom együtthatóinak xk-1-től x0-ig.Az ilyen polinomot k-1-ed fokúnak nevezünk.Amikor polinomkódot alkalmazunk, az adónak és a vevőnek előre meg kell egyeznie egygenerátor polinomban. Ezt fogja használni mindkét oldal az hibakereséshez.

Elemi adatkapcsolati protokollok

1. Korlátozás nélküli szimplex protokoll:Az adatokat csak egy irányba továbbítjuk. Mind az adó, mind a vevőhálózati rétege mindigkészen állnak. A feldolgozási időtől eltekintünk. Végtelen pufferterület áll rendelkezésre. Azadatkapcsolati rétegek közötti kommunikációs csatorna sohasem rontja vagy veszíti el akereteket. → „utópia”

2. Szimplex megáll-és-vár protokoll:A kommunikációs csatorna hibamentés és az adatforgalom is egyirányú. A vevőnek csakvéges puffer kapacitása és véges feldolgozási sebessége van, így a protokollnak explicitmódon meg kell akadályoznia a küldőállomást abban, hogy gyorsabban továbbítsa azadatokat a vevőfelé, mint ahogy az kezelni tudná. A küldőegy keret elküldése után nyugtáravár, mielőtt további adatokat küldene.

3. Szimplex protokoll zajos csatornához:Azokat a protokollokat, amelyekben a küldő állomás pozitív nyugtára vár, mielőtttovábblépne a következőadategységre, gyakran PAR-nak (Positive Acknowledgement withRetransmission – pozitív nyugtázás újraküldéssel) vagy ARQ-nak (Automatic RepeatreQuest – automatikus ismétléskérés) nevezik. Ez is csak egy irányba továbbítja azadatokat. Az adó tárolja következőelküldendőkeret sorszámát, a vevőa következővennikívánt keret sorszámát. Miután az adó elküldött egy keretet, elindul egy időzítő. Ha lejár azidőzítőés nem érkezett válasz vagy sérült válasz érkezett, akkor újra elküldi a keretet. A vevőmegvizsgálja a fogadott keretet, ha annak a sorszáma a várt sorszám, akkor továbbküldi ahálózati rétegnek és nyugtát küld, a duplikátumokat és a sérült kereteket nem adja tovább ahálózati rétegnek.

Page 59: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 7 -

Csúszóablakos protokollok

A protokoll lényege az, hogy az adó állomás folyamatosan karbantart egy sorszámhalmazt,amely az elküldhetőkereteknek felel meg. Azt mondjuk, hogy ezek a keretek az adásiablakba (sending window) esnek. Hasonlóan a vevőis karbantart egy vételi ablakot(receiving window), amely azoknak a kereteknek felel meg, amelyeket vehet. Az adó és avevőablakainak nem kell azonos alsó és felsőhatárral rendelkeznie, sőt a méretének sem kellmegegyeznie.

1. Egybites csúszóablakos protokoll:Ennek a protokollnak maximum 1 lehet az ablak mérete. A megáll-és-vár technikátalkalmazza, mivel a küldőállomás elküld egy keretet és megvárja ennek a nyugtáját, mielőtt akövetkezőt elküldené.

2. Az n visszalépést alkalmazó protokoll:A küldőitt már nem csak 1 darab keretet küldhet, hanem w darabot, mielőtt blokkolódik, ígyw megfelelőmegválasztásával az adó állomás folyamatosan küldeni tudja a kereteket akörülfordulási idővel azonos ideig anélkül, hogy betelne az ablak. A küldőoldalon akkor vanszükség nagyméretűablakra, ha az adatsebesség és az oda-vissza út késleltetésének szorzatanagy. Ez a technika csővezetékezésként (pipelining) ismert.A csővezetékezésnél fellépőhibák kezelésére két módszer van:

- „visszalépés n-nel” (go back n):A vevőeldobja az összes keretet, amely a hibás után érkezik, és nem küldnyugtát róluk. Az adónak lejár az időzítője, és újraküldi az összes nyugtázatlankeretet, kezdve a sérült vagy elveszett kerettel. Ez a megközelítés nagysávszélességet pazarolhat el, ha nagy a hibaarány.

- szelektív ismétlés (selective repeat):A vevőa rosszul vett keretet eldobja, de az ezután érkezőjó kereteket tároljaegy pufferben. Amikor a küldőidőzítése lejár, csak a legrégebbi nyugtázatlankeretet küldi el újra. Ha ez a keret helyesen megérkezik, akkor a vevőa helyessorrendben adja tovább a hálózati rétegnek az összes, addig pufferelt keretet is.

Gyakorlati példák

1. HDLC – magas szintűadatkapcsolat-vezérlés:Több protokoll létezik, amik szoros kapcsolatban állnak, csak apró eltérések vannak köztük.Mindegyik bit alapú, bitbeszúrást alkalmaz a kódfüggetlenség érdekében.A keretstruktúrájuk a következő:

- cím (Address): több terminállal rendelkezővonalaknál a terminálok azonosításárahasználatos.

- vezérlés (Control): sorszámozásra, nyugtázásra és egyéb célokra.- adat (Data): tetszőleges adat lehet, és tetszőleges hosszúságú lehet.- ellenőrzőösszeg (Checksum): ciklikus redundanciakód kisebb változtatással,

generátor polinomként a CRC-CCITT-t alkalmazva, így észlelhetőaz elveszettjelzőbájt.

A keretet egy jelzősorozat (01111110) határolja.

Page 60: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 8 -

Háromféle keret van, és a vezérlés mezőazonosítja ezeket:- információs (Information) (a): a Seq a keret sorszáma, a Next a ráültetett nyugta.

Mindegyik protokoll az utolsó hibátlanul vett keret sorszáma helyett az elsőnem vett keret sorszámát (azaz a következővárt keretét) ülteti rá a visszairányúadatra. A P/F (Poll/Final) bitet akkor használjuk, amikor egy számítógépterminálok egy csoportját kérdezi le.

- felügyelő(Supervisory) (b): a felügyelőmezőket a Type (Típus) alapján lehetmegkülönböztetni.

- számozatlan (Unnumbered) (c): vezérlési célokra használhatják, de alkalmazhatóakadatok átvitelére is, amikor megbízhatatlan összeköttetés nélküli szolgálatravan igény.

2. PPP – Pont-pont protokoll:A PPP kezeli a hibák felderítését, több protokollt is támogat, lehetővé teszi, hogy az IP-címekről a felek az összeköttetések kiépítésekor egyezkedjenek, megengedi a hitelesítést ésmég sok más lehetőséget is tartalmaz.A PPP három dolgot biztosít:

- Olyan keretezési módszert, amely egyértelműen ábrázolja a keret végét és akövetkezőkeret kezdetét. A keretformátum megoldja a hibajelzést is.

- Kapcsolatvezérlőprotokollt a vonalak felélesztésére, tesztelésére, az opciókmegbeszélésére és a vonalak elegáns elengedésére, amikor már nincs rájukszükség. Ezt a protokollt LCP-nek (adatkapcsolat-vezérlőprotokoll – LinkControl Protocol) nevezik. Támogatja a szinkron és aszinkron áramköröket,valamint a bájt és a bit alapú kódolásokat.

- Olyan módot a hálózatiréteg-opciók megbeszélésére, amely független az alkalmazotthálózatiréteg-protkolltól. A választott módszer az, hogy különbözőNCPhálózati vezérlőprotkoll – Network Control Protocol) van mindegyiktámogatott hálózati réteghez.

Minden PPP-keret a szabványos jelzőbájttal (01111110) kezdődik, és karakterbeszúrástalkalmazunk, ha ez előfordul az adat mezőben. Utána van a cím mező(Address) és a vezérlő(Control) mezőamiket kihagyhatnak a kommunikációból, megtakarítva 2 bájtot keretenként.Az adat (Payload) mezőváltozó hosszúságú, maximum a megegyezett méret, alapesetben1500 bájt. Az ellenőrzőösszeg (Cecksum) lehet 2 vagy bájtos.

Page 61: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 1 -

8. A hálózati réteg jellemzése, legfontosabb feladatai,gyakorlati példák

OSI modell:Szint Réteg Rövid jellemzés Adat

7Alkalmazási réteg(Application layer) Alkalmazások (HTTP, DNS) Adatok

6 Megjelenítési réteg(Presentation layer) Adat megjelenítés és kódolás/dekódolás Adatok

5 Viszony réteg (Session layer) Csomópontok közötti kommunikáció Adatok

4 Szállítási réteg (Transport layer) Végpontok közötti kapcsolat,megbízhatóság (TCP, UDP) Szegmensek

3 Hálózati réteg (Network layer) Útvonalválasztás és logikai címzés (IP) Csomagok

2 Adatkapcsolati réteg(Data Link layer)

Fizikai címzés (MAC és LLC) Keretek

1 Fizikai réteg (Physical layer) Média, jelzések, bináris átvitel Bitek

A hálózati réteg feladata, hogy a csomagokat a forrástól egészen a célig eljuttassa. Ehhezesetleg több routeren is keresztül kell a csomagnak haladnia. A hálózati réteg alegalacsonyabb réteg, amely két végpont közti átvitellel foglalkozik.A hálózati rétegnek ismernie kell a kommunikációs alhálózat (vagyis a routerek halmaza)topológiáját, és megfelelőútvonalakat kell találnia azon keresztül. Arra is ügyelnie kell, hogyúgy válassza ki a routereket, hogy elkerülje néhány kommunikációs vonal és routertúlterhelését, míg mások tétlenül maradnak. A hálózati réteg feladata megoldani azokat aproblémákat is, melyek akkor merülnek fel, amikor a forrás és a cél különbözőhálózatokbanvannak.A hálózati réteg tervezésénél a következővezérelveket tartották szem előtt:

1. A szolgálatoknak függetleneknek kell lenniük az alhálózat kialakításától.2. A szállítási réteg elől el kell takarni a jelenlevőalhálózatok számát, típusát és

topológiáját.3. A szállítási réteg rendelkezésére bocsátott hálózati címeknek egységes számozási

rendszert kell alkotniuk, még a LAN-ok és WAN-ok esetén is.

Összeköttetés nélküli szolgáltatás:Az alhálózatba érkezőcsomagok egyenként és egymástól függetlenül kerülnek továbbításra;előzetes kapcsolat-felépítésre nincs szükség. Ebben az összefüggésben a csomagokat gyakrandatagramoknak (datagrams – DG), az alhálózatot pedig datagram alhálózatnak(datagram subnet) is nevezik. Mikor egy csomag egy router-hez érkezik, a router megnézi abelsőtáblázatában, hogy merre felé kell továbbítani az adott csomagot.

Összeköttetés alapú szolgálat megvalósítása:A forrás és a cél router között előre ki kell építeni egy útvonalat, mielőtt egyetlenadatcsomagot is elküldenénk. Ezt a kapcsolatot virtuális áramkörnek (virtual circuit – VC)nevezzük, az alhálózat neve pedig virtuális áramkör alhálózat (virtual circuit subnet). Ezt

Page 62: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 2 -

az áramkört használják aztán a kapcsolat teljes forgalmának lebonyolítására, viszony-forgalomirányításnak (session routing) is nevezik. Amikor az összeköttetés megszűnik avirtuális áramkör is felbomlik.

Kérdés Datagram alhálózat Virtuális Áramköralhálózat

Áramkör-felépítés Nem szükséges Megkövetelt

Címzés Minden csomag tartalmazza ateljes forrás- és célcímet

Minden csomag egy rövidVÁ számot tartalmaz

ÁllapotinformációAz alhálózat nem tartalmaz

állapotinformációkatMinden VÁ táblázat helyet

követel egy alhálózatot

ForgalomirányításMinden csomagot függetlenül

irányítanak

Az útvonalat akkor választjákki, amikor a VÁ felépül;minden csomag ezt az

útvonalat követi

A forgalomirányítókmeghibásodásainak hatása

Semmi, eltekintve azösszeomlás során elveszett

csomagoktól

Minden VÁ megszakad,amely a csődöt mondott

forgalomirányítónkeresztülhaladt

Szolgálatminőség BonyolultKönnyű, ha elég erőforrást

lehet előre lefoglalnimindegyik VÁ számára

Torlódásvédelem BonyolultKönnyű, ha elég erőforrást

lehet előre lefoglalnimindegyik VÁ számára

Forgalomirányító algoritmusok

A forgalomirányító algoritmus (routing algorithm) a hálózati réteg szoftverének azonrésze, amely azért a döntésért felelős, hogy egy bejövőcsomag melyik kimeneti vonalonkerüljön továbbításra. Egy ilyen algoritmustól a következő tulajdonságokat várjuk el:helyesség, egyszerűség, robosztusság, stabilitás, igazságosság, optimalitás és hatékonyság.Két nagy osztályba sorolhatók:

- nem adaptív algoritmusok (nonadaptive algorithms):Nem támaszkodnak döntéseikben mérésekre vagy becslésekre az aktuálisforgalomról és topológiáról. Ezt néha statikus forgalomirányításnak (staticrouting) is szokták nevezni.

- adaptív algoritmusok (adaptive algorithms):Úgy változtatják a forgalomirányítási döntéseiket, hogy tükrözzék atopológiában és rendszerint a forgalomban történt változásokat.

Az optimalitási elv:Ha J router az I routertől K router felé vezetőoptimális útvonalon helyezkedik el, akkor a J-től K-ig vezetőútvonal ugyanerre esik. Ennek az elvnek a következményeként beláthatjuk,hogy az összes forrásból egy célba tartó optimális útvonalak egy fát alkotnak, amelynekgyökere a cél. Az ilyen fákat nyelőfának (sink tree) nevezzük. Minden forgalomirányítóalgoritmus célja a nyelőfák felderítése és használata az összes router számára.

Page 63: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 3 -

1. Legrövidebb útvonal alapú forgalomirányítás:Vegyünk egy alhálózat egy gráfját, ahol minden router egy csomópont és minden él egykommunikációs vonalnak felel meg. Két adott router közötti útvonal kiválasztásához azalgoritmus a köztük levőlegrövidebb utat keresi meg a gráfban.

2. Elárasztás (flooding):Minden bejövőcsomagot kiküld minden kimenővonalon kivéve azon, amelyiken érkezett. Acsomaghoz csatolni kell egy ugrásszámlálót, ami mindig csökken egyel és ha eléri a 0-t akkoreldobjuk. A másik módszer figyelni kell mik az új csomagok és melyek azok amiket márkiküldtünk, így elkerülve hogy egy csomagot kétszer küldjünk ki. Egy fejlettebb változata aszelektív elárasztás (selective flooding). Ekkor a routerek nem küldik ki minden vonalon acsomagot, csak azokon, amelyek megközelítőleg jó irányba mutatnak.

3. Távolságvektor alapú forgalomirányítás:Alapja, hogy minden routernek egy táblázatot (vagyis egy vektort) kell karbantartania,amelyben minden célhoz szerepel a legrövidebb ismert távolság, és annak a vonalnak azazonosítója, amelyiken a célhoz lehet eljutni. A táblázatokat a szomszédokkal valóinformációcsere útján frissítik.Ennek a módszernek van egy hibája: a végtelenig számolás problémája.

4. Kapcsolatállapot alapú forgalomirányítás:A routerek feladatai:

1. Felkutatni a szomszédjait és megtudni a hálózati címeket.2. Megmérni a késleltetést vagy költséget minden szomszédjáig.3. Összeállítani egy csomagot, amely a most megtudottakat tartalmazza.4. Elküldeni ezt a csomagot az összes többi routernek.5. Kiszámítani az összes többi routerhez vezetőlegrövidebb utat.

Gyakorlatilag a teljes topológiát és az összes késleltetést kísérletileg megmérik és eljuttatjákaz összes routernek. Ezután a Dijkstra-algoritmust használhatják, hogy megtalálják alegrövidebb utat az összes többi routerhez.

5. Hierarchikus forgalomirányítás:A routereket úgynevezett tartományokra (regions) osztjuk. Minden router tudja, hogyanirányítsa a saját tartományán belüli célok felé a csomagokat, de nem tud semmit a többitartomány belsőszerkezetéről.

6. Adatszóró forgalomirányítás:Egy csomag mindenhová történő egyidejű elküldését adatszórásnak (broadcasting)nevezzük.Ennek megvalósítására több algoritmus is létezik:

- a forrás külön csomagot küld minden egyes rendeltetési helyre- elárasztás- többcélú forgalomirányítás (multidestination routing)- feszítőfa (spanning tree)- visszairányú továbbítás (reverse path forwarding)

Page 64: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 4 -

7. Többesküldéses forgalomirányítás:A jól meghatározott, számszerűleg nagy, de a teljes hálózathoz viszonyítva kis csoportoknakvaló üzenetküldést nevezzük többesküldésnek (multicasting) és az ehhez tartozóforgalomirányító algoritmust többesküldéses forgalomirányításnak (multicasting routing).

8. Forgalomirányítás mozgó hosztok esetében:Mikor egy felhasználó belép egy körzetbe, akkor bejelentkezik a helyi ügynökhöz (idegenügynök – foreign agent). Az megkeresi a mozgó hoszt hazai ügynökét (home agent) ésleellenőrzi a hoszt adatait, jogait. Ha ez sikeresen megtörtént, akkor a hoszt regisztrálta magátés ha az otthoni címre küldenének neki valamit, akkor az ottani ügynök átirányítja azinformációt a mozgó hoszt felé, az idegen ügynökön keresztül, ezt hívják alagút típusútovábbításnak. Az otthoni ügynök megadja az idegen ügynök adatait, hogy az adó ezután márközvetlenül annak tudja címezni az információkat.

Torlódáskezelés

Amikor túl sok csomag van jelen az alhálózatban (vagy egy részében), a teljesítőképességvisszaesik. Ezt a helyzetet torlódásnak (congestion) nevezzük. A torlódást sok tényezőokozhatja.A torlódásvédelem azzal foglalkozik, hogy az alhálózat képes legyen elszállítani a kértforgalmat. Ez magába foglalja minden hoszt, minden router viselkedését, a tárol-és-továbbítfeldolgozást a routereken belül, és minden más tényezőt, amely hajlamos lerontani azalhálózat szállítási képességeit.A forgalomszabályozás egy adott adó és egy adott vevőközti kétpontos forgalomravonatkozik. Feladata megakadályozni, hogy egy gyors adó folyamatosan gyorsabban adjon,mint ahogy a vevőezt fogadni tudja.

Torlódásvédelem alapelvei:Szabályozáselméleti szempontból két csoportra oszthatjuk a rendszereket:

- a nyílthurkú megoldások a problémát jó tervezéssel kísérlik meg megoldani, nemengedik a torlódás kialakulását. Miután a rendszer életre kelt, nem végeznekfutás közben korrekciókat.

- a zárthurkú rendszerek a visszacsatolt kör elvén alapulnak. Ennek amegközelítésnek három része van, ha torlódásvédelemre alkalmazzuk:1. Figyelni a rendszert, hogy észrevegyük, hol és mikor következik be torlódás.2. Továbbadni ezt az információt azokra a helyekre, ahol be lehet avatkozni.3. Módosítani a rendszer működését, hogy helyrehozzuk a problémát.

Torlódásmegelőzőmódszerek, a torlódást befolyásoló politikák:- Adatkapcsolati réteg:

- Újraadási politika- Sorrenden kívül érkezett csomagok tárolási politikája- Nyugtázási politika- Forgalomszabályozási politika

- Hálózati réteg:- Az alhálózaton belül virtuális áramkörök vagy datagramok- Csomag-sorbanállítási és kiszolgálási politika- Csomageldobási politika- Forgalomirányító algoritmus

Page 65: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 5 -

- Csomagélettartam menedzselés- Szállítási réteg:

- Újraadási politika- Sorrenden kívül érkezett csomagok tárolási politikája- Nyugtázási politika- Forgalomszabályozási politika- Időzítés meghatározása

Torlódásvédelem virtuális áramkör alapú alhálózatokban:A már kialakult torlódás továbbromlásának megakadályozására használják a belépésellenőrzése (admission control) módszert. Ez a módszer nem épít fel több új virtuálisáramkört, amíg a probléma meg nem szűnik. Vagy engedélyezzük az új virtuális áramkörtöklétrehozását, de ügyelve arra, hogy elkerüljék a problémás részeket.

Torlódásvédelem datagram alapú alhálózatokban:A routerek figyelik a vonalaik terheltségét, és ha elér egy küszöbszintet, akkor beállít egyfigyelmezetőbitet, aminek eredményeképp a következőesetek történhetnek:

- figyelmeztetőbit: a router rárakja a nyugtákra ezt a bitet melynek hatására az adócsökkenti a küldés sebességét, mindaddig amíg ez a bit megtalálható acsomagokon.

- lefojtó csomagok (choke packet): a router közvetlenül a forrásnak küld egycsomagot, melynek hatására az adó csökkenti a küldés sebességét az adottcélcsomópont felé. Idővel fokozatosan növeli vissza a sebességet a küldő.

- lépésről lépésre ható lefojtó csomagok: a router küld egy lefojtó csomagot vissza aküldőnek és minden router, amin keresztül megy ez a lefojtó csomagcsökkenteni fogja a cél router felé vezetővonalát.Így hamarabb tehermentesítve lesz a leterhelt router.

Terhelés eltávolítás:Ha a routereket elárasztják olyan csomagok, amelyekkel már nem tudnak mit kezdeni, akkoralkalmazzák a terhelés eltávolítását (load shedding): egyszerűen kidobják a csomagot. Arouter a csomagot, amit eldob kiválaszthatja véletlenszerűen is, de alkalmazhat más módszertis.Bor politika: a régi jobb, mint az új.Tej politika: az új jobb, mint a régi.

Véletlen korai detektálás (Random Early Detection, RED):Alapötlet: ha a routerek már azelőtt elkezdik eldobálni a csomagok, mielőtt a helyzet márreménytelenné válna, akkor marad időarra, hogy valamilyen lépéseket tegyünk, mielőtt mártúl későlenne. A routerek figyelik a sorhosszaik pillanatnyi átlagát, és ennek segítségévelállapítják meg, hogy mikor kell elkezdeni a csomagokat eldobálni. Az eldobandó csomagotvéletlenszerűen választja ki.

Dzsitterszabályozás:A csomagok megérkezési idejének ingadozása (azaz szórása) a dzsitter (jitter). A dzsitterrekorlátot adhatunk, ha kiszámoljuk a várható átviteli időt az út mentén minden átugrásra.Amikor egy csomag egy routerhez érkezik, a router ellenőrzi, hogy mennyivel siet vagy késikaz ütemezéshez képest a csomag. Ha a csomag siet az ütemezéshez képest, éppen annyival

Page 66: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 6 -

tartja vissza, hogy pontos legyen. Ha késik az ütemezéshez képest, a router próbálja gyorsantovábbítani a csomagot.

Gyakori példák

IP protokoll:Egy IP datagram egy IP fejrészből és egy szövegrészből áll. A fejrésznek van egy 20 bájtosrögzített része és egy változó hosszágú opcionális része.A fejrész formátuma:

IP cím: 32 bites szám, pontokkal elválasztva 4 bájtonként. Így a számok 0-255 közöttlehetnek. Pl.: 192.168.10.2Az IP címeket több osztályba sorolják:

- A 0.0.0.0 IP címet a hosztok az elindulásuk alatt használják, ezzel tudnak hivatkozniaz aktuális hálózatra.

- A csupa 1-es IP címmel lehet broadcast csomagot küldeni.- A 127.xx.yy.zz formájú címek fenntartott a visszacsatolásos tesztelésre.

Egy hálózatban minden hosztnak ugyan azzal a hálózatszámmal kell rendelkeznie.Az alhálózatokat a routerek az alhálózati maszk (subnet mask) alapján tudják azonosítani.Kétféleképpen szokták jelölni a maszkot:

- átírják olyan formába, mint amilyenben az IP címek is vannak.- egy / jel után leírják, hogy milyen hosszú a maszk, pl.: /22.

Az alhálózatokra osztás csökkenti a routerekben a forgalomirányító táblázatok méretét azáltal,hogy egy, a hálózatokból, alhálózatokból és hosztokból álló hierarchiát hozz létre.Mivel az IP címekből hiány van, ezért bevezették az IP címek változó méretűblokkokraosztását, az osztályokra való tekintet nélkül – CIDR (Classless InterDomain Routing,osztálynélküli körzetek közti forgalomirányítás). A legjobb megoldás az lenne, ha mindenkiátállna IPv6-ra, de ez nagyon lassan megy, ezért kitaláltak egy módot, ami a jelenlegi IPv4-eskörnyezetben ad egy gyors javítást a rendszernek. Ez a NAT (Network AddressTranslation, hálózati címfordítás). Kijelöltek 3 tartományt, amiket a vállalatok, intézményekkioszthatnak a saját hálózatukon belül minden megkötés nélkül:

10.0.0.0 – 10.255.255.255/8172.16.0.0 – 172.31.255.255/12192.168.0.0 – 192.168.255.255/16

Viszont ezek a belsőcímek nem fordulhatnak előaz Interneten.

Page 67: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 7 -

NAT működése:Mikor egy hoszt kommunikálni akar a külvilággal, akkor a NAT doboz (NAT box) átfordítjaa csomag fejlécében található IP címet egy külsős IP címmé. Mikor válasz érkezik, akkor aNAT doboz a forrás és cél port alapján beazonosítja a leképzési táblájában, hogy melyik belsőhoszthoz tartozik a kapcsolat és továbbítják annak a belsőhálózaton keresztül.

Page 68: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 1 -

9. A szállítási réteg jellemzése, legfontosabb feladatai,gyakorlati példák

OSI modell:Szint Réteg Rövid jellemzés Adat

7Alkalmazási réteg

(Application layer) Alkalmazások (HTTP, DNS) Adatok

6 Megjelenítési réteg(Presentation layer) Adat megjelenítés és kódolás/dekódolás Adatok

5Viszony réteg

(Session layer) Csomópontok közötti kommunikáció Adatok

4 Szállítási réteg(Transport layer)

Végpontok közötti kapcsolat, megbízhatóság(TCP, UDP)

Szegmensek

3Hálózati réteg

(Network layer) Útvonalválasztás és logikai címzés (IP) Csomagok

2 Adatkapcsolati réteg(Data Link layer)

Fizikai címzés (MAC és LLC) Keretek

1 Fizikai réteg(Physical layer) Média, jelzések, bináris átvitel Bitek

A szállítási réteg feladata, hogy megbízható, gazdaságos adatszállítást biztosítson aforráshoszttól a célhosztig, függetlenül magától a fizikai hálózattól vagy az aktuálisanhasznált kommunikációs alhálózattól. A szállítási rétegen belül azt a hardvert és/vagy szoftverelemet, amely a munkát végzi, szállítási funkcionális elemnek vagy szállítási entitásnak(transport entity) nevezzük. A szállítási réteg képes felfedezni és kiegyenlíteni az elveszettcsomagok és a csonkolt adatok okozta hibákat. A hálózati, szállítási és alkalmazási rétegkapcsolatát az ábra szemlélteti.

Az alsó négy réteget tekinthetjük a szállítási szolgáltatónak (transport service provider),míg a magasabb réteg(ek)et tekinthetjük a szállítási szolgálat felhasználójának (transportserivce user).Minden szállítási szolgálat egyedi interfésszel rendelkezik.A szállítási entitások TPDU (Transfer Protocol Data Unit – szállítási protokolladategység) üzenetekkel kommunikálnak egymás között.

Page 69: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 2 -

Egy egyszerűszállítási szolgálat primitívjei:Primitív Elküldött TPDU JelentésLISTEN (nincs) Vár, amíg egy folyamat kapcsolódni nem próbál

CONNECT Connection Request Összeköttetést próbál létrehozniSEND DATA Adatot küld

RECEIVE (nincs) Vár, amíg adat (DATA TPDU) nem érkezikDISCONNECT Disconnection Request Ez az oldal bontani kívánja az összeköttetést

Az egyszerűösszeköttetés-kezelés állapotdiagramja:

A TCP-socket primitívjei:Primitív JelentésSOCKET Új kommunikációs végpont (csatlakozó) létrehozása

BIND Helyi cím hozzárendelése a csatlakozóhoz

LISTEN Összeköttetés-elfogadási szándék bejelentése, várakozási sorhosszának megadása

ACCEPT Hívó blokkolása összeköttetés-létesítési kísérletigCONNECT Próbálkozás összeköttetés-létesítésre

SEND Adatküldés az összeköttetésen keresztülRECEIVE Adatfogadás az összeköttetésről

CLOSE Összeköttetés bontása

A kommunikáció során a megfelelő címzés létfontosságú, különben nem tudnánkelküldeni/fogadni a megfelelőcsomagokat.

A címzés két részből áll:- TSAP (Transport Service Access Point – szállítási szolgálatelérési pont): portok.- NSAP (Network SAP – hálózati szolgálatelérési pont): IP címek.

Nem várható el, hogy egy hoszt ismerje egy server összes szolgáltatásának az TSAP-t, ezértalkalmazzák azt, hogy van egy dedikált folyamatszervere (process server), ami képesfogadni a kéréseket kívülről, majd a kérés alapján át tudja irányítani a folyamatot arra a TSAPcímre ahol az adott szolgáltatás figyel.

Page 70: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 3 -

Alkalmazhatnak névszolgáltatókat (name server) vagy katalógusszolgáltatókat (directoryserver), amik ellátják ezt a feladatot.Egy összeköttetés során komoly problémákat tudnak okozni azok az elveszet csomagok, amikkésőbb újra előkerülnek, mert akkor már nem a kívánt hatást érhetik el. Ezért a csomagokélettartamát maximalizálni kell az alábbi módszerek valamelyikével:

1. Korlátozott alhálózat tervezése.2. Átugrásszámláló (hop counter) alkalmazása a csomagokra.3. A csomagok időbélyeggel való ellátása.

Az összeköttetés létrehozása:Háromutas kézfogás (three-way handshake): az 1. hoszt kiválaszt egy x sorszámot, és egyCONNECTION REQUEST TPDU-ban elküldi a 2. hosztnak. Az egy CONNECTIONACCEPTED TPDU-val nyugtázza x vételét, és bejelenti saját y kezdeti sorszámát. Végül az 1.hoszt jóváhagyja a 2. hoszt által választott kezdeti sorszámot az elsőáltala küldött adatTPDU-ban.Az (a) esetben minden normálisan történik. A (b)-ben egy régi kettőzött CR bukkan elő, a (c)-nél kettőzött adat TPDU esetét láthatjuk.

Összeomlás utáni helyreállítás:Nincs olyan eset, ahol minden módon hiba nélkül állna helyre a kapcsolat, ezértáltalánosabban szólva ez azt jelenti, hogy az N. réteg összeomlásából történőújraindulás csakaz N+1. réteg segítségével lehetséges, feltéve, hogy a magasabb réteg elegendőinformációttárol az alatta lévőállapotáról.

Az összeköttetés lebontása:Háromutas kézfogás: az (a) esetben látható egy normális működés a kapcsolat bontására. A(b) esetben az ACK veszett el. A (c)-nél a válasz veszett el, végül a (d)-nél a válasz és arákövetkezőDR-ek vesznek el.

Page 71: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 4 -

UDP (User Datagram Protocol – felhasználói datagram protkoll):Ez egy összeköttetés nélküli protokoll. Az UDP olyan szegmenseket használ az átvitelhez,amelyek egy 8 bájtos fejrészből, valamint a felhasználói adatokból állnak. Az UDP nem végezforgalomszabályozást, hibakezelést vagy újraküldést rossz szegmens vétele esetén. Ez mind afelhasználó folyamaton múlik. Viszont biztosít egy interfészt az IP-protokoll használatához,azzal a többletszolgáltatással, hogy a portok használatával egyszerre több folyamatot képesdemultiplexálni. Pl. a DNS alkalmazásoknál UDP-t használnak.Az UDP fejrésze:

TCP (Transmission Control Protocol – átvitel-vezérlés protokoll):Megbízható bájtfolyamot biztosít a végpontok között egy egyébként megbízhatatlanösszekapcsolt hálózaton. A TCP-t arra tervezték, hogy dinamikusan alkalmazkodjon azösszekapcsolt hálózatok tulajdonságaihoz, valamint hogy nagymértékben ellenálló legyensokféle meghibásodással szemben.Minden TCP-összeköttetés duplex és kétpontos. A duplex azt jelenti, hogy a forgalomegyszerre haladhat mindkét irányba. A kétpontos azt jelenti, hogy minden összeköttetésnekpontosan két végpontja van. A TCP nem támogatja az adatszórást és a többesküldést.A TCP-összeköttetésen nem üzenetfolyamok, hanem bájtfolyamok áramlanak. A TCPpufferelheti az adatokat még az adatok küldése előtt, hogy így egy nagyobb adatmennyiségettudjon elküldeni, de ha az alkalmazás beállítja a PUSH bit-t ezzel utasítja a TCP-t, hogy eztne pufferelje, hanem azonnal küldje el. Lehetőség van még sürgős adat (urgent data)

Page 72: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 5 -

használatára, aminek hatására azonnal elküldi a TCP és a másik oldal megkeresi, hogy mi volta sürgős adat és végrehajtja.A küldőés a vevőTCP-entitások az adatokat szegmensekben viszik át egymás között. ATCP-szegmensek (TCP segment) egy rögzítetten 20 bájtos fejrészből (és egy nem kötelező,opcionális részből), valamint 0 vagy több adatbájtból állnak. Minden hálózatonmeghatároznak egy úgynevezett legnagyobb átvihetőadategységet (Maximum TransferUnit – MTU), amelybe minden szegmensnek bele kell férnie. A gyakorlatban ez 1500 bájt(Ethernet-adatmezőmérete).A TCP fejrésze:

A TCP összeköttetés létrehozása:Az (a) ideális esetben és akkor mikor egyszerre próbál összeköttetést létesíteni két hosztegymás között (b). Ilyenkor is csak egy összeköttetés lesz a két hoszt között.

Page 73: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 6 -

A TCP-összeköttetés-kezelés véges állapotú gépe:

Page 74: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 1 -

10. Nyilvános és titkos kulcsú kriptorendszerek jellemzése,összehasonlítása

Kriptográfia:Görög szó, jelentése: „titkos írás”.

Kerckhoff elve:Minden algoritmusnak nyilvánosnak kell lennie; csak a kulcsok titkosak.

A kriptográfia elsőalapelve:Az üzeneteknek valamilyen redundanciát kell tartalmazniuk.

A kriptográfia második alapelve:Kell egy módszer az ismétléses támadások meghiúsítására.

Kriptorendszer tervezése:- a kriptorendszer feltörésének költsége nagyobb legyen, mint a védett információ

piaci értéke a „legrosszabb” támadó számára.VAGY- a feltöréshez olyan hosszú időre legyen szükség, amely alatt az információ elévül.

Tökéletes kriptorendszer:I(X, Y) = 0, azaz a nyílt szöveg és a rejtett szöveg közös információtartalma 0 legyen.VAGY|X| = |Y| = |K| és P(K) = 1 / |K|

Cél: a támadó rákényszerítése a nyers erő(brute force) támadási módszerre.

Titkos kulcsú kriptorendszerek

1. Helyettesítőkódolók:- minden betűvagy betűcsoport egy másik betűvel vagy betűcsoporttal helyettesítődik.- pl.: Caesar-rendszer

xi = xi + k mod 44, |k|=44

2. Keverőkódolók:- az eredeti szöveg sorrendjét alakítják át.- kulcsszó: nem tartalmazhat ismétlődőbetűket.- menete: a kulcs szerepe az oszlopok megszámozása lesz oly módon, hogy az első

oszlopot az a kulcskarakter fogja kijelölni, amelyik az ábécében legelőszörszerepel, a többi oszlop sorrendje is hasonlóképpen alakul. A nyílt üzenetetvízszintes sorokba írjuk, a titkosított üzenetet pedig függőlegesen olvassuk ki.

Page 75: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 2 -

3. Egyszer használatos bitminta:- egyszer használatos titkosítás, azaz minden kulcsot csak egyszer használunk.- kulcs: véletlen bitsorozat.- menete: a kódolandó szöveget alakítsuk át bitsorozattá, majd számoljuk ki a két

bitsorozat (a kulcs és az szöveg) KIZÁRÓ VAGY (XOR) művelettel kapotteredményét bitről bitre.

- előnye: tökéletes titkosítás.- hátránya: a kulcsok száma véges.

Egyszerű, titkos kulcsú kriptorendszerek:Hiba: - kevés próbával sok kulcs kizárható (a támadás a nyelvi entrópia).

Shannon javaslata:1. Titkos kulcsú, nem tökéletes módszer.2. X, Y, k kapcsolata legyen olyan, hogy csak nyers erőmódszerével lehessen támadni.3. |k| legyen „elég” nagy.

4. DES:- Data Encryption Standard- 64 bites szövegblokk(ok).- kulcs: 56 bites.- az algoritmus 19 különálló fokozatból áll.- megerősítése: fehérítés (whitening).

5. 3-DES:- triple DES- két kulcs (2*56 bit) → 112 bites kulcs.- menete: 1. a nyílt üzenetet K1 kulccsal kódoljuk

2. az így kapott szöveget K2 kulccsal dekódoljuk3. az így kapott szöveget K1 kulccsal újra kódoljuk

6. AES:- Advanced Encryption Standard- Rijndael készítette- nyilvános, egyszerű, erős- üzemmódok:- 128 bites adatblokk(ok) + 128 bites kulcs

- 128 bites adatblokk(ok) + 256 bites kulcs- bájtokkal dolgozik- bájtmátrix- ciklus: fix helyettesítés, rotálás, oszlopok keverése (mátrixszorzás), ki alkalmazása

(XOR).- 128 bites kulcs és 128 bites blokkok esetén 10 kör van.

Page 76: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 3 -

Nyilvános kulcsú kriptorendszerek

1. Diffie-Hellman:- szimmetrikus: ugyanaz a titkos kulcs megosztása.- alkalmazása: titkos kulcsú kriptorendszer kulcsának átvitele.

Menete:Alíz és Bob egy titkos kulcsot nyilvános csatornán keresztül szeretnének egymásnakátküldeni. Mindketten megállapodnak egy p prímszámban és egy g (<p) értékében (g eleme amodulo p csoportnak és generálja azt).Tehát p és g nyilvánosak lehetnek, illetve a kiszámolt A és B.

1. Alíz kiválaszt egy véletlen x értéket és átküldi Bobnak az A = gx mod p értéket.2. Bob kiválaszt egy véletlen y értéket és átküldi Alíznak a B = gy mod p értéket.3. Alíz kiszámolja a K = Bx mod p értékét.4. Bob kiszámolja a K = Ay mod p értékét.5. A két érték megegyezik, mert a modulo p csoportban a szorzás művelet asszociatív.

Megvan tehát a közös titkos kulcs...

Támadások: - élő-lánc támadás (bucket brigade attack)- közbeékelődéses támadás (man-in-the-middle attack)

Pl.: g = 2, p = 5a = 3 b = 4

A = 23 mod 5 = 3 B = 24 mod 5 = 1K = 13 mod 5 = 1 K = 34 mod 5 = 1

2. RSA:- Rivest-Shamir-Adleman- alapja: nagy prímszámszorzatok faktorizálása.- nyilvános + titkos kulcs pár

Titkos kulcs: csak egy példányban létezik, és soha nem kerül hálózatra.- mindenki tud rejteni (nyilvános kulcs), de csak egyvalaki tud fejteni (titkos kulcs).- minimum 1024 bites kulcsok kellenek a működéshez.

Menete:1. Válasszunk két nagy (min. 1024 bites) prímszámot: p1 és p2 .2. Számoljuk ki az n = p1*p2 és az m = (p1-1)*(p2-1) számokat.3. Válasszunk egy m-hez relatív prímet ( (m, d)=1 ): d.4. Keressünk egy olyan e számot, melyre e*d = 1 mod m (e-re vonatkozó multiplikatív

inverz, euklideszi algoritmussal).

Rejtés: C = Pe mod nFejtés: P = Cd mod n.

Nyilvános kulcspár: (e, n)Titkos kulcspár: (d, n)

Page 77: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 4 -

Digitális aláírás:- alapötlet: mindenki fejthet, de csak egy rejthet.- cél: a dokumentum letagadhatatlanságát és sérthetetlenségét biztosítani.

Rejtés menete:dokumentum → CRC összeg generálás Hash-függvény révén (egyirányú művelet) →→ CRC összeg elrejtése titkos kulccsal → dokumentum, rejtett CRC összeg és nyilvános kulcs együttes elküldése.

Fejtés menete:kapott dokumentum CRC összegének kiszámolása → kapott CRC összeg kikódolása a nyilvános kulccsal → a két CRC összeg összehasonlítása → ha a két CRC összeg megegyezik, akkor a dokumentum hiteles.

CRC összeg kiszámolása: - SHA: 160 bites- MD5: 128 bites

Page 78: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 1 -

11. Számítógépes kártevők csoportosítása,tulajdonságaik

Miért kártékony programok?- erőforrásokat kötnek le (CPU, memória, lemez)- program, vagy adatvesztést okozhatnak.- még súlyosabb a kár, ha:

- hibás a víruskód (DOS boot vírus UNIX lemezen).- laikus, kapkodó felhasználó kezd el írtani.

- erkölcsi károkat okozhat a cégeknek.- foglalkozni kell velük! Embereket, pénzt köt le!

Kártékony programok csoportosítása:- I. Vírusok:

- 1. Rendszervírusok (boot szektor, MBR).- 2. Programvírusok („klasszikus” vírusok).- 3. Alkalmazás vírusok (makróvírusok, scriptek).- 4. Féregvírusok (levelezővírusok).

- II. Egyéb kártékony programok (MalWare).- 1. Trójai programok (nem szaporodnak).- 2. ANSI bombák (nem szaporodnak).- 3. Programférgek (nincs „gazda” program).- 4. Vírushordozók (csak a „termék” kártékony).- 5. Vírusgenerátorok (csak a „termék” kártékony).

I. Vírusok

Vírusok meghatározása:Olyan programok vagy programrészletek, melyek képesek arra, hogy önmagukat másolvaszaporodjanak.

A vírus részei:- Reprodukciós rutin- Aktiválási mechanizmus:

- ellenőrzi bizonyos feltételek teljesülését, illetve események bekövetkezését.- ha a feltételek teljesülnek, aktiválja az objektív rutint.

- Objektív (büntető) rutin:- romboló utasítások.- “reklámszövegek”, ijesztgetőfeliratok stb.

1. Rendszervírusok vagy boot vírusok:Az operációs rendszer betöltése:A Winchester 0. sávjának 1. szektorában (Master Boot Record, MBR) lévőprogram elindul,feladata, hogy az ugyancsak itt elhelyezkedőPartíciós táblából meghatározza, melyik partícióaktív, és ráadja a vezérlést az ott lévőbetöltőprogramra (Boot record).

Page 79: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 2 -

Boot vírusok működése:Mivel az MBR-ben, illetve a boot rekordban található program indul először (még azoperációs rendszer betöltése előtt), feltétlen ellenőrzése alá vonhatja a vírus a gépet. A vírusegy parancsot helyez el a boot-szektorban, ami a vírus valóságos helyén lévőkártevőt indítjael. Ez általában a lemez egyik félreeső pontján helyezkedik el. Amikor a BIOSrendszerbetöltést kísérel meg, elindítja a vírust. Egy tisztán bootvírus nem is képesmáshogyan elindulni.

2. Programvírusok:A programvírusok olyan programok, amelyek vezérléshez jutva a futtatható fájlokat keresneka lemezeken, és valamilyen módon hozzáfűzik magukat.Megfertőzhetőállományok:

- COM: max. 64 Kbájt hosszú (COMMAND.COM!)- EXE: Kicsit bonyolultabb szerkezet (EXE Header)- SYS: Eszközmeghajtók- OVL: Overlay állományok- BIN: végrehajtható kódú bináris állomány- OBJ- LIB: Tárgykódos vagy könyvtárállományok- Egyéb Windows-os állományok: DLL, PIF, DOT, stb.

A vírus általában ezen állományokba másolja be magát, és minden esetben gondoskodik arról,hogy futtatáskor először őkapja meg az irányítást. Miután lefutott, általában elindítja atényleges programot is.

A programvírusok elhelyezkedés a fájlban:- Nem felülíró típusok: - hozzáfűző(appendelő).

- kód elé beszúró.- Felülíró típusok: - program elejére író.

- véletlenszerűhelyre író.- Hibrid típusú: felülíró és nem felülír:

- exe fejlécbe (stack terület) telepedő.- command.com-ba telepedő.- speciális (FAT, CEB: Com-Exe-Bat) vírusok.

3. Alkalmazásvírusok:Ezek a vírusok nem az operációs rendszer által közvetlenül végrehajtható programkódottartalmaznak, hanem más környezetet hasznosítanak működésükhöz és terjedésükhöz.

Makróvírusok:- csak a makrónyelv lehetőségei között mozoghat.- nagy CPU és memóriaigény, ezért lelassul a futás, könnyebben észrevehető.- fertőzés területei: doc, dot, xl?, smm, mdb, wp*, wk*, wiz, wzs, cdr.

Szkript vírusok:- forráskódban terjed.- két főcsoportja van:- VBSCRIPT kártevők.

- JAVASCRIPT vírusok és férgek.

Page 80: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 3 -

4. Féregvírusok vagy férgek:- önálló programok.- elsődleges céljuk, hogy egyszeri futtatásra minél több számítógépre terjedjenek.- állományokat nem fertőznek meg- betöltődnek a fertőzött gép memóriájába, és miután kikeresik onnan a rendszerhez tartozó

gépek elérhetőségeit, példányaikat továbbküldik.- terjedhetnek e-mailen, Windows-alapú belsőhálózatokon, Linux-hálózatokon, stb.

II. Egyéb kártékony programok

1. Trójai programok (nem szaporodnak):Olyan program, ami látszólag hasznosat, vagy érdekeset csinál, de káros, nem kívántmellékfunkciókat is végrehajt mellette.Jellemzőváltozatai:

- Hálózat felderítőprogramok (pl. login.exe módosítása).- Másolásvédelem (pl. BIOS sorszám figyelése).- Beépített vírust tartalmazó programok

(adott feltétel teljesülése esetén szabadon engedi a vírust).- Időzített bombát tartalmazó programok

(adott időután megszűnik működni - próba verzióknál normális).

2. ANSI bombák (nem szaporodnak):A DOS ANSI.SYS meghajtója lehetővé teszi, hogy billentyűkkel programokat indíthassunk.Az aktiválás minden olyan eszközzel lehetséges, melynek outputja a képernyő:

- type - vírus a szövegbe, vagy bináris fájlban.- dir - vírus a katalógusban.- prompt.

Ha az indított program megerősítést kér, az echo paranccsal vagy átirányítással becsapható:echo y | del *.*del *.* < x.txt (az x.txt tartalma ’y’)

Ha nem töltjük be az ANSI.SYS-t, nem működnek.A DOS-szal együtt az ANSI bombák kihalnak.

3. Programférgek:- az UNIX rendszerek biztonsági réseit kihasználó programok.- céljuk általában az információ szerzés (pl. jelszótáblák, firewall).- nem irtották őket, hanem kijavították az operációs rendszer hibáit, így nem terjedtek el.- szaporodik, de nem igényel hordozót.

4. Vírushordozó programok:- Injektor: “vírusgazda”, őmaga nem beteg, de fertőz.- Dropper: indítás után előállítja a vírust, majd szabadon engedi.- a Dropper nem kártékony, róla nem készül másolat sem.

5. Vírusgenerátorok:- eredetileg az Assembly kód módosítása:

- paraméterei: új sorok szám, módosítandó tartomány.- Virus Mutator, Dark Avenger, TridentT stb.

- újabban: a víruskészítés TELJES automatizálása, már nem kell programozni sem tudni.

Page 81: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 4 -

- paraméterei: lopakodó, titkosított, aktiválás stb.- Demolition Kit, MVDK, Crazy Bits stb.

Vírusok csoportosítása

Generációk szerint:- 1. generációs: nincs álcázás, csak fertőznek.- 2. generációs: lopakodó vírusok, polimorf vírusok, felülíró vírusok.- 3. generációs: CEB (Com-Exe-Bat) vírusok, device vírusok, ANSI bombák.- 4. generációs: makrovírusok.

Fertőzési sebesség szerint:- Lassú fertőző: - általában a nem rezidens vírusok ilyenek.

- a fertőzött program indítása után keres egy-két áldozatot, és azt megfertőzi.- Gyors fertőző: - minden elindított, vagy megnyitott fájlt megfertőz.

- egy nem tökéletes víruskereső, amely minden fájlt megnyit, végigfertőzhetiaz összes fájlt.

Visszafejthetőség szerint:- Nem ellenálló: könnyen visszafejthető, elég a DEBUG, vagy egy DISASSEMBLER.- Billentyűzet letiltó: letiltja a DEBUGGER billentyűzet kezelését.- Titkosító: kódolja magát, a visszafordított kód értelmetlen.

Objektív (büntető) rutin szerint:Romboló szándékú: - fizikailag romboló (winchester, IC).

- erőteljesen romboló (format).- részlegesen romboló (bad sector).- szelektíven romboló (bizonyos programokat támad).

Nem romboló szándékú ("jópofa"):- szöveg, zene, grafika megjelenítése.- billentyűzet átdefiniálás stb.- objektív rész nélküli.

Elhelyezkedés a fájlban:- Nem felülíró típusok: - hozzáfűző(appendelő).

- kód elé beszúró.- Felülíró típusok: - program elejére író.

- véletlenszerűhelyre író.- Hibrid típusú: felülíró és nem felülír:

- exe fejlécbe (stack terület) telepedő.- command.com-ba telepedő.- speciális (FAT, CEB: Com-Exe-Bat) vírusok.

Elhelyezkedés a memóriában:- Rezidens: kikapcsolásig a memóriában marad.- Nem rezidens: csak a végrehajtás ideje alatt.- Vegyes: az objektív rutin rezidens, a szaporodó tranziens.

Page 82: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 1 -

12. Számítógépes kártevők elleni védekezési lehetőségek

A vírusvédelmi rendszerek, vagy más néven antivírusok olyan szoftverek, amelyek aszámítógépet védik a vírusok ellen. Egy alapprogramból és vírusdefiníciós adatbázisbólállnak.

A vírusok elleni védekezés eszközei:1. Megelőzés:A vírusok terjedésének legjelentősebb csatornája ma már az internet, és a hálózat. A vírusokérkezhetnek e-mailekkel, weboldalakról letöltött tartalommal, vagy a helyi hálózatonmegosztott állományokkal. Ma már a mágneses és optikai lemezeken keresztüli fertőzésveszélye elvesztette a jelentőségét, azonban ezzel a kockázattal is számolni kell. Így hát, ha újállományokat másolunk a számítógépre, vagy megnyitunk, ajánlott ellenőriztetni avíruskeresőszoftverrel.

2. Ellenőrzés:Ez a folyamat történhet automatikusan, vagy felhasználói kérésre. Olyan kártevőkkelszemben, amelyek nem szerepelnek az antivírus adatbázisában, a megelőzés nem valósíthatómeg. Ilyenkor csak az adatbázis frissítése utáni utólagos ellenőrzés, vagy a heurisztika lehet amegoldás.Miután a szoftver felfedezett egy kártevőt, azt el is kell távolítani a rendszerből. Sajnos, eznem minden esetben lehetséges, ugyanis a vírusok egy része olyan, amelytől a fertőzöttállomány teljesen nem tisztítható meg, mert annak a tartalmát a kártevőlecserélte sajátmagára. Ilyenkor az állomány eredeti tartalma nem állítható vissza.

Észlelési módszerek:A vírusirtó szoftverek különbözőmódszerek segítségével ismerik fel az adathordozókon, vagya hálózaton érkezőkártevőket.

1. Keresőmotorok:A legkézenfekvőbb és leggyorsabb keresési módszert alkalmazzák. Minden ismert vírusróltárolnak egy „ujjlenyomatot”, amely csak és kizárólag az adott vírusra jellemző. Azujjlenyomatokból létrehozott adatbázis alapján egy aránylag egyszerűszoftver ellenőrzi, hogya futó és tárolt programok nem tartalmazzák-e az ujjlenyomatok egyikét. A víruskereséssebességét nagyban gyorsítja, hogy a keresők csak a programok belépési pontjait, vagyis aveszélyeztetett helyeket vizsgálják. Attól függően, hogy a keresés automatikusan, vagyfelhasználói kérésre hajtódik végre, beszélünk ON ACCESS és AD HOC keresésimódszerekről.

2. Heurisztikus keresés (heuristic analysis):A módszert először Fridrik Skulason alkalmazta. A módszer nem a vírustartalmat keresi,hanem, hogy a program működése milyen veszéllyel lehet a számítógépre. Úgynevezettheurisztikus pontok felállításával megkeresi a gyanús kódrészleteket, és próbálkozással, akorábbi tapasztalatok felhasználásával próbálja eldönteni, hogy a program ártalmas-e.Előnye: nagy valószínűséggel minden ismeretlen vírust képes leállítani, illetve eltávolítani.Hátránya: mivel a módszer nem az egzakt azonosításokra törekszik, fennáll a veszélye, hogyegy ártalmatlan programot is vírusnak minősít.

Page 83: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 2 -

3. Kódemuláció:Nagyon hasonlít a heurisztikus keresésre, hiszen a pontos felismerés helyett vírusra jellemzőtevékenységek után kutat. Ellentétben azonban a fent említettel, ez a módszer az alkalmazásfuttatását próbálja emulálni, majd egy virtuális futtatókörnyezetben, az eseményeit elemezvepróbálja megítélni a kód veszélyességét.Előnye: a kódemuláció révén a víruskeresőképes belelátni egy kódolt, titkosított programbais, hiszen a dekódoló eljárás lefuttatása után az emulált futtatókörnyezetnek rendelkezéséreállnak a visszafejtett utasítások, ily módon a polimorf, vagy más kódváltoztatótulajdonságokkal rendelkezővírusok is fennakadnak a rostán.Hátránya: nagyon erőforrás-igényes.

4. Blokkolási mechanizmus:Az a programrész, amely a vírusaktivitás felismerésére specializálódott. Az operációsrendszer rendszerfolyamatait figyeli. Kritikus rendszerműveletek a fájlműveletek, indításiszekvencia megváltoztatása, a közvetlen lemezműveletek, vagy a rezidenssé válás. Ezekszűrésével megakadályozható, hogy a vírus átvegye a rendszer fölött az irányítást.Előnye: - még aktiválódás előtt képesek blokkolni a káros tartalmú programokat.

- sokkal kisebb az erőforrásigényük, mint a heurisztikus keresésnek.Hátránya: tevékenységükből adódóan sok téves riasztást is adnak.Az újabb és újabb vírusvédelmi technológiák bevezetésével azonban ezek száma fokozatosancsökken.

5. Sértetlenség ellenőrzők:Egy adatbázist állítanak fel a rendszerben található összes állományról. Egy állománymegfertőződése esetén a programkód is módosul, így az adatbázisban tárolt leírójától eltérőképet mutat. Az adatbázis valós állapottal történ összehasonlítása tehát azt eredményezi, hogybármilyen módosítás azonnal nyilvánvalóvá válik. Azonban az állományokat nem csakrosszindulatú tevékenység módosíthatja. Sok alkalmazás módosíthatja saját kódját, nembeszélve arról az esetről, amikor a felhasználó szándékosan írja felül egy program tartalmát,mondjuk egy rendszerfrissítés alkalmával. Az ilyen esetek rengeteg téves riasztáshozvezetnek, amelyek a felhasználót az adatbázis folyamatos frissítésére ösztönzik.Előnye: még ismeretlen vírusok esetén is az esetleges vírusfertőzés rögtön kimutatható.Hátránya: az adatbázis sérülése esetén képtelenek eredményt felmutatni, tehát egy célzotttámadás után ez a védelem hatástalanítható.A különbözőeljárások önmagukban kevesek a számítógép megfelelővédelmére, ezértleggyakrabban kombinálva használják a víruskeresőszoftverek.

Fájlrendszerek védelme:1. On access keresők:A számítógép indítása után betöltődnek a memóriába, és a konfiguráláskor beállítottparaméterekkel végzik a keresést. Az ilyen típusú rendszerek a használatba vett lemezek bootszektorát, és az összes megnyitott, futtatott és másolt állományt is figyelik, különös figyelmetfordítva a megnyitott dokumentumokra. Manapság, amikor egyre rohamosabban terjednek amakróvírusok, erre szükség is van. Az elindított programok ellenőrzésekor nem csak azazonosító sztringeken alapuló ellenőrzéseket végeznek, hanem legtöbbször a viselkedésüket iselemzik. Sajnos az állandó vizsgálat és viselkedéselemzés meglehetősen erőforrás-igényes.

Page 84: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 3 -

2. Ad hoc keresők:Ezek a rendszerek az indítást a felhasználó kezébe adják, így a folyamatos és automatikusellenőrzés hiányában megnőa fertőződés valószínűsége, használatuk mégis indokolt éscélszerű. A folyamatos ellenőrzéssel szemben sokkal kisebb az erőforrásigényük. A DOS alól,vagy parancssorból indítható programok sajátossága, hogy paraméterezéssel, vagykonfigurációs fájlon keresztül kell megadni a programok számára az ellenőrzendőlemezterületeket, valamint a keresési paramétereket. Ezek jó része ma már tömörítettállományokba becsomagolt fájlok vírusellenőrzését is képes elvégezni, ha ezt a megfelelőkapcsolóval kérjük. A legtöbb mai víruskeresőprogramnak van Ad hoc (On demand) típusúváltozata.

Levelezések védelme:Nagyvállalatok és nagy létszámú szervezetek számára fontos lehet a levelezés védelme,ugyanis egy programféreg akár teljesen le is béníthatja a belsőés külsőlevelezőrendszert, ésszámos más kellemetlen mellékhatása is lehet.A szerver oldalon telepített antivírus programnak az előnyös tulajdonsága, hogy bár ugyanúgyerőforrásokat köt le, mint a kliens oldalon telepített szoftverek, de ezt jótékonyan el tudjákrejteni a felhasználók elől. Továbbá, ha egy fertőzött levél több címre is megy, már az elsőelőfordulásnál is blokkolni lehet, így sok felesleges adatforgalmat spórolhatunk meg.A megbízható és kézben tartható működés, mérsékelt hardverigény, valamint a vírusokkalszemben mutatott fokozott ellenálló képesség miatt sok vállalatnál és iskolában Linux alapúlevelezőrendszert valósítanak meg, függetlenül attól, hogy a munkaállomásokon milyenplatformok vannak telepítve.A kisebb-nagyobb biztonsági rések elkerülése érdekében elmaradhatatlan a programrendszeres karbantartása, és az adatbázis frissítése. Ez a folyamat szintén automatizálható és afejlesztők weboldaláról emberi közbeavatkozás nélkül is telepíthetők a frissítőcsomagok.Nem szabad azonban elfeledkezni a kliens oldal biztosításáról sem. Sok esetben kódolt,titkosított formában érkeznek elektronikus levelek, köztük a fertőzéseket hordozók is. Ezekvírusellenőrzése nem oldható meg másképpen. Sok népszerű levelezőrendszerhezkifejlesztettek ilyen célt szolgáló kiegészítést.

Page 85: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 1 -

13. Szoftverfejlesztési módszertanok,az alapvetőszoftvergyártási modellek.

Példa: az Unified Process alapjai.

1. Szoftverfejlesztési módszertanok:A szoftverfejlesztési módszertanok olyan strukturált szoftverfejlesztési módszerek, amelyektartalmaznak rendszermodellezőeszközöket, jelölési konvenciót, szabályokat és tervezésiajánlásokat, valamint fejlesztési útmutatót.

· Modell leírások: A létrehozandó rendszer grafikus modelljeinek leírása.· Szabályok: A rendszermodellekre vonatkozó kényszerek.· Ajánlások: A helyes tervezési megoldásokra vonatkozó tanácsok.· Fejlesztési útmutató: A modellfejlesztés során végrehajtandó tevékenységek sorozata.

2. Alapvetőszoftvergyártási modellek:a.) Vízesés modell:

Jellemzői:- Élesen elkülönülőspecifikációs és fejlesztési fázisok.- A szoftverfejlesztés lépcsőin sorban végigmegy, és a következőlépcsőre akkor

lép, ha az előzőfeladatot elvégezte.- A vízesés modellt főleg nagy rendszerek fejlesztése során használják, ahol a

fejlesztés több helyszínen történik.

1. ábra: a vízesés modell fázisaiElőnyös:

· ha egyszerű, érthetőa feladat.· ha jól definiálható a környezet.· ha kevés újrafelhasználható komponens látszik.

Problémák:· a valós projektek ritkán követnek szekvenciális modellt.· a projekt elején meglévőkezdeti bizonytalanságot nem tudja kezelni.· nagyon későn lát a megrendelőműködőprogramot.· nincs tapasztalat a fejlesztés közben.· nem támogatja az újrafelhasználhatóságot.

Page 86: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 2 -

b.) Evolúciós modell:Főjellemző: a specifikáció, fejlesztés és validáció átlapolódik.

Gyorsan elkészítenek egy előzetes verziót, majd a későbbiek folyamán eztfejlesztik tovább a követelményeknek megfelelően.

Kétféle megközelítés:· Kísérletezőfejlesztés:

Cél: a megrendelővel együtt egy kezdeti durva specifikációból a véglegesrendszert kialakítani. A biztos követelményekből kiindulva a megrendelőigényei szerint újabb funkciókkal bővíthetőa rendszer.

· Eldobható prototípus:Cél: a homályos követelmények tisztázása. A legkevésbé kiforrottkövetelményekből indul, hogy tisztázza a valós igényeket.

2. ábra: evolúciós fejlesztés fázisai

Alkalmazhatóság:· kis- és középméretűinteraktív rendszerek.· nagy rendszerek részegységei (pl. felhasználói felület).· rövid élettartamú rendszerek.

Előnyös:· ha gyorsan kell elkészíteni egy használható verziót.· amikor a felhasználói igények nincsenek pontosan definiálnva.· ha viszonylag kis termékről van szó.

Problémák:· a fejlesztés nem átlátható.· a rendszerek gyakran rosszul struktúráltak.· pazarlás, ha az előzetes verziót eldobjuk.

Page 87: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 3 -

c.) Komponens alapú fejlesztés:Főjellemző: a rendszer összeállításához kész komponenseket használunk fel.

Szisztematikus újrafelhasználáson alapul. A rendszereket már létező, vagykészen vásárolható (COTS) rendszerekből építjük fel.

3. ábra: komponens alapú fejlesztés fázisai

Előnyös:· költség és határidőnyomás esetén ez a leggazdaságosabb modell.· ha az adott területen vannak felhasználható komponensek.

Hátrányok:· komponensek illesztése nehézkes lehet.· módosítás nehézkes lehet.

3. Rational Unified Process (RUP):Korszerűtervezési modell, amely az UML, és a hozzá kapcsolódó eljárásokból jött létre.Általában 3 nézetet használunk:

· Statikus nézet: a gyártási folyamatokat mutatja.· Dinamikus nézet: a fázisokat az időfüggvényében mutatja.· Gyakorlati nézet: jól bevált gyakorlati útmutató.

A RUP fázisai:· Alapozás: a rendszer számára egy üzleti modell megalkotása.· Kidolgozás: a problématér megértése és a rendszer-architektúra kidolgozása.· Konstrukció: rendszertervezés, programozás és tesztelés.· Átmenet: a rendszer telepítése a működési környezetbe.

Page 88: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 4 -

Diszciplinák: Üzleti modellezés:

Az üzletmenet esettanulmányokkal (use case) való modellezése. Követelmények:

A rendszerrel kapcsolatba lépőaktorok azonosítása. Esettanulmányokkidolgozása a követelmények modellezésére.

Analízis és tervezés:Tervezési modell kidolgozása és dokumentálása architekturális-, komponens-,objektum-, valamint szekvenciális modellek segítségével

Implementáció:Rendszerkomponensek implementálása és alrendszerekké alakítása. A tervezésimodellekből automatikus kódgenerálás segíti ennek a folyamatnak agyorsítását.

Tesztelés:A tesztelés iteratív eljárás amely az implementációval együtt hajtódik végre.A rendszertesztelés az implementáció befejeztével kezdődik.

Telepítés:Egy release készül, amelyet a felhasználóknak terjesztve ott installálnak.

Konfiguráció- és változásmenedzsment:Ez a kiegészítőmunkafolyam menedzseli a rendszeren végrehajtott

Projekt-menedzsment:Ez a kiegészítőmunkafolyam menedzseli a rendszerfejlesztést.

Környezet:Ez a munkafolyam a fejlesztőcsapat megfelelőszoftvereszközökkel valóellátásával foglalkozik.

Page 89: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 1 -

14. Az objektumorientált szoftvertervezés.Főbb tervezési modellek az UML-ben: Statikus modellek,

dinamikus modellek és funkcionális modellek.Alapvetőtervezési minták.

1. Az objektumorientált szoftvertervezés:Objektumorientált tervezésnél a hangsúly a szoftver objektumok definiálásán van, valamintazon, hogy ezek az objektumok hogyan működjenek együtt a követelmények teljesítéseérdekében.

Objektumok: a szoftver rendszer entitásai, amelyek a való világ és a rendszer entitásaitreprezentálják.

Osztály: Az azonos jellegzetességű, egy csoportba tartozó objektumokat csoportosítja.Az osztály egy általános keretet határoz meg, amelyet az objektumok töltenek felkonkrét tartalommal. Az osztályok egy osztály-hierarchiába szervezhetők, ahol egyosztály (szuper-osztály) egy vagy több osztály (al-osztály) általánosítása lehet.Az al-osztály örökli a szuper-osztály attribútumait és operációit, valamint sajátmetódusokat és attribútumokat adhat ezekhez.

Kapcsolat: Az objektumnak el kell érni a vele együttműködőobjektumokat. Az objektumokközötti kommunikációs útvonalakat kapcsolatoknak nevezzük.

Az OOT jellemzői:• Az objektumok a való világ entitásainak reprezentációi, amelyek önmagukat

menedzselik.• Az objektumok önállóak és saját, a külvilág számára közvetlenül nem látható állapottal

rendelkeznek.• Az objektumok üzenetekkel kommunikálnak.

Az OOT előnyei:• Könnyűkezelhetőség. Az objektumok önálló entitásokként foghatók fel.• Az objektumok újrafelhasználható komponensek.

2. Főbb tervezési modellek az UML-ben:Az UML (Unified Modeling Language) az objektumorientált programozás szabványosspecifikációs nyelve.Az UML grafikus jelöléseket használ a rendszerek absztrakt modelljének leírására.A szabványos UML jelölést használó diagramokat UML modelleknek nevezzük.

2.1. Statikus modellek:Arra ad választ, hogy a probléma megoldása során mivel történik valami.

a.) Osztálydiagram:• Az alkalmazás strukturális szerkezetét írja le.• Az osztályokat, valamint a közöttük levőviszonyokat ábrázolja.• Nem a felhasználó, hanem a fejlesztőszámára készül.Ábrázolás:• Az objektum-osztályokat téglalapok jelképezik, amelyben a név felül, a tulajdonságok

(attribútumok) középen, a metódusok pedig az alsó részben helyezkednek el.

Page 90: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 2 -

• Az objektum-osztályok közt alulról (alosztály) felfelé (szuperosztály vagy alosztály)nyilak jelölik az általánosítást.

Attribútum: Az objektum tulajdonságát írja le. Az osztály attribútumai tulajdonképpenegy „űrlapot” definiálnak, amelyet az osztályba tartozó objektumoktöltenek fel konkrét értékkel.

Művelet: Az objektumok viselkedését írja le. Olyan eljárás, amellyel lekérdezhetők vagymódosíthatók az objektum tulajdonságai.

Metódus: Adott objektum esetén minden művelethez tartozik egy utasítássorozat,amelyet metódusnak nevezünk. A metódus a művelet konkretizálása.A művelet és a metódus között típus-példány kapcsolat van.

Attribútumok megadása: attribútumnév: típus = kezdeti értékTípus: a lehetséges értékeket határozza meg.Kezdeti érték: megadása nem kötelező.

Műveletek megadása: műveletnév(paraméterek) : típus

b.) Az objektumdiagram:• Az osztálydiagram egy példányát mutatja be.• Az objektumdiagram segítségével szemléltethetjük az alkalmazás adott időpillanatban

felvett állapotának bizonyos részleteit.Jelölhetjük az attribútum-értékeket, a közöttük fennálló kapcsolatokat.

• Csomópontjai az objektumok, élei pedig az objektumok közötti összekapcsolások.• Tetszőleges objektum ábrázolása esetén a kettőspont előtti helyet üresen hagyjuk.• Megadhatók az attribútumok és a műveletek a konkrét értékekkel. Az összetett

értékeket zárójelek között adjuk meg.

Az objektumdiagram:

Page 91: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 3 -

2.2. Dinamikus modellek:a.) Állapot-diagramok:

Az állapotdiagram olyan gráf, amelynek csomópontjai az objektum állapotai, élei pedigaz események hatására bekövetkezőátmenetek. Az állapotot lekerekített doboz jelöli,benne az állapot megnevezésével. Az átmenetet egy irányított él írja le, amely aztjelképezi, hogy az átmenethez tartozó esemény hatására az objektum mely állapotbólmelyik másikba kerül.Egy állapotdiagram mindig az egész osztály viselkedését írja le.

Események három fázisa:· Egy entry fázis, amely elindítja azt az eseményt, eseménysorozatot, amelynek hatására

létrejön egy eseményhez rendelt állapot.· Egy event fázis, amely az adott állapothoz kötődőbelsőállapotokat jelenti.· Egy exit fázis, amely az esemény befejezését, a hozzá rendelt állapotból való kilépést

eredményezi.

b.) Szekvencia-diagram:Az objektumok közötti üzenetváltások időbeli menetét szemlélteti. Az objektumokközötti interakciókat követi nyomon, időrendi sorrendben. Hasonló az együttműködési-diagramhoz, azonban a főhangsúlyt az időre, az időrendi sorrendre helyezzük.Osztályszerep jelölése: <szerep neve>:<osztály neve>

A nyilakra ráírhatjuk az üzenet nevét és feltüntethetjük az időtartamot is.

2.3. Funkcionális modellek:a.) 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 (rész - egé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.

Üzenetek típusai:

Page 92: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 4 -

b.) Az adatfolyam-diagram leírja:• a vizsgált rendszer be- és kimenõ adatait,• a rendszerben tárolt adatokat,• az egyes adatokon végzett műveleteket.

Adatfolyam-diagram elemei:Folyamat: Eljárásokat jelölnek, amelyek a rendszer azon tevékenységei, amelyek

az információ-átalakítást végzik. Téglalappal jelöljük, amelynek balfelsősarkában van az azonosító: ez egy szám. Jobb felsősarkában aszervezeti egység neve van, ami a végrehajtásért felelős. Az alsórészben a folyamat megnevezése található: egy tevékenységet kell,hogy jelöljön.

Adatfolyam: Ezen keresztül áramlanak az adatok a diagram elemei között.Adattár: Jobbról nyitott, keskeny téglalap jelképezi az adattárakat.

Az adattárakat azonosítóval látjuk el, ezeket a bal oldali kis négyzetbekell írni. Betűből és számból állnak. M betűjelöli a manuális adattárat, Da számítógépeset.

Folyamat Adatfolyam Adattár

c.) Aktivációs-diagram: A tevékenységek és az objektumok egymásra gyakorolt hatását fejezi ki

(vezérlések, rendszerfunkciók). Az aktivációs diagram a probléma megoldásának lépéseit szemlélteti, a

párhuzamosan zajló vezérlési folyamatokkal együtt. Az aktivációs diagram az állapotdiagram egy változatának is tekinthető, amelyben

az állapotok helyére a végrehajtandó tevékenységeket tesszük, és az átmenetek atevékenységek befejezésének eredményeként valósulnak meg.

Kétfajta aktivációs diagramot szokás megkülönböztetni az életfolyam alapút(lásd Példa#1) és a sávos alapút (Példa#2).

Page 93: tételsor 2009 04 27 - hollosy.huhollosy.hu/public/zarovizsga/03 - {93} - Informatika.pdf · Számítógép-hálózatok 7. A fizikai és az adatkapcsolati réteg jellemzése, legfontosabb

- 5 -

Életfolyam alapú aktivációs-diagram Sávos alapú aktivációs-diagram

3. Alapvetőtervezési minták:Általánosan:

- Sémák, amelyek jól kipróbált megoldásokat tartalmaznak tipikus tervezésirészfeladatokra.

- Javasolt elvek gyűjteménye, „szótára”.- Kritikus kérdések:

· Hogyan kell a működéshez szükséges részfeladatokat objektumosztályokhozrendelni?

· Hogyan működjenek együtt az objektumok?