1. előadás. Elosztott rendszerek. 1. Bevezetés
|
|
- György Fábián
- 5 évvel ezelőtt
- Látták:
Átírás
1 1. előadás Elosztott rendszerek 1. Bevezetés
2 Az előadás Tankönyv: Andrew S. Tanenbaum Maarten van Steen: Elosztott Rendszerek Alapelvek és Paradigmák
3 Az elosztott rendszer definíciója Az elosztott rendszer az önálló számítógépek olyan összessége, amely kezelői számára egyetlen koherens rendszernek tűnik.
4 Köztesrétegként felépülő elosztott rendszer 1.1
5 Célok Felhasználók és erőforrások összekapcsolása Átlátszóság Nyitottság Átméretezhetőség
6 Felhasználók és erőforrások összekapcsolása Távoli erőforrások elérése Más felhasználókkal ellenőrzött módon való megosztás
7 Átlátszóság az elosztott rendszerekben Átlátszóság Hozzáférhetőség (Access) Elhelyezkedés (Location) Áthelyezhetőség (Migration) Mozgathatóság (Relocation) Többszörözhetős ég (Replication) Egyidejűség (Concurrency) Meghibásodás (Failure) Állandóság (Persistence) Leírás Elrejti az erőforrás elérésének mikéntjét és az adatábrázolási különbözőségeket. Elrejti az erőforrás fizikai elhelyezkedését. Elrejti az erőforrás más helyre való áthelyezhetőségét. Elrejti a használatban lévő erőforrás más helyre való mozgathatóságát. Elrejti az erőforrás többszörözöttségét. Elrejti az erőforrás több versenyhelyzetű felhasználó közötti megoszthatóságát. Elrejti az erőforrás meghibásodását és újbóli üzembe helyezését. Elrejti, hogy a (szoftver) erőforrás a memóriában vagy a háttértárolón van-e.
8 Nyitottság Szolgáltatások jól definiált szintaktikai és szemantikai szabályoknak megfelelően Együttműködés Hordozhatóság A megvalósítás és a módszer szétválasztása
9 Átméretezhetőségi problémák Koncepció Központosított szolgáltatás Központosított adat Központosított algoritmus Példa Egy kiszolgáló minden felhasználó számára Egyetlen on-line telefonkönyv adatbázis A teljes információn alapuló útválasztás Mintapéldák az átméretezhetőség korlátaira
10 Decentralizált algoritmusok Egyetlen gépnek sincs teljes információja a rendszer állapotáról. A gépek kizárólag helyi információk alapján hoznak döntéseket. Egyetlen gép meghibásodása sem okozza az algoritmus leállását. Még közvetett módon sem feltételezi bármiféle globális óra meglétét.
11 Az átméretezés technikája (1) 1.4 Miként különbözik a) a szerver, vagy b) a kliens által végzett űrlap ellenőrzés az űrlap kitöltése közben
12 Az átméretezés technikája (2) 1.5 Példa a DNS-névtér zónákra osztása
13 Szoftverkoncepciók Rendszer Leírás Fő cél DOS (Distributed Operating Systems) NOS (Network Operating Systems) Köztesréte g Többprocesszoros és homogén multiszámítógépek szorosan csatolt operációs rendszere Heterogén multiszámítógépek (LAN és WAN) gyengén csatolt operációs rendszere A NOS fölötti, általános célú szolgáltatásokat implementáló újabb réteg Hardvererőforráso k elrejtése és kezelése Helyi szolgáltatások távoli kliensek számára elérhetővé tétele Elosztottsági átlátszóság biztosítása
14 Egyprocesszoros operációs rendszerek Az operációs rendszer és az alkalmazások elválasztása a mikrokernel használatával
15 Többprocesszoros operációs rendszerek (1) monitor Counter { private: int count = 0; public: int value() { return count;} void incr () { count = count + 1;} void decr() { count = count 1;} } Az egész számot az egyidejű eléréstől megvédő monitor
16 Többprocesszoros operációs rendszerek (2) monitor Counter { private: int count = 0; int blocked_procs = 0; condition unblocked; public: int value () { return count;} 0) } void incr () { if (blocked_procs == void decr() { if (count ==0) { blocked_procs = blocked_procs + 1; wait (unblocked); blocked_procs = blocked_procs 1; count = count + 1; count = count 1; else } signal (unblocked); } Egyidejű elérés ellen védett egész számot megvalósitó monitor, amely képes blokkolni a hívó folyamatokat } else
17 Multiszámítógépes operációs rendszerek (1)
18 Multiszámítógépes operációs rendszerek (2) A blokkolás és a pufferelés lehetséges esetei üzenetátadáskor
19 Multiszámítógépes operációs rendszerek (3) Szinkronizációs pont Küldő puffer Megbízható-e a kommunikáció? Küldő blokkolása amíg a puffer tele Van Nem feltétlenül Küldő blokkolása az üzenet elküldéséig Küldő blokkolása az üzenet megérkezéséig Küldő blokkolása az üzenet kézbesítéséig Nincs Nincs Nincs Nem feltétlenül Kötelezően Kötelezően A blokkolás a pufferelés és a megbízható kommunikáció összefüggése
20 Elosztott, közös memóriájú rendszerek a) A címtartomány lapjainak elosztása négy gép között b) A kialakult helyzet, miután CPU 1 a 10. lapra hivatkozott c) A kialakult helyzet, ha a 10. lap csak olvasható, és többszörözést is használunk
21 Hálózati operációs rendszerek (1) A hálózati operációs rendszer általános felépítése
22 Hálózati operációs rendszerek (2) Egy szerver és két kliens a hálózati operációs rendszerben.
23 Hálózati operációs rendszerek (3) A különböző kliensek a szervereket különböző helyre Szerelhetik fel.
24 A köztesréteg helyének kiválasztása A köztesrétegként megvalósított elosztott rendszer általános felépítése.
25 A köztesréteg és a nyitottság A nyitott köztesréteg alapú elosztott rendszerben mind a köztesrétegek által használt protokollnak, mind pedig az alkalmazásokhoz kapcsolható interfészüknek meg kell egyeznie.
26 A rendszerek összehasonlítása Szempont Átlátszóság foka Azonos operációs rendszer minden csomóponton? Operációs rendszer másolatok száma Kommunikáció alapja Erőforráskezelés Elosztott operációs rendszer Többpro - cesszoro s Nagyon magas Multiszámí -tógépes Hálózati operációs rendszer Köztesréteg alapú elosztott rendszer Magas Alacsony Magas Igen Igen Nem Nem 1 N N N Közös memória Globális, központi Üzenetek Állományok Modellfüggő Globális, elosztott Csomópontonként Csomópontonként Átméretezhetőség Nincs Közepes Igen Változó Nyitottság Zárt Zárt Nyitott Nyitott
27 2. előadás Kommunikáció 1. rész
28 Kommunikáció A és B folyamatnak meg kell egyeznie a bitek jelentésében Szabályok protokollok ISO OSI Többrétegű protokollok előnyei Kapcsolat-orientált / kapcsolat nélküli
29 Protokollrétegek (1) Az OSI-modell szintjei, interfészei és protokolljai.
30 Protokollrétegek (2) A hálózaton megjelenő tipikus üzenet szerkezete.
31 Fizikai réteg 0/1 átvitelének módjai Feszültség, küldés sebessége, stb. Adatkapcsolati réteg Meghibásodást fedi el Adatkeretek Ellenőrző összeg
32 Adatkapcsolati réteg (2) A küldő és a fogadó közötti párbeszéd az adatátviteli rétegben.
33 Útvonalválasztás IP Internet Protocol Hálózati réteg Szállítás Csomagok elveszhetnek Megbízható kapcsolatot épít TCP Transmission Control Protocol UDP Universal Datagram Protocol RTP Real-time Transport Protocol
34 Kliens-szerver TCP a) A TCP normál működése b) Tranzakciós TCP
35 Viszony- és megjelenítési rétegek Párbeszéd vezérlése Bitek jelentése Alkalmazási réteg FTP File Transfer Protokoll vs. ftp-program Köztesréteg-protokoll
36 Köztesréteg protokoll (1) Logikailag az alkalmazási rétegbe tartozik, de tartalmaz általános célú protokollokat Köztesréteg szolgáltatásait támogató protokollok Azonosító Jogosultságok Véglegesítő protokoll Elosztott zárolási protokoll Magas szintű kommunikációs szolgáltatások: RPC, RMI
37 Köztesréteg protokoll (2) A hálózatos kommunikáció módosított hivatkozási modellje.
38 RPC Remote Procedure Call Elrejti a kommunikáció tényét Hagyományos eljáráshívás count = read(fd, buf, nbytes); Érték szerinti / hivatkozás szerinti paraméterátadás
39 Hagyományos eljáráshívás a) Paraméter-átadás helyi eljáráshívás esetén: a verem állapota a read függvény meghívása előtt b) A verem állapota a hívott eljárás futása közben
40 Kliens- és szerveroldali eljáráscsonkok A kliens és a szerver közötti távoli eljárás hívásának (RPC) alapelve.
41 Távoli eljárás hívása során végrehajtandó lépések 1. A kliensfolyamat hagyományos módon meghívja a kliensoldali eljáráscsonkot. 2. A csonk felépíti az üzenetet, és meghívja a helyi op. rsz.-t. 3. A kliensoldali op. rsz. elküldi az üzenetet a távoli op. rsz.-nek. 4. A távoli op. rsz. átadja az üzenetet a szerveroldali eljáráscsonknak. 5. A csonk kicsomagolja a paramétereket és meghívja a szervert. 6. A szerver elvégzi a feladatát, és visszaadja az eredményt a csonknak. 7. A csonk becsomagolja az eredményt, és meghívja a helyi (szerveroldali) op. rsz.-t. 8. A szerveroldali op. rsz. elküldi az üzenetet a kliensoldali op. rsz.-nek. 9. A kliensoldali op. rsz. átadja az üzenetet a kliensoldali csonknak. 10. A csonk kicsomagolja az eredményt, és visszatér a hívó kliensfolyamathoz
42 Paraméterek átadása (1) Az RPC útján történő távoli feladatvégzés során szükséges lépések.
43 Paraméterek átadása (2) a) Az eredeti üzenet a Pentium gépen. b) Az üzenet, miután megérkezik a SPARC gépre. c) Az invertált üzenet (a dobozok felső sarkában látható kis számok a bájt sorszámát jelentik).
44 A paraméterek leírása és a csonk generálása
45 Elosztott objektumok A távoli objektum elterjedt kialakítása a kliensoldali helyettes (proxy) alkalmazásával
46 3. előadás Kommunikáció 2. rész
47 Protokollok RPC (Remote Procedure Call) távoli eljáráshívás RMI (Remote Method Invocation) távoli metódushívás MOM (Message-Oriented Middleware) üzenetorientált köztesréteg Streams folyamatok
48 Távoli eljáráshívás - Üzenetküldés elrejtése - Hozzáférési átlátszóság
49 RPC kommunikáció menete 2-8
50 RPC - paraméterátadás Probléma: különböző gépek, különböző adatábrázolással Mutatók Komplex adatszerkezetek => protokoll: Üzenet formátumának definiálása Egyszerű adatszerkezetek ábrázolása Üzenettovábbítás módja IDL (Interface Definition Language)
51 DCE RPC (1) Distributed Computing Environment Konverzió IDL Eljáráshívás szintaxisa Konstans deklaráció Típusdefiníció konvertálási információ Azonosítók
52 DCE RPC (2) Kliens és a szerver megírásának lépései a DCE RPC esetén.
53 DCE RPC (3) Kliens csatlakozása a szolgáltatáshoz
54 Ajtók - Doors
55 Aszinkron RPC a) A kliens és a szerver együttműködése hagyományos RPC során b) Együttműködés aszinkron RPC esetén
56 Késleltetett szinkronizált RPC Kliens és szerver együttműködése két aszinkron RPC segítségével.
57 RMI elosztott objektumok Modell kliensoldali helyettessel és szerveroldali vázzal.
58 RMI Elosztott objektum Távoli objektum Fordítási idejű objektum Futási idejű objektum Állandó objektum Nem állandó objektum
59 Kliens csatlakozása az objektumhoz Distr_object* obj_ref; obj_ref = ; obj_ref-> do_something(); (a) Distr_object objpref; Local_object* obj_ptr; obj_ref = ; obj_ptr = bind(obj_ref); obj_ptr -> do_something(); (b) // Deklarálja az objektumhivatkozást // Inicializálja az objektumhivatkozást // Implicit csatlakozás és metódushívás // Deklarálja az objektumhivatkozást // Deklarálja a helyettes mutatóját // Inicializálja az objektumhivatkozást // Explicit csatlakozás (helyettes mutatója) // Helyetes metódusának meghívása a) Implicit csatlakozás b) Explicit csatlakozás
60 RMI távoli művelet hívása Statikus hívás - IDL -> csonk fobject.append(number); Dinamikus hívás - futás közbeni összeállítás invoke(fobject, id(append), number); [ általánosan: invoke(objektum, metódus, input_paraméterek, output_paraméterek); ]
61 Java RMI Csak távoli objektum Objektumok zárolása synchronized kliensen blokkol Helyettes szerializálható
62 Üzenetorientált kommunikáció RPC, RMI nem mindig használható: Szerver nem biztos, hogy üzemel a kérés elküldésekor Nem mindig hatékony a nagyfokú szinkronitás => üzenetcsere
63 Korábbi kommunikációs modell Pufferelés és a küldő blokkolásának lehetséges helyei
64 Új kommunikációs modell
65 Üzenetküldés Megtartó kommunikáció Időleges kommunikáció Szinkron kommunikáció Aszinkron kommunikáció Ezek kombinációja is lehetséges
66 Kommunikáció fajtái 1. a) Megtartó aszinkron kommunikáció b) Megtartó szinkron kommunikáció
67 Kommunikáció fajtái 2. c) Időleges aszinkron kommunikáció d) Nyugta alapú időleges szinkron kommunikáció
68 Kommunikáció fajtái 3. e) Kézbesítés alapú időleges szinkron kommunikáció f) Válasz alapú időleges szinkron kommunikáció
69 Üzenetorientált időleges kommunikáció Szállítási réteg által biztosított modell Kommunikációs csatlakozópont (socket) TCP primitívek
70 Berkeley kommunikációs csatlakozópontok Primitív Csatlakozópont (Socket) Kötés (Bind) Figyel (Listen) Elfogad (Accept) Csatlakozik (Connect) Küld (Send) Fogad (Receive) Lezár (Close) Jelentése Új kommunikációs végpont létrehozása A csatlakozóponthoz hozzárendel egy helyi címet Meghirdeti a kommunikációra való képességet Blokkolja a hívót a kapcsolatfelvételi kérés megérkezéséig Aktívan megkísérli a kapcsolat felépítését Adatot küld a kapcsolaton keresztül Adatot fogad a kapcsolaton keresztül Bontja a kapcsolatot
71 Berkeley kommunikációs csatlakozópontok
72 MPI Üzenetátadó interfész Message-Passing Interface Csatlakozóponos megoldás nem eléggé magas szintű => kommunkációs könyvtárak inkompatibilitás => MPI (szabványosítás) Időleges kommunikáció Azonosító (csoport, folyamat)
73 MPI Üzenetátadó interfész Primitív MPI_bsend MPI_send MPI_ssend MPI_sendrecv MPI_isend MPI_issend MPI_recv MPI_irecv Jelentése A helyi küldőpuffer végéhez hozzáadja a kimenő üzenetet Üzenetet küld, és vár annak helyi vagy távoli pufferbe történő másolásáig Üzenetet küld, és vár a nyugta megérkezéséig Üzenetet küld, és vár a válasz megérkezéséig Átad egy kimenő üzenetre mutató hivatkozást, és továbbmegy Átad egy kimenő üzenetre mutató hivatkozást, és várja ennek nyugtázását Üzenet fogadása; blokkolódik, ha nincs üzenet Ellenőrzi, hogy van-e beérkező üzenet, de nem blokkolja a hívót
74 Üzenetorientált megtartó kommunikáció Üzenetorientált köztesréteg MOM Megtartó aszinkron kommunikáció Üzenetek köztes szinten való tárolása (várakozási sorok)
75 Üzenetsor-kezelő modell Várakozási sort használó gyengén csatolt kommunikáció 4 lehetősége
76 Üzenetsor-kezelő modell Primitív Betesz (Put) Kivesz (Get) Lekérdez (Poll) Értesít (Notify) Jelentése A megadott várakozási sor végére helyez egy üzenetet Mindaddig blokkol, amíg üres a várakozási sor, majd kiveszi a legelső üzenetet Megvizsgálja, a megadott várakozási sort, és kiveszi a legelső üzenetet, nem blokkol Egy kezelő rutint installál, amely mindannyiszor meghívásra kerül, ha üzenet kerül a várakozási sorba Az üzenetsor-kezelő rendszer várakozási sorát kezelő alapinterfész
77 Az üzenetsor-kezelő rendszer általános felépítése Az üzenetsor-kezelő szint szerinti és szállítási szint szerinti cím összefüggése
78 Az üzenetsor-kezelő rendszer általános felépítése Az útválasztókkal kiépített üzenetsor-kezelő rendszer általános felépítése
79 Üzenetközvetítők Az üzenetközvetítőt használó üzenetsor-kezelő rendszer általános felépítése
80 4. előadás Kommunikáció 3. rész Folyamatok 1. rész
81 Kommunikáció 3. rész Adatfolyam-orientált kommunikáció
82 Kommunikáció típusok (1) Diszkrét interakció A B idő Folyamatos interakció A < B idő
83 Kommunikáció típusok (2) Eddig: egymástól független, teljes információegységek cseréje kommunikáció lezajlásának pillanata nem fontos Most: időzítés pontossága alapvető fontosságú folyamatos média támogatása Hogyan támogatja ezt az elosztott rendszer?
84 Média Diszkrét (ábrázolású) média pl. szöveg, kép Folyamatos (ábrázolású) média: pl. hang, videó Multimédia Folyamatos képsor biztosítása Quality of Service Átlátszóság Standardok
85 Folyamok (Streams) Adategységek sorozatának átviteli módjai: aszinkron szinkron izoszinkron Folyam Egyszerű folyam (Simple Stream) Összetett folyam (Complex Stream) több egymással kapcsolatban álló egyszerű folyam alfolyamok közötti kapcsolat szintén időfüggő
86 Movie, mint összetett folyam
87 Adatfolyam (1) Két folyamat között a hálózaton keresztül létesített folyam.
88 Adatfolyam (2) Közvetlenül két eszközt összekötő folyam.
89 Adatfolyam (3) Példa egy műsorszóró folyam több fogadó felé való küldésére.
90 Multimedia Rendszer-környezet (Multimedia System Environment)
91 Technológiai adatok Multimédia forrás Mbit/s GB/h Telefon (PCM) MP Audió CD MPEG-1 videó MPEG-2 videó Digitális kamera (720*480) Tömörítetlen TV (640*480) Eszköz Mbit/s Fast Ethernet 100 EIDE Disk 133 ATM OC SCSI Ultra wide disc 320 IEEE 1394 (FireWire) 400 Gigabit Ethernet SCSI Ultra Tömörítetlen HDTV (1280*720)
92 A szolgáltatás minősége QoS Quality of Service Időfüggő követelmények mit várunk el a hálózattól Folytonos adatfolyamok esetén időzítési mennyiségi és megbízhatósági kérdések
93 QoS kategóriák Időbeliség (timeliness) adatnak időben kell megérkeznie Mennyiség (volume) áteresztőképesség (throughput) Megbízhatóság (reliability) adatvesztés mértéke Költség (cost) Kritikusság (criticality) Érzékelés minősége (quality of perception)
94 QoS dimenziók Időbeliség dimenziói Késleltetés (latency) Kezdeti késleltetés (start-up latency) Remegés (jitter) Mennyiség dimenziói sávszélesség frames/s vagy bits/s vagy bytes/s Megbízhatóság dimenziói MTBF (Mean Time Between Faliure) MTTR (Mean Time To Repair) Telekommunikációs vonalak esetén a hiba-ráta
95 Qos követelmények megadása Determinisztikus - folyamspecifikáció precíz értékek, értékhatárok Valószínűségi (probabilistic) valószínűségi értékek a QoS-re Eloszláson alapuló (stochastic distributions) Minőségi osztályok
96 Tipikus QoS követelmények QoS Max késleltetés (s) Max remegés (ms) Sávszélesség (Mbit/s) Bit hiba-ráta Csomag hiba-ráta Hang < 10-3 < 10-4 Videó (TV) < 10-2 < 10-3 Tömörített videó < 10-6 < 10-9 Kép < 10-4 < 10-9 Adat (file-átvitel) Valós-idejű adat <
97 A QoS meghatározása zsetontartály algoritmus (1) A zsetontartály-algoritmus elve.
98 A QoS meghatározása zsetontartály algoritmus (2) Bemeneti adatok jellemzői Adategység maximális mérete (bájt) Zsetontartály időegységráta (bájt/s) Zsetontartály mérete (bájt) Maximális átviteli adatráta (bájt/s) Megkövetelt szolgáltatások Veszteségi érzékenység (bájt) Veszteségi időtartam (µs) Löketveszteségi érzékenység (adategység) Legkisebb észlelt készleltetés (µs) Legnagyobb késleltetési eltérés (µs) Szavatolt minőség Folyamspecifikáció.
99 QoS függőségek Egy komponens által nyújtott QoS függhet egy másik komponens által nyújtott QoS-től pl. rétegelt rendszerekben QoS igények megfogalmazásának egy rendszere
100 QoS működtetése Specifikáció Tárgyalás (negotiation) az alkalmazás kevesebbet is elfogadhat kevesebb költségért Beléptetés (admission control) ha belépett, a rendszer garantálja a QoS-t Erőforrás-lefoglalás ha szükséges a QoS betartásához
101 A folyam megindítása QoS-nek megfelelő erőforrások lefoglalása sávszélesség puffer feldolgozási kapacitás Erőforrás lefoglaló protokoll (RSVP Resource reservation Protocol) QoS fogadó által kezdeményezett beléptetés, lefoglalás multicast üzenetküldés támogatása
102
103 A folyam megindítása Az RSVP-módszerrel történő erőforrás-lefoglalás általános vázlata az elosztott rendszerben.
104 Szinkronizálási mechanizmusok (1) Az adategység szintjén történő explicit szinkroniálás elve.
105 Szinkronizálási mechanizmusok (2) A magas szintű interfészek által támogatott szinkronizáció elvi vázlata.
106 Folyamatok 1. rész
107 Folyamatok Folyamat kezelése, ütemezése folyamattábla új folyamat létrehozása átkpcsolás folyamatok elválasztása egymástól átlátszó Szál szálkezelő rendszer szálak védése egymástól a programozó feladata
108 Szálak használata a nem elosztott rendszerekben Az IPC hatására bekövetkező állapotváltozások
109 Szálak implementációja Száltámogató csomagok létrehozás, megsemmisítés szinkronizálás Szálkönyvtár futhat felhasználói módban kernel módban hibrid megoldás: könnyűsúlyú folyamatok (LWP LightWeight Process) LWP: száltámogató csomag felhasználói módban blokkoló rendszerhívás nem blokkolja az egész folyamatot átlátszó
110 Szálak implementációja A felhasználói szintű szálak és a kernel szintű könnyűsúlyú folyamatok kombinációja.
111 Többszálú szerverek (1) A diszpécser/dolgozó modell szerinti többszálú szerver felépítése.
112 Többszálú szerverek (2) Modell Szálak Egyszálú folyamat Véges állapotú gép Jellemzője Párhuzamos végrehajtás, blokkoló rendszerhívások Nincs párhuzamos végrehajtás, blokkoló rendszerhívások Párhuzamos végrehajtás, nem blokkoló rendszerhívások A szerver felépítésének három módja.
113 5. előadás Folyamatok 2. rész Elnevezési rendszerek 1. rész
114 Folyamatok 2. rész
115 Emlékeztető Folyamatok Szálak Könnyűsúlyú folyamatok Szálak nem elosztott rendszerekben rendszerhívásra várakozás alatt hasznos munka többprocesszoros rendszerek kihasználása implementációs okok
116 Többszálú kliens Előnyök: elosztottsági átlátszóság hatékonyság Kliens (tipikus) feladatai: felhasználói felület helyi feldolgozó rész kommunikációs rész + elosztottsági átlátszóság eléréséhez szükséges elemek
117 Kliensoldali szoftver és az átlátszóság Hozzáférhetőségi átlátszóság Elhelyezkedési, áthelyezhetőségi és mozgathatsági átlátszóság Meghibásodási átlátszóság Többszörözhetőségi átlátszóság
118 Többszörözhetőségi átlátszóság megvalósítása kliens-oldalon A távoli objektumtöbbszörözés átlátszóvá tételének egyik lehetséges módja a kliensoldali megoldás használata.
119 Többszálú szerver (1) Előnyök: egyszerűbb kód párhuzamos végrehajtás lehetősége blokkoló rendszerhívás idejének kihasználása Szerver feladatai: várakozik a beérkező kérésekre kezeli a kérést
120 Többszálú szerver (2) A diszpécser/dolgozó modell szerinti többszálú szerver felépítése.
121 Többszálú szerver általános tervezési szempontok Ismétlőszerver <-> konkurens szerver Lehet-e megszakítást küldeni a szervernek Állapot nélküli szerver <-> állapotteljes Hogyan találják meg a kliensek a szervert
122 Hogyan találják meg a kliensek a szervert a) démon használatával (mint a DCE esetén szokásos) b) szuperszerver használatával (mint a Unix-rendszerekben szokásos)
123 Kód áthelyezése A kód áthelyezésének okai: teljesítménynövelés terhelésmegosztási algoritmusok kommunikáció leszorítása adatot ott dolgozzuk fel, ahol van párhuzamos végrehajtás kihasználása rugalmasság
124 A kód áthelyezésének okai A kliens szerverrel folytatott kommunikációjának dinamikus konfigurálási elve. A kliens először letölti a szükséges szoftvert, majd meghívja a szervert.
125 A folyamat szegmensei Kódszegmens végrehajtott program Erőforrásszegmens igényelt külső erőforráshivatkozások Végrehajtási szegmens futási állapot
126 Kódáthelyezési modellek (1) Gyenge mobilitás Erős mobilitás Küldő által kezdeményezett Fogadó által kezdeményezett Gyenge mobilitásnál Célfolyamatban fut Külön folyamatban fut Erős mobilitásnál Áthelyezett folyamat Klónozott folyamat
127 Kódáthelyezési modellek (2) A kódáthelyezés lehetőségei.
128 Az áthelyezés és a helyi erőforrások (1) Folyamat-erőforrás kötés azonosítókapcsolt kizárólag az adott erőforrás kell tartalomkapcsolt az adott erőforrás tartalma kell típuskapcsolt adott típusú erőforrás kell Erőforrás-gép kötés csatolatlan könnyen áthelyezhető rögzített áthelyezhető, de költséges mozdíthatatlan nem helyezhető át
129 Erőforrás-gép kötés Folyamat-erőforrás kötés Azonosítókapcsolt Tartalomkapcsolt Típuskapcsolt Csatolatlan Rögzített Mozdíthatatlan erőforrás áthelyezése (vagy globális hivatkozás létesítése) tartalom másolása (vagy erőforrás áthelyezése vagy globális hivatkozás létesítése) újrakapcsolódás helyileg elérhetőhöz (vagy erőforrás áthelyezése vagy tartalom másolása) globális hivatkozás létesítése (vagy erőforrás áthelyezése) globális hivatkozás létesítése (vagy tartalom másolása) újrakapcsolódás helyileg elérhetőhöz (vagy globális hivatkozás létesítése vagy tartalom másolása) globális hivatkozás létesítése globális hivatkozás létesítése újrakapcsolódás helyileg elérhetőhöz (vagy globális hivatkozás létesítése) Másik gépre való kódáthelyezés során a helyi erőforrásokra való hivatkozásokkal kapcsolatos műveletek.
130 Kód áthelyezése heterogén rendszerben Szükséges az összes platform támogatottsága újrafordítás Erős mobilitásnál végrehajtási szegmens áthelyezhetősége Végrehajtási szegmens tartalma: folyamat által elérhető védett adatok programszámláló értéke folyamat vermének tartalma Lehetséges megoldás: kódáthelyezés csak meghatározott pontokon programvermem másolatának (áthelyezési verem) tárolása gépfüggetlen módon kódáthelyezéskor kód és áthelyezési verem átküldése
131 Kód áthelyezése heterogén rendszerben A végrehajtási szegmens áthelyezhetőségének támogatásához szükséges áthelyezési verem kezelésének elvi vázlata heterogén környezetben.
132 Programozási nyelv által támogatott mobilitás JoCaml Szerver: let def f x = reply x*x in Ns.register "square" f vartype;; Kliens: let loc here do {};; Ns.register "here" here vartype; Join.server ();; let loc mobile do { let here = Ns.lookup "here" vartype in go here; } let sqr = Ns.lookup "square" vartype in let result = sqr 5 in print_string ("square of 5 = "^string_of_int result^"\n"); flush stdout;
133 Elnevezési rendszerek 1. rész
134 Nevek, azonosítók és címek Nevek erőforrások megosztása, entitások egyértelmű azonosítása, helyek megjelölése, stb. Nevek feloldása névszolgáltató rendszer Kapcsolódási pont Helyfüggetlen név Azonosító Emberközeli nevek
135 Névterek (1) Elnevezési gráfok csomópontok gyökér globális név helyi név
136 Névterek (2) Általános elnevezési gráf egyetlen gyökércsomóponttal.
137 Névfeloldás Név visszakeresése Csomópontról csomópontra Kiválasztási mechanizmus
138 Csatolás és felszerelés (1) Az elnevezési gráfban lévő szimbolikus hivatkozás elvének magyarázata.
139 Csatolás és felszerelés (2) Távoli névtér felszerelése adott hozzáférési protokoll segítségével.
140 Csatolás és felszerelés (3) A DEC globális névszolgáltatásának felépítése.
141 6. előadás Elnevezési rendszerek 2. rész
142 A névtér elosztása (1) A DNS-névtér felosztása (három rétegre), amely az interneten keresztül elérhető állományokat is tartalmaz.
143 A névtér elosztása (2) Egység Globális Szervezeti Kezelői Földrajzi átméretezhetőség Világméretű Vállalat szintű Osztály szintű Csomópontok száma Kevés Sok Rendkívül sok Visszakeresés elvárt válaszideje Másodpercek Milliszekundumok Azonnal Frissítési terjedés Ráérősen Azonnal Azonnal Másolatok száma Sok Nincs vagy kevés Nincs Kliensoldali gyorsítótárat használunk? Igen Igen Néha A globális, szervezeti és kezelői rétegbe szervezett nagyméretű névtérben található, csomópontokat implementáló névszerverek összehasonlítása.
144 A névfeloldás implementálása (1) Tegyük fel, hogy a névszervereket nem többszörözzük és nem használunk kliensoldali gyorsítótárat Iteratív névfeloldás kliens több névszerverrel is felveszi a kapcsolatot Rekurzív névfeloldás kliens csak a gyökér-névszerverrel tartja a kapcsolatot root:<nl, vu, cs, ftp, pub, globe, index.txt> (ftp://ftp.cs.vu.nl/pub/globe/index.txt)
145 A névfeloldás implementálása (2) Az iteratív névfeloldás elve.
146 A névfeloldás implementálása (3) A rekurzív névfeloldás elve.
147 A névfeloldás implementálása (4) Feloldandó Átadja a gyereknek Csomópontszerver Visszakeresendő Visszakapja és tárolja cs <ftp> #<ftp> #<ftp> Visszatér az igénylőhöz vu <cs,ftp> #<cs> <ftp> #<ftp> #<cs> #<cs, ftp> nl <vu,cs,ftp> #<vu> <cs,ftp> #<cs> #<cs,ftp> gyökér <nl,vu,cs,ftp> #<nl> <vu,cs,ftp> #<vu> #<vu,cs> #<vu,cs,ftp> #<vu> #<vu,cs> #<vu,cs,ftp> #<nl> #<nl,vu> #<nl,vu,cs> #<nl,vu,cs,ftp> Az <nl, vu, cs, ftp> rekurzív névfeloldása. A névszerverek gyorsítótárba helyezik a köztes eredményeket a későbbi visszakeresés gyorsítása érdekében.
148 A névfeloldás implementálása (5) A rekurzív és az ismétlő névfeloldás során szükséges kommunikáció összehasonlítása.
149 A DNS-névtér (1) Tartományi névszolgáltató rendszer (Domain Name System) Levelezőszerverek és gazdagépek nevének lekérdezése DNS névtér fa címke, teljes név tartomány, tartománynév erőforrásrekordok
150 A DNS-névtér (2) Rekord típusa Kapcsolódó entitás Leírás SOA Zóna A hozzá tartozó zónáról tartalmaz információt A Gazdagép A csomópont által képviselt gazdagép IP-címét tartalmazza MX Tartomány A csomópontnak címzett levelet kezelő szerverre való hivatkozás SRV Tartomány Adott szolgáltatást nyújtó szerverre való hivatkozás NS Zóna A kapcsolódó zónát implementáló névszerverre való hivatkozás CNAME Csomópont Szimbolikus hivatkozás a kapcsolódó csomópont elsődleges nevére PTR Gazdagép A gazdagép teljes nevét tartalmazza HINFO Gazdagép A csomópont által képviselt gazdagépről tartalmaz információt TXT Bármi Hasznosnak gondolt entitásspecifikus információt tartalmaz A DNS-névtér csomópontjainak tartalmát alkotó erőforrásrekordok legfontosabb típusai.
151 A DNS megvalósítása (1) A kezelői réteg nem a DNS része Minden zónát névszerver valósít meg A névszerverek többszörözöttek A zóna frissítését az elsődleges névszerver végzi Zónaátvitel Erőforrás-rekordok
152 A cs.vu.nl zóna DNSadatbázisának részlete A DNS megvalósítása (2)
153 A DNS megvalósítása (3) Név Rekord típusa Rekord értéke cs.vu.nl NS solo.cs.vu.nl solo.cs.vu.nl A A vu.nl tartomány leírásának a cs.vu.nl altartományt meghatározó részlete.
154 OSI X.500 (1) Katalógusszolgáltatás Tulajdonság alapú keresés Katalógusbejegyzések Rekord tulajdonság-érték párok
155 X.500 (2) Tulajdonság Rövidítés Érték Country C NL Locality L Amsterdam Organization L Vrije Universiteit OrganizationalUnit OU Math. & Comp. Sc. CommonName CN Main server Mail_Servers , , FTP_Server WWW_Server X.500-as elnevezési konvenciókat használó egyszerű példa az X.500-as katalógusbejegyzéseire
156 Katalógus információs fa részlete X.500 (3)
157 The X.500 Name Space (3) Jellemző Érték Jellemző Érték Country NL Country NL Locality Amsterdam Locality Amsterdam Organization Vrije Universiteit Organization Vrije Universiteit OrganizationalUnit Math. & Comp. Sc. OrganizationalUnit Math. & Comp. Sc. CommonName Main server CommonName Main server Host_Name star Host_Name zephyr Host_Address Host_Address Két olyan katalógusbejegyzés, amelyeknél a Host_Name a relatív megkülönböztető név.
158 Mozgó entitások helyének meghatározása Cím megváltozik tartományon belül tartományon kívül Nevet nem szabad megváltoztatni gép új címe a DNS adatbázisba szimbolikus hivatkozás Nevek helyett azonosítók használata helymeghatározó szolgáltatás
159 Entitások elnevezése a helymeghatározással szemben a) Címek és nevek közötti közvetlen, egyszintű leképezés. b) Azonosítókat használó kétszintű leképezés.
160 Egyszerű megoldások Adatszórás és csoportcímzés kérés mindenkinek az érintett válaszol (cím) pl. ARP Továbbítómutatók az entitás hivatkozást hagy maga után pl. SSP lánc módszere
161 Továbbítómutatók (1) A (helyettes, váz) párokat használó továbbmutatók elve.
162 Továbbítómutatók (2) A továbbmutató átirányítása a rövidítő információ tárolásával.
163 Otthon alapú módszerek (1) Nagyméretű hálózaton Otthon entitás pillanatnyi helye pl. Mobile IP hazai ügynök (home agent) felügyeleti cím (care-of address)
164 Otthon alapú módszerek (2) A Mobile IP elve.
165 Hierarchikus módszerek (1) A helymeghatározó-szolgáltatás hierarchikus tartományokká szervezése, melyek mindegyikének van egy hozzá tartozó katalógus-csomópontja.
166 Hierarchikus módszerek (2) Különböző levéltartományokban elhelyezkedő, két címmel rendelkező entitásra vonatkozó információ tárolása.
167 Hierarchikus módszerek (3) Adott hely megkeresése a hierarchikusan szervezett helymeghatározó-szolgáltatással.
168 Hierarchikus módszerek (4) a) A kérés az első olyan csomópontig megy, amely ismeri E entitást. b) A levélcsomópontig vezető továbbítómutatók láncának létrehozása.
169 Mutatótárolás (1) Arra a katalógus-csomópontra hivatkozó mutató gyorsítótárba való helyezése, amely az entitás leggyakoribb tartózkodási helyét takarja.
170 Mutatótárolás (2) Érvénytelenítendő, gyorsítótárban lévő mutató, amely nem helyi címmel térne vissza, miközben helyi cím is elérhető lenne.
171 A méretezhetőség kérdései A helymeghatározó-szolgáltatás által fedett hálózat méretezhetőségi problémája, ha az alcsomópontokat egyenlően osztjuk el a hálózaton.
172 7. előadás Elnevezési rendszerek 3. rész Szinkronizálás 1. rész
173 Elnevezési rendszerek 3. rész A nem hivatkozott entitások eltávolítása
174 Motiváció A nem elérhető hivatkozást el kell távolítani => elosztott szemétgyűjtő
175 A nem hivatkozott objektumok problémája Példa az egymásra hivatkozó objektumokat ábrázoló gráfra.
176 Egyszerű hivatkozásszámlálás Objektumra mutató hivatkozások megszámolása Hivatkozás létrehozásakor növeljük Hivatkozás eltávolításakor csökkentjük Ha a számláló 0, az objektum törölhető
177 Probléma az egyszerű hivatkozásszámlálással (1) A hivatkozásszámláló helyes értékének beállítási problémája megbízhatatlan kommunikáció esetén.
178 Probléma az egyszerű hivatkozásszámlálással (2) a) A hivatkozás átmásolása egy másik folyamatnak és a hivatkozásszámláló elkésett növelése b) A megoldás
179 Fejlettebb hivatkozásszámlálás (1) Súlyozott hivatkozásszámlálás csak csökkentés Minden objektumnak előre meghatározott teljes súlya van. <-> részleges súly Új hivatkozáskor, másoláskor a súly felét átadjuk Törléskor: az objektum a teljes súlyát a törlendő részleges súlyával csökkenti Ha a teljes súly 0, az objektum törölhető
180 Fejlettebb hivatkozásszámlálás (2) a) A súlyok kezdeti hozzárendelése súlyozott hivatkozásnál. b) Súlyok hozzárendelése az új hivatkozás létrehozásakor.
181 Fejlettebb hivatkozásszámlálás (3) c) Súlyok hozzárendelése a hivatkozás másolásánál.
182 Fejlettebb hivatkozásszámlálás (4) Indirekció alkalmazása, amikor egy hivatkozás részleges súlya eléri az egyet.
183 Fejlettebb hivatkozásszámlálás (5) Távoli hivatkozás létrehozása és átmásolása nemzedéki hivatkozásszámlálás esetén.
184 Hivatkozáslista A váz nyilvántartja a rá hivatkozó helyetteseket (mutató) Létező elem hozzáadása, nem létező törlése idempotens művelet Létrehozáskor az új elküldi azonosítóját a váznak Másoláskor az új értesíti a vázat Pl. Java RMI
185 Elérhetetlen entitások azonosítása (1) Egyszerű nyomkövetés az elosztott rendszerben egyprocesszoros rendszerekben jelöl és takarít (mark and sweep) a jelölőszakasz a gyökérkészletből indulva megjelöli az entitásokat fehér minden entitás kezdetben szürke ami elérhető, de még nem dolgoztuk fel (a folyamat előrehaladása közben) fekete ami elérhető a gyökérből (a jelölő szakasz végére) a takarítószakasz törli a meg nem jelölteket
186 Elérhetetlen entitások azonosítása (2) Csoporton belüli nyomkövetés vázak megjelölése a jelölések kiterjesztése a vázakról a helyettesekre a jelölések kiterjesztése a helyettesekről a vázakra stabilizálás az előző két lépés megismétlésével szemét eltávolítása váz lehet: puha / kemény a helyettes lehet: puha / kemény / semmilyen
187 Csoporton belüli nyomkövetés (1) A vázak kezdeti jelölése.
188 Csoporton belüli nyomkövetés (2) A folyamatok helyi jelölésmásolásának befejezése utáni állapot.
189 Csoporton belüli nyomkövetés (3) Végső jelölések.
190 Szinkronizálás 1. rész
191 Az órák szinkronizálása Ha mindegyik gép a saját óráját használja, akkor az adott esemény után történt másik eseményhez az elsőnél korábbi idő társulhat.
192 Fizikai órák (1) A csillagidő és a szoláris idő összefüggése.
193 Fizikai órák (2) A TAI-másodperc a szolárissal ellentétben azonos hosszúságú. Szökőmásodperceket kell használnunk arra, hogy a TAI a Nappal szinkronban tartható legyen.
194 Óraszinkronizáló algoritmusok Az óra által mutatott idő és az UTC összefüggése az óra eltérése esetén.
195 Cristian algoritmusa A pontos idő lekérdezése az időszerverről.
196 A Berkeley-algoritmus a) Az idődémon lekérdezi a többi géptől az általuk nyilvántartott pontos időt b) A gépek válaszolnak c) Az idődémon mindegyiket utasítja, hogyan állítsa be az óráját
197 Átlagoló algoritmusok Decentralizált algoritmus Újraszinkronizálási időszakok minden gép kihirdeti a saját idejét elindít egy időmérőt a beérkezett hírdetéseket összegyűjti Többszörözött külső időforrások Több UTC-forrás vevő a rendszerben Ezek rendszeresen kihirdetik az idejüket
198 Szinkronizált órák használata Többször küldött üzenetek figyelmen kívül hagyására hogy ne kelljen a végtelenségig tárolni Logikai órák Elegendő, ha az összes gép órája ugyanazt az időt mutatja Az események sorrendje a fontos
199 Lamport időbélyege a). Három folyamat, mindegyik saját órával. Az órák különböző sebességgel futnak. b). Lamport algoritmusa az órák összehangolására.
200 Példa pontosan sorbarendezett csoportcímzés A többszörözött adatbázis frissítése és az inkonzisztens állapot kialakulása.
201 Időbélyeg vektor (1) C(a) és C(b) összehasonlítása semmit sem mond a és b kapcsolatáról Lamport időbélyegei nem foglalkoznak az oksági viszonyokkal Oksági viszony időbélyeg-vektorok alkalmazása Ha VT(a) < VT(b) => a b előzménye
202 Időbélyeg vektor (2) P i folyamat V i vektorának tulajdonságai: 1. V i [i] a P i folyamatban eddig bekövetkezett események száma 2. Ha V i [j] = k, akkor P i tudja, hogy a P j folyamatban eddig k esemény történt Okozatilag összefüggő üzenetek küldése r csak akkor kézbesíti az üzenetet, ha: 1. vt(r)[j] = V k [j] vt(r)[i] < / = V k [i] teljesül valamennyi i<>j
203 Szinkronizálás 2. rész
204 Globális állapot (1) a) Konzisztens metszet b) Inkonzisztens metszet
205 Globális állapot (2) a) A folyamat és csatornáinak szerkezete az elosztott pillanatfelvétel elkészítéséhez.
206 Globális állapot (3) b) Q folyamat a jelzést először kapja meg, ezért feljegyzi saját állapotát. c) Q valamennyi érkező üzenetét feljegyzi. d) Q megkapja a jelzést a bejövő csatornán és befejezi a csatorna állapotának rögzítését.
207 Szavazó algoritmusok - zsarnok (1) A zsarnok algoritmus A 4-es folyamat választást tart 5-ös és 6-os válaszol, megmondva 4-esnek, hogy álljon le a választással 5-ös és 6-os választást kezdeményez
208 Szavazó algoritmusok - zsarnok (2) d) 6-os szól 5-ösnek, hogy álljon le a választással e) 6-os megnyeri a választást és kihirdeti a győzelmét
209 Szavazó algoritmusok - gyűrű Kört használó szavazó algoritmus.
210 Kölcsönös kizárás: A központosított algoritmus a) Az 1-es folyamat engedélyt kér a koordinátortól, hogy beléphessen a kritikus területre. Az engedély megadva. b) A 2-es folyamat engedélyt kér ugyanerre a kritikus területre való belépéshez. A koordinátor nem válaszol. c) Amikor az 1-es folyamat elhagyja a kritikus területet, értesíti erről a koordinátort, aki ezután válaszol a 2-es folyamatnak.
211 Kölcsönös kizárás: Az elosztott algoritmus a) Két folyamat akar ugyanabban a pillanatban belépni ugyanarra a kritikus területre. b) A 0-ás folyamatnak alacsonyabb az időbélyege, így ő nyer. c) Amikor a 0-ás folyamat végzett, ő is elküldi az OK választ, így a 2-es folyamat már beléphet a kritikus területre.
212 Kölcsönös kizárás: A zsetongyűrű algoritmus a) A folyamatok rendezetlen csoportja a hálózaton. b) A szoftver által alkotott logikai gyűrű.
213 Kölcsönös kizárás: összehasonlítás Algoritmus Belépési / kilépési üzenetszám Belépés előtti késleltetés (üzenetidőben) Központosított 3 2 Elosztott 2 ( n 1 ) 2 ( n 1 ) Zsetongyűrű 1 to 0 to n 1 Problémák A koordinátor összeomlása Bármely folyamat összeomlása Elveszett zseton, a folyamat összeomlása A kölcsönös kizárást biztosító algoritmusok összehasonlítása.
214 Elosztott tranzakciók - tranzakciómodell (1) A mesterszalag frissítése hibatűrő folyamat.
215 Elosztott tranzakciók - tranzakciómodell (2) Primitív BEGIN_TRANSACTION END_TRANSACTION ABORT_TRANSACTION READ WRITE Leírása Tranzakció kezdetének jelzése Tranzakció végének jelzése A tranzakció félbeszakítása és az eredeti állapot visszaállítása Adat beolvasása állományból, táblából vagy bárhonnan Adat kiírása állományba, táblába vagy bárhová Néhány példa a tranzakció-primitívekre.
216 Elosztott tranzakciók - tranzakciómodell (3) BEGIN_TRANSACTION reserve WP -> JFK; reserve JFK -> Nairobi; reserve Nairobi -> Malindi; END_TRANSACTION (a) BEGIN_TRANSACTION reserve WP -> JFK; reserve JFK -> Nairobi; reserve Nairobi -> Malindi full => ABORT_TRANSACTION (b) a) 4 járat helyfoglalása egy tranzakcióként b) A tranzakció félbeszakad, amikor a negyedik járat nem elérhető
217 A tranzakciók tulajdonságai (ACID) 1. Oszthatatlan (elemi) - Atomic 2. Konzisztens - Consistent 3. Elkülönülő - Isolated 4. Maradandó - Durable
218 A tranzakciók osztályozása Az egységes tranzakciók korlátai Beágyazott tranzakciók Elosztott tranzakciók
219 Elosztott tranzakciók a) Beágyazott tranzakció b) Elosztott tranzakció
220 Implementáció saját munkaterület a) Egy három blokk hosszúságú állomány indexei és lemezblokkjai b) Az állomány 0-ás blokkjának módosítása a tranzakció során, és egy negyedik blokk hozzáfűzése után kialakult helyzet c) A tranzakció lezárása utáni helyzet
221 Implementáció munkatervnapló x = 0; y = 0; BEGIN_TRANSACTION; x = x + 1; y = y + 2 x = y * y; END_TRANSACTION; (a) Log [x = 0 / 1] (b) Log [x = 0 / 1] [y = 0/2] (c) Log [x = 0 / 1] [y = 0/2] [x = 1/4] (d) a) Egy tranzakció b) d) Az egyes utasítások végrehajtása előtt kiírt naplóbejegyzés
222 9. előadás Szinkronizálás 3. rész Konzisztencia és többszörözés 1. rész
223 Szinkronizálás 3. rész Konkurenciakontroll
224 A tranzakciók tulajdonságai (ACID) 1. Oszthatatlan (elemi) - Atomic 2. Konzisztens - Consistent 3. Elkülönülő Isolated [sorosítható serializable] 4. Maradandó - Durable
225 Konkurenciakontroll (1) A tranzakciókat megvalósító kezelők általános felépítése.
226 Konkurenciakontroll (2) Az elosztott tranzakciókat feldolgozó kezelők általános felépítése.
227 Sorosíthatóság (1) BEGIN_TRANSACTION x = 0; x = x + 1; END_TRANSACTION (a) BEGIN_TRANSACTION x = 0; x = x + 2; END_TRANSACTION (b) BEGIN_TRANSACTION x = 0; x = x + 3; END_TRANSACTION (c) 1. ütemterv x = 0; x = x + 1; x = 0; x = x + 2; x = 0; x = x + 3 Helyes 2. ütemterv x = 0; x = 0; x = x + 1; x = x + 2; x = 0; x = x + 3; Helyes 3. ütemterv x = 0; x = 0; x = x + 1; x = 0; x = x + 2; x = x + 3; Hibás (d) a) c) Három tranzakció: T 1, T 2, and T 3 d) Lehetséges ütemtervek
228 Sorosíthatóság (2) write(t i, x); read(t i, x); write(t i, x) ütköző műveletek szinkronizálás kölcsönös kizárás időbélyegek megközelítés pesszimista optimista
229 Kétfázisú zárolás (1) Kétfázisú zárolás
230 Kétfázisú zárolás (2) Szigorú kétfázisú zárolás
231 Pesszimista időbélyeg-rendezés (1) T tranzakció ts(t) kezdeti időbélyeg x adatelem ts RD (x), ts WR (x) utolsó olvasást / írást végző tranzakció időbélyege read(t, x), ahol ts(t) < ts WR (x) => T megszakad read(t, x), ahol ts(t) > ts WR (x) => OK [ts RD (x) <- max{ts(t), ts RD (x)}] write(t, x), ahol ts(t) < ts RD (x) => T megszakad write(t, x), ahol ts(t) > ts RD (x) => OK [ts WR (x) <- max{ts(t), ts WR (x)}]
232 Pesszimista időbélyeg-rendezés (2) Az időbélyeget használó konkurenciakontrol.
233 Optimista időbélyeg-rendezés Saját munkaterület Ha az ütközések ritkák Tranzakció közben nincs vizsgálat, csak nyilvántartás (írások, olvasások) Tranzakció lezárásakor az összes többi tranzakció vizsgálata megszakad, vagy lezárul Időbélyeg használata
234 Konzisztencia és többszörözés 1. rész
235 A többszörözés okai Megbízhatóság növekedése Teljesítmény növekedése Többszörözés ára konzisztencia Átméretezési technika frissítések gyakorisága konzisztencia Gyorsítótár (cache)
236 Többszörözhetőségi átlátszóság megvalósítása kliens-oldalon A távoli objektumtöbbszörözés átlátszóvá tételének egyik lehetséges módja a kliensoldali megoldás használata.
237 Objektumtöbbszörözés (1) Két különböző kliens által közösen használt elosztott távoli objektum szerkezete.
238 Objektumtöbbszörözés (2) a) A konkurens hívások kezelésére képes távoli objektum. b) A konkurens hívások kezelésének felelősségét az objektumadapterre átruházó távoli objektum.
239 Példa pontosan sorbarendezett csoportcímzés A többszörözött adatbázis frissítése és az inkonzisztens állapot kialakulása.
240 Objektumtöbbszörözés (3) a) Többszörözést támogató objektumok az elosztott rendszerben. b) Az elosztott rendszer felel a többszörözés kezeléséért.
241 Adatközpontú konzisztenciamodellek A fizikailag több folyamat között elosztott és többszörözött logikai adattár általános felépítése.
242 Szigorú konzisztencia Azonos adatelemen műveletet végző két folyamat viselkedése: a) szigorúan konzisztens adattár b) nem szigorúan konzisztens adattár
243 Lineáris és soros konzisztencia (1) a) A sorosan konzisztens adattár. b) A sorosan konzisztens kritériumot nem teljesítő adattár.
244 Lineáris és soros konzisztencia (2) Process P1 Process P2 Process P3 x = 1; print ( y, z); y = 1; print (x, z); z = 1; print (x, y); Három egyidejűleg végrehajtott folyamat.
245 Lineáris és soros konzisztencia (3) x = 1; print ((y, z); y = 1; print (x, z); z = 1; print (x, y); x = 1; y = 1; print (x,z); print(y, z); z = 1; print (x, y); y = 1; z = 1; print (x, y); print (x, z); x = 1; print (y, z); y = 1; x = 1; z = 1; print (x, z); print (y, z); print (x, y); Prints: Prints: Prints: Prints: Signature: (a) Signature: (b) Signature: (c) Signature: (d) Ez előző ábrán bemutatott folyamatok 4 lehetséges végrehajtási sorrendje.
246 Okozati konzisztencia (1) Szükséges feltétel: A potenciálisan okozatilag összefüggő írási műveleteket valamennyi folyamatnak ugyanabban a sorrendben kell látnia.
247 Okozati konzisztencia (2) Ez a sorrend megengedett az okozatilag konzisztens adattárban, de tiltott a sorosan vagy a szigorúan konzisztens rendszerben.
248 Okozati konzisztencia (3) a) Az okozati konzisztenciát megsértő műveleti sorrend. b) Az események konzisztens adattárban érvényes lehetséges sorrendje.
249 FIFO-konzisztencia (1) Szükséges feltétel: Egy adott folyamat által végrehajtott valamennyi írási művelet eredményét az összes többi folyamatnak az írást végző folyamat által meghatározott sorrendben kell látnia.
250 FIFO-konzisztencia (2) Az események lehetséges sorrendje a FIFO-konzisztenciamodell szerint.
251 FIFO-konzisztencia (3) x = 1; print (y, z); y = 1; print(x, z); z = 1; print (x, y); x = 1; y = 1; print(x, z); print ( y, z); z = 1; print (x, y); y = 1; print (x, z); z = 1; print (x, y); x = 1; print (y, z); Prints: 00 Prints: 10 Prints: 01 (a) (b) (c) A korábbi ábrán látható 3 folyamat utasításainak különböző végrehajtási sorrendje.
252 FIFO-konzisztencia (4) Process P1 x = 1; if (y == 0) kill (P2); Process P2 y = 1; if (x == 0) kill (P1); Két konkurens folyamat.
253 Gyenge konzisztencia (1) Tulajdonságok: Az adattárhoz tartozó szinkronizáló változók elérése sorosan konzisztens. A szinkronizáló változóval végzett újabb művelet mindaddig nem engedélyezett, amíg az összes korábbi írási művelet mindenütt be nem fejeződött. Az adatelemeken végzett egyetlen írási vagy olvasási művelet sem engedélyezett, amíg az összes szinkronizáló változó értelmezett művelet mindenütt be nem fejeződött.
254 Gyenge konzisztencia (2) int a, b, c, d, e, x, y; /* variables */ int *p, *q; /* pointers */ int f( int *p, int *q); /* function prototype */ a = x * x; /* a stored in register */ b = y * y; /* b as well */ c = a*a*a + b*b + a * b; /* used later */ d = a * a * c; /* used later */ p = &a; /* p gets address of a */ q = &b /* q gets address of b */ e = f(p, q) /* function call */ A program fragment in which some variables may be kept in registers.
255 Gyenge konzisztencia (3) a) Gyenge konzisztencia esetén megengedett eseménysorrend. b) Gyenge konzisztencia esetén tiltott eseménysorrend.
256 Feloldó konzisztencia (1) Az eseményeknek a feloldó konzisztenciamodellben megengedett lehetséges sorrendje.
257 Feloldó konzisztencia (2) Szabályok: Megosztott adaton bármely olvasási/írási művelet előtt minden korábbi igénylésnek be kell fejeződnie. Feloldási művelet előtt a folyamatnak az összes korábbi írási/olvasási műveletét be kell fejeznie. A szinkronizáló változók elérése FIFOkonzisztens.
258 Belépő konzisztencia (1) Feltételek: Szinkronizáló változó adott folyamat általi igénylése addig nem történhet, amíg az általa védett megosztott adat valamennyi frissítőművelete be nem fejeződött az adott folyamat számára. A folyamat csak akkor szerezheti meg a kizárólagos ellenőrzést a szinkronizáló változó felett, ha egyetlen más folyamat sem birtokolja. Miután egy folyamat megszerezte a kizárólagos ellenőrzést egy szinkronizáló változó felett, bármely más folyamat nem kizárólagos ellenőrzési kérelme addig nem teljesíthető, amíg a kizárólagos jogot az azt birtokló folyamat fel nem adja.
259 Belépő konzisztencia (2) A belépő konzisztenciában érvényes eseménysorrend.
260 10. előadás Konzisztencia és többszörözés 2. rész
261 Adatközpontú konziszteniamodellek összehasonlítása Konzisztencia Szigorú Lineáris Soros Okozati FIFO Leírás Valamennyi megosztott hozzáférés abszolút sorrendje. A megosztott hozzáféréseket valamennyi folyamat pontosan ugyanabban a sorrendben látja. A hozzáférések sorrendjét (nem egyedi) globális időbélyeg határozza meg. A megosztott hozzáféréseket valamennyi folyamat pontosan ugyanabban a sorrendben látja. A hozzáférések nincsenek idő szerint sorba rendezve. Az okozatilag összefüggő megosztott hozzáféréseket valamennyi folyamat pontosan ugyanabban a sorrendben látja. Valamennyi folyamat a többi írási műveleteit pontosan a kiadás sorrendjében fogja látni. A különböző folyamatok által végrehajtott írási műveletek sorrendje bármi lehet. (a) Konzisztencia Gyenge Feloldó Belépő Leírás A megosztott adat konzisztens voltára csak a szinkronizálás végrehajtása után lehet számítani. A megosztott adat konzisztensé válik a kritikus terület elhagyásakor. A kritikus területhez tartozó megosztott adat konzisztensé válik a kritikus területre való belépéskor. a) Szinkronizáló műveleteket nem igénylő konzisztenciamodellek. b) Szinkronizáló műveleteken alapuló konzisztenciamodellek. (b)
262 Gyenge konzisztencia (ismétlés) a) Gyenge konzisztencia esetén megengedett eseménysorrend. b) Gyenge konzisztencia esetén tiltott eseménysorrend.
263 Feloldó konzisztencia (ismétlés) Az eseményeknek a feloldó konzisztenciamodellben megengedett lehetséges sorrendje.
264 Belépő konzisztencia (ismétlés) A belépő konzisztenciában érvényes eseménysorrend.
265 Kliensközpontú konzisztenciamodellek Adattárak különleges csoportja: nincs párhuzamos módosítás a legtöbb művelet csak olvassa az adattárat Fokozatos konzisztencia (1) Frissítés hiányában valamennyi másolat lassan az összes többivel egyformává válik (a frissítéseket előbb-utóbb valamennyi másolathoz elküldjük)
266 Fokozatos konzisztencia (2) Az elosztott adatbázis különböző másolatait elérő mozgó felhasználó elve.
267 Fokozatos konzisztencia (3) Probléma: a felhasználó nem mindig ugyanahhoz a másolathoz csatlakozik Megoldás: kliensközpontú konzisztencia egy adott felhasználó számára nyújt biztosítékot arra nézve, hogy az általa látott adattár konzisztens lesz
268 Monoton olvasás (1) Ha a folyamat beolvassa x adatelemet, akkor x minden további olvasásának ugyanazt vagy frissebb értéket kell szolgáltatnia.
269 Monoton olvasás (2) Adott P folyamat által végzett olvasási műveletek az adattár két különböző helyi másolatán futnak. a) Monoton olvasási konzisztens adattár b) Monoton olvasás követelményét ki nem elégítő adattár
270 Monoton írás (1) Adott folyamat által végrehajtott x adatelemet módosító írási műveletnek be kell fejeződnie, mielőtt ugyanez a folyamat újabb írási műveletet hajtana végre ugyanezen az adatelemen.
Kommunikáció. Távoli eljáráshívás. RPC kommunikáció menete DCE RPC (1) RPC - paraméterátadás. 3. előadás Protokollok. 2. rész
3. előadás Protokollok Kommunikáció 2. rész RPC (Remote Procedure Call) távoli eljáráshívás RMI (Remote Method Invocation) távoli metódushívás MOM (Message-Oriented Middleware) üzenetorientált köztesréteg
RészletesebbenElnevezési rendszerek. 7. előadás
Elnevezési rendszerek 7. előadás Nevek, azonosítók és címek Nevek erőforrások megosztása, entitások egyértelmű azonosítása, helyek megjelölése, stb. Nevek feloldása névszolgáltató rendszer Kapcsolódási
RészletesebbenElnevezési rendszerek. A névtér elosztása (2) 4. előadás. A névfeloldás implementálása (1) A névfeloldás implementálása (2)
6. előadás A névtér elosztása (1) Elnevezési rendszerek 2. rész A DNS-névtér felosztása (három rétegre), amely az interneten keresztül elérhető állományokat is tartalmaz. A névtér elosztása (2) A névfeloldás
RészletesebbenKommunikáció. Kommunikáció. Folyamatok. Adatfolyam-orientált kommunikáció. Kommunikáció típusok (1) Kommunikáció típusok (2) Média. Folyamok (Streams)
4. előadás Kommunikáció 3. rész Folyamatok 1. rész Kommunikáció 3. rész Adatfolyam-orientált kommunikáció Kommunikáció típusok (1) Diszkrét interakció A Kommunikáció típusok (2) Eddig: egymástól független,
RészletesebbenElnevezési rendszerek. Szinkronizálás
7. előadás Elnevezési rendszerek 3. rész Szinkronizálás 1. rész Elnevezési rendszerek 3. rész A nem hivatkozott entitások eltávolítása Motiváció A nem elérhető hivatkozást el kell távolítani => elosztott
RészletesebbenSzinkronizálás. 9. előadás
Szinkronizálás 9. előadás Az órák szinkronizálása Ha mindegyik gép a saját óráját használja, akkor az adott esemény után történt másik eseményhez az elsőnél korábbi idő társulhat. Óraszinkronizáló algoritmusok
RészletesebbenKommunikáció. 3. előadás
Kommunikáció 3. előadás Kommunikáció A és B folyamatnak meg kell egyeznie a bitek jelentésében Szabályok protokollok ISO OSI Többrétegű protokollok előnyei Kapcsolat-orientált / kapcsolat nélküli Protokollrétegek
RészletesebbenElosztott rendszerek. Az elıadás. Az elosztott rendszer definíciója. Köztesrétegként felépülı elosztott rendszer
1. elıadás Az elıadás Elosztott ek 1. Bevezetés Tankönyv: Andrew S. Tanenbaum Maarten van Steen: Elosztott Rendszerek Alapelvek és Paradigmák http://people.inf.elte.hu/bonnie bonnie@inf.elte.hu Az elosztott
RészletesebbenFolyamatok. 6. előadás
Folyamatok 6. előadás Folyamatok Folyamat kezelése, ütemezése folyamattábla új folyamat létrehozása átkpcsolás folyamatok elválasztása egymástól átlátszó Szál szálkezelő rendszer szálak védése egymástól
RészletesebbenKonzisztencia és többszörözés. 10. kurzus
Konzisztencia és többszörözés 10. kurzus Konzisztencia és többszörözés Megbízhatóság növekedése Teljesítmény növekedése Többszörözés ára konzisztencia Átméretezési technika frissítések gyakorisága Konzisztencia
RészletesebbenElosztott rendszerek. Az elıadás. Az elosztott rendszer definíciója. Köztesrétegként felépülı elosztott rendszer. Célok
1. elıadás Az elıadás Elosztott rendszerek 1. Bevezetés Tankönyv: Andrew S. Tanenbaum Maarten van Steen: Elosztott Rendszerek Alapelvek és Paradigmák http://people.inf.elte.hu/bonnie bonnie@inf.elte.hu
RészletesebbenLineáris. Soros. Okozati FIFO. Belépő
10. előadás Konzisztencia és többszörözés 2. rész Adatközpontú konziszteniamodellek összehasonlítása Konzisztencia Szigorú Lineáris Soros Okozati FIFO Konzisztencia Gyenge Feloldó Belépő Leírás Valamennyi
RészletesebbenUNIX: folyamatok kommunikációja
UNIX: folyamatok kommunikációja kiegészítő fóliák az előadásokhoz Mészáros Tamás http://home.mit.bme.hu/~meszaros/ Budapesti Műszaki Egyetem Méréstechnika és Információs Rendszerek Tanszék 1 A kommunikáció
RészletesebbenHálózatok. Alapismeretek. A hálózatok célja, építőelemei, alapfogalmak
Hálózatok Alapismeretek A hálózatok célja, építőelemei, alapfogalmak A hálózatok célja A korai időkben terminálokat akartak használni a szabad gépidők lekötésére, erre jó lehetőség volt a megbízható és
RészletesebbenHálózati ismeretek. Az együttműködés szükségessége:
Stand alone Hálózat (csoport) Az együttműködés szükségessége: közös adatok elérése párhuzamosságok elkerülése gyors eredményközlés perifériák kihasználása kommunikáció elősegítése 2010/2011. őszi félév
RészletesebbenBevezetés a párhuzamos programozási koncepciókba
Bevezetés a párhuzamos programozási koncepciókba Kacsuk Péter és Dózsa Gábor MTA SZTAKI Párhuzamos és Elosztott Rendszerek Laboratórium E-mail: kacsuk@sztaki.hu Web: www.lpds.sztaki.hu Programozási modellek
RészletesebbenAz UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék
Az UPPAAL egyes modellezési lehetőségeinek összefoglalása Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Résztvevők együttműködése (1) Automaták interakciói üzenetküldéssel Szinkron
RészletesebbenElosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms. 5. rész: Elnevezési rendszerek
Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms Maarten van Steen 1 Kitlei Róbert 2 1 VU Amsterdam, Dept. Computer Science 2 ELTE Informatikai Kar 5. rész: Elnevezési
RészletesebbenS04-2 Elosztott alkalmazások készítése
S04-2 Elosztott alkalmazások készítése Tartalom 1. Többrétegű architektúra, elosztott szerveroldal 2. Kommunikációs eszközök: távolieljárás-hívás és üzenet alapú infrastruktúra (point-to-point és publish-subscribe
RészletesebbenHálózati architektúrák laborgyakorlat
Hálózati architektúrák laborgyakorlat 8. hét Dr. Orosz Péter, Skopkó Tamás 2012. szeptember Domain Name System Mire való? IP címek helyett könnyen megjegyezhető nevek használata. (Pl. a böngésző címsorában)
RészletesebbenKommunikáció. Folyamatok közötti kommunikáció. Minden elosztott rendszer alapja
Kommunikáció Folyamatok közötti kommunikáció Minden elosztott rendszer alapja Marshalling Alap primitívek Direkt, indirekt portok Blokkolás, nem blokkolás Pufferelés Megbízhatóság RPC Az RPC jellemzői
RészletesebbenAutóipari beágyazott rendszerek. A kommunikáció alapjai
Autóipari beágyazott rendszerek A kommunikáció alapjai 1 Alapfogalmak Hálózati kommunikáció Vezérlőegységek közötti információ továbbítás Csomópontok Kommunikációs csatornákon keresztül Terepbuszok (cluster)
RészletesebbenTranszport Réteg. Transzport réteg protokollok
Transzport Réteg VI / 1 Transzport réteg protokollok UDP - User Datagram Protocol RFC 768 Összeköttetés mentes, nem megbízható transzport réteg protokoll. TCP - Transmisson Control Protocol RFC 793 Összeköttetés
RészletesebbenAdatátviteli rendszerek Mobil IP. Dr. habil Wührl Tibor Óbudai Egyetem, KVK Híradástechnika Intézet
Adatátviteli rendszerek Mobil IP Dr. habil Wührl Tibor Óbudai Egyetem, KVK Híradástechnika Intézet IP alapok Lásd: Elektronikus hírközlési hálózatok OSI rétegmodell; IPv4; IPv6; Szállítási protokollok;
RészletesebbenElosztott rendszer architektúrák
Elosztott rendszer architektúrák Distributed systems architectures Irodalom Ian Sommerville: Software Engineering, 7th e. chapter 12. Andrew S. Tanenbaum, aarten van Steen: Distributed Systems: rinciples
RészletesebbenC# Szálkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21
C# Szálkezelés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21 Tartalomjegyzék 1 Bevezetés 2 Szálkezelés 3 Konkurens Programozás Tóth Zsolt (Miskolci Egyetem)
RészletesebbenCsoportos üzenetszórás optimalizálása klaszter rendszerekben
Csoportos üzenetszórás optimalizálása klaszter rendszerekben Készítette: Juhász Sándor Csikvári András Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Automatizálási
RészletesebbenSzIP kompatibilis sávszélesség mérések
SZIPorkázó technológiák SzIP kompatibilis sávszélesség mérések Liszkai János Equicom Kft. SZIP Teljesítőképesség, minőségi paraméterek Feltöltési sebesség [Mbit/s] Letöltési sebesség [Mbit/s] Névleges
RészletesebbenOsztott rendszerek (Distributed. systems) Bevezetés. Tartalom. Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék
Osztott rendszerek (Distributed systems) Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2007. 09. 18. osztottrendszerek / 1 Tartalom Miért kellenek osztott rendszerek Egy kis
Részletesebben2. fejezet Hálózati szoftver
2. fejezet Hálózati szoftver Hálózati szoftver és hardver viszonya Az első gépek összekötésekor (azaz a hálózat első megjelenésekor) a legfontosabb lépésnek az számított, hogy elkészüljön az a hardver,
RészletesebbenTartalom. Történeti áttekintés. Történeti áttekintés 2011.03.23. Architektúra DCOM vs CORBA. Szoftvertechnológia
Tartalom D Szoftvertechnológia előadás Történeti áttekintés Architektúra D vs CORBA 2 Történeti áttekintés 1987 Dynamic Data Exchange (DDE) Windows 2.0-ban Windows alkalmazások közötti adatcsere Ma is
RészletesebbenHálózati architektúrák és Protokollok GI - 9. Kocsis Gergely
Hálózati architektúrák és Protokollok GI - 9 Kocsis Gergely 2016.11.28. IP, MAC, ARP A B csomópontból az A-ba küldünk egy datagramot. Mik lesznek az Ethernet keretben található forrás és a cél címek (MAC
RészletesebbenSzámítógépes munkakörnyezet II. Szoftver
Számítógépes munkakörnyezet II. Szoftver A hardver és a felhasználó közötti kapcsolat Szoftverek csoportosítása Számítógép működtetéséhez szükséges szoftverek Operációs rendszerek Üzemeltetési segédprogramok
RészletesebbenElosztott rendszerek
Elosztott rendszerek NGM_IN005_1 Szinkronizáció Magas szint! szinkronizáció Órák szinkronizálása (állapot szinkronizáció) Koordinátor választás Elosztott tranzakció kezelés 2 Óraszinkronizálás Time stampekre
RészletesebbenOsztott alkalmazások fejlesztési technológiái Áttekintés
Osztott alkalmazások fejlesztési technológiái Áttekintés Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Történelem - a kezdetek 2 Mainframe-ek és terminálok Minden a központi gépen fut A
RészletesebbenECDL Információ és kommunikáció
1. rész: Információ 7.1 Az internet 7.1.1 Fogalmak és szakkifejezések 7.1.2 Biztonsági megfontolások 7.1.3 Első lépések a webböngésző használatában 7.1.4 A beállítások elévégzése 7.1.1.1 Az internet és
RészletesebbenHálózati operációs rendszerek II.
Hálózati operációs rendszerek II. Novell Netware 5.1 Web-es felügyelet, DNS/DHCP szerver, mentési alrendszer 1 Web-es felügyelet Netware Web Manager HTTPS protokollon keresztül pl.: https://fs1.xy.hu:2200
RészletesebbenTartalomjegyzék. Előszó... 10
Előszó... 10 1. Bevezetés a Symbian operációs rendszerbe... 11 1.1. Az operációs rendszer múltja...11 1.2. Az okos telefonok képességei...12 1.3. A Symbian felépítése...15 1.4. A könyv tartalma...17 2.
RészletesebbenVé V g é r g e r h e a h j a tá t s á i s s z s ál á ak a Runnable, Thread
Végrehajtási szálak Runnable, Thread Végrehajtási szálak Java-ban A Java program az operációs rendszer egy folyamatán (process) belül fut. A folyamat adat és kód szegmensekből áll, amelyek egy virtuális
Részletesebben4. Hivatkozási modellek
4. Hivatkozási modellek Az előző fejezetben megismerkedtünk a rétegekbe szervezett számítógépes hálózatokkal, s itt az ideje, hogy megemlítsünk néhány példát is. A következő részben két fontos hálózati
RészletesebbenElosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms
Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms Maarten van Steen 1 Kitlei Róbert 2 1 VU Amsterdam, Dept. Computer Science 2 ELTE Informatikai Kar 10. rész:
RészletesebbenNévfeloldás hosts, nsswitch, DNS
Forrás: https://hu.wikipedia.org/wiki/hosts_fájl http://tldp.fsf.hu/howto/nis-howto-hu/nisplus.html https://hu.wikipedia.org/wiki/domain_name_system https://hu.wikipedia.org/wiki/dns-rekordt%c3%adpusok_list%c3%a1ja
RészletesebbenHálózatok Rétegei. Számítógépes Hálózatok és Internet Eszközök. TCP/IP-Rétegmodell. Az Internet rétegei - TCP/IP-rétegek
Hálózatok Rétegei Számítógépes Hálózatok és Internet Eszközök WEB FTP Email Telnet Telefon 2008 2. Rétegmodell, Hálózat tipusok Közbenenső réteg(ek) Tw. Pair Koax. Optikai WiFi Satellit 1 2 Az Internet
RészletesebbenOperációs rendszerek. UNIX/Linux fájlrendszerek
Operációs rendszerek UNIX/Linux fájlrendszerek Tartalom Linux fájlrendszerek UNIX/Linux fájlrendszerek Szimbolikus linkek Fájlrendszerek csatolása Virtuális fájlrendszer Szuperblokk Inode Objektumok 2
RészletesebbenOsztott rendszerek (Distributed
Osztott rendszerek (Distributed systems) Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2007. 09. 18. osztottrendszerek / 1 Tartalom Miért kellenek osztott rendszerek Egy kis
RészletesebbenInformáció és kommunikáció
Információ és kommunikáció Tanmenet Információ és kommunikáció TANMENET- Információ és kommunikáció Témakörök Javasolt óraszám 1. Az internet jellemzői 25 perc 2. Szolgáltatások az interneten 20 perc
RészletesebbenSzámítógépes Hálózatok. 5. gyakorlat
Számítógépes Hálózatok 5. gyakorlat PYTHON ALAPOK V. Socket programozás, UDP 2 Óra eleji kiszh Elérés: https://canvas.elte.hu Számítógépes Hálózatok Gyakorlat 1 3 A kommunikációs csatorna kétféle típusa
RészletesebbenA számítástechnika gyakorlata WIN 2000 I. Szerver, ügyfél Protokoll NT domain, Peer to Peer Internet o WWW oftp opop3, SMTP. Webmail (levelező)
A számítástechnika gyakorlata WIN 2000 I. Szerver, ügyfél Protokoll NT domain, Peer to Peer Internet o WWW oftp opop3, SMTP Bejelentkezés Explorer (böngésző) Webmail (levelező) 2003 wi-3 1 wi-3 2 Hálózatok
Részletesebben2. fejezet Hálózati szoftver
2. fejezet Hálózati szoftver Hálózati szoftver és hardver viszonya Az első gépek összekötésekor (azaz a hálózat első megjelenésekor) a legfontosabb lépésnek az számított, hogy elkészüljön az a hardver,
RészletesebbenAlapszintű formalizmusok
Alapszintű formalizmusok dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék 1 Mit szeretnénk elérni? Informális tervek Informális követelmények Formális modell Formalizált követelmények
RészletesebbenKommunikációs rendszerek programozása. Voice over IP (VoIP)
Kommunikációs rendszerek programozása Voice over IP (VoIP) Analóg jel digitalizálása A t 125 μs Analóg jel digitalizálása Analóg jel átalakítása Mintavételezés (8kHz) Kvantálás (8bit) Folytonos jelből
RészletesebbenHálózati architektúrák laborgyakorlat
Hálózati architektúrák laborgyakorlat 10. hét Dr. Orosz Péter, Skopkó Tamás 2012. szeptember A Unix (C) socket A kommunikációt lehetővé tevő programozási eszköz UNIX fájlleíró (ld. minden egy fájl filozófia)
RészletesebbenHálózatkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Hálózatkezelés / 20
Hálózatkezelés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Hálózatkezelés 2013 1 / 20 Tartalomjegyzék 1 Hálózati Alapismeretek 2 System.Net Namespace 3 Socket Kezelés 4 Példa Tóth Zsolt
RészletesebbenSZAKDOLGOZAT ÓBUDAI EGYETEM. Neumann János Informatikai kar Alba Regia Egyetemi Központ
ÓBUDAI EGYETEM Neumann János Informatikai kar Alba Regia Egyetemi Központ SZAKDOLGOZAT OE-NIK Hallgató neve: Berencsi Gergő Zsolt 2010. Törzskönyvi száma: T 000123/FI38878/S-N Tartalomjegyzék Tartalmi
Részletesebben... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.
Párhuzamos programok Legyen S parbegin S 1... S n parend; program. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak. Folyamat
Részletesebben11. Elosztott állománykezelés. Operációs rendszerek. Elosztott állománykezelés. Teljesítmény növelése. Az állományokra hivatkozás. Az állományok nevei
11. Elosztott állománykezelés Operációs rendszerek 11. Elosztott állománykezelés Simon Gyula Bevezetés Hivatkozás állományokra Műveletek végzése Távoli eljáráshívás Műveletek helyi átmeneti tárban A szolgáltató
RészletesebbenOperációs rendszerek. Bemutatkozás
Bevezetés az operációs rendszerek világába dr. Benyó Balázs benyo@sze.hu Bemutatkozás www.sze.hu/~benyo 1 Számítógép HW-SW felépítése felhasználó felhasználó felhasználó Operációs rendszer Operációs rendszer
RészletesebbenOperációs rendszerek. UNIX fájlrendszer
Operációs rendszerek UNIX fájlrendszer UNIX fájlrendszer Alapegység: a file, amelyet byte-folyamként kezel. Soros (szekvenciális) elérés. Transzparens (átlátszó) file-szerkezet. Link-ek (kapcsolatok) létrehozásának
RészletesebbenHálózati architektúrák és Protokollok GI 8. Kocsis Gergely
Hálózati architektúrák és Protokollok GI 8 Kocsis Gergely 2018.11.12. Knoppix alapok Virtuális gép létrehozása VirtualBox-ban (hálózatelérés: bridge módban) Rendszerindítás DVD-ről vagy ISO állományból
RészletesebbenInformáció és kommunikáció
Információ és kommunikáció Tanmenet Információ és kommunikáció TANMENET- Információ és kommunikáció Témakörök Javasolt óraszám 1. Hálózati alapismeretek 20 perc 2. Az internet jellemzői 25 perc 3. Szolgáltatások
RészletesebbenA SZOFTVERTECHNOLÓGIA ALAPJAI
A SZOFTVERTECHNOLÓGIA ALAPJAI Objektumorientált tervezés 8.előadás PPKE-ITK Tartalom 8.1 Objektumok és objektumosztályok 8.2 Objektumorientált tervezési folyamat 8.2.1 Rendszerkörnyezet, használati esetek
RészletesebbenSzámítógépes Hálózatok. 7. gyakorlat
Számítógépes Hálózatok 7. gyakorlat Gyakorlat tematika Hibajelző kód: CRC számítás Órai / házi feladat Számítógépes Hálózatok Gyakorlat 7. 2 CRC hibajelző kód emlékeztető Forrás: Dr. Lukovszki Tamás fóliái
RészletesebbenELTE, IK, Információs Rendszerek Tanszék
ELTE, IK, Információs Rendszerek Tanszék (Készült Ács Zoltán diái alapján) Hálózati forgalom elemzés Különböző célok miatt szükség lehet a hálózati forgalom megfigyelésére egy adott alhálózaton: szoftverek
Részletesebben9. MPI
9. MPI kertesz.gabor@nik.uni-obuda.hu MPI Message Passing Interface Elosztott memóriájú párhuzamos programozási API Gyk. folyamatok közötti kommunikáció de facto ipari standard Több száz előre definiált
RészletesebbenJárműinformatika Multimédiás buszrendszerek (MOST, D2B és Bluetooth) 4. Óra
Járműinformatika Multimédiás buszrendszerek (MOST, D2B és Bluetooth) 4. Óra Multimédiás adatok továbbítása és annak céljai Mozgókép és hang átvitele Szórakoztató elektronika Biztonsági funkciókat megvalósító
RészletesebbenPárhuzamos programozási platformok
Párhuzamos programozási platformok Parallel számítógép részei Hardver Több processzor Több memória Kapcsolatot biztosító hálózat Rendszer szoftver Párhuzamos operációs rendszer Konkurenciát biztosító programozási
RészletesebbenOsztott rendszerek. Krizsán Zoltán 1 Ficsór Lajos 1. Webalkalmazások fejlesztése tananyag. Miskolci Egyetem. Bevezetés A múlt - történelem A jelen
Osztott rendszerek Krizsán Zoltán 1 Ficsór Lajos 1 1 Általános Informatikai Tanszék Miskolci Egyetem Webalkalmazások fejlesztése tananyag Tartalom Bevezetés A múlt - történelem A jelen Denition Distributed
RészletesebbenIII. előadás. Kovács Róbert
III. előadás Kovács Róbert VLAN Virtual Local Area Network Virtuális LAN Logikai üzenetszórási tartomány VLAN A VLAN egy logikai üzenetszórási tartomány, mely több fizikai LAN szegmensre is kiterjedhet.
RészletesebbenCOMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group
COMET webalkalmazás fejlesztés Tóth Ádám Jasmin Media Group Az előadás tartalmából Alapproblémák, fundamentális kérdések Az eseményvezérelt architektúra alapjai HTTP-streaming megoldások AJAX Polling COMET
RészletesebbenBEÁGYAZOTT RENDSZEREK TERVEZÉSE UDP csomag küldése és fogadása beágyazott rendszerrel példa
BEÁGYAZOTT RENDSZEREK TERVEZÉSE 1 feladat: A Netburner MOD5270 fejlesztőlap segítségével megvalósítani csomagok küldését és fogadását a fejlesztőlap és egy PC számítógép között. megoldás: A fejlesztőlapra,
RészletesebbenAz Internet működésének alapjai
Az Internet működésének alapjai Második, javított kiadás ( Dr. Nagy Rezső) A TCP/IP protokollcsalád áttekintése Az Internet néven ismert világméretű hálózat működése a TCP/IP protokollcsaládon alapul.
RészletesebbenElosztott rendszerek
Elosztott rendszerek NGM_IN005_1 Elnevezési rendszerek Névhasználat Entitások egyértelm! azonosítása kontextusra nézve egyedi (unique) nevek név feloldás név szolgáltatás Inhomogén elemekb"l álló rendszerek
RészletesebbenINTERNET. internetwork röviden Internet /hálózatok hálózata/ 2010/2011. őszi félév
INTERNET A hatvanas években katonai megrendelésre hozták létre: ARPAnet @ (ARPA= Advanced Research Agency) A rendszer alapelve: minden gép kapcsolatot teremthet egy másik géppel az összekötő vezetékrendszer
RészletesebbenWindows rendszeradminisztráció és Microsoft szerveralkalmazások támogatása. 3. óra. Kocsis Gergely, Kelenföldi Szilárd
Windows rendszeradminisztráció és Microsoft szerveralkalmazások támogatása 3. óra Kocsis Gergely, Kelenföldi Szilárd 2015.03.05. Routing Route tábla kiratása: route PRINT Route tábla Illesztéses algoritmus:
RészletesebbenVIII. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK
Mérési utasítás IPv6 A Távközlés-informatika laborban natív IPv6 rendszer áll rendelkezésre. Először az ún. állapotmentes automatikus címhozzárendelést (SLAAC, stateless address autoconfiguration) vizsgáljuk
RészletesebbenKomponens modellek. 3. Előadás (első fele)
Komponens modellek 3. Előadás (első fele) A komponens modellek feladata Támogassa a szoftverrendszerek felépítését különböző funkcionális, logikai komponensekből, amelyek a számítógépes hálózatban különböző
RészletesebbenFlash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft
Flash és PHP kommunikáció Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft A lehetőségek FlashVars External Interface Loadvars XML SOAP Socket AMF AMFphp PHPObject Flash Vars Flash verziótól függetlenül
RészletesebbenTELE-OPERATOR UTS v.14 Field IPTV műszer. Adatlap
TELE-OPERATOR UTS v.14 Field IPTV műszer Adatlap COMPU-CONSULT Kft. 2009. augusztus 3. Dokumentáció Tárgy: TELE-OPERATOR UTS v.14 Field IPTV műszer Adatlap (6. kiadás) Kiadta: CONSULT-CONSULT Kft. Dátum:
RészletesebbenSzámítógépes Hálózatok Felhasználói réteg DNS, , http, P2P
Számítógépes Hálózatok 2007 13. Felhasználói réteg DNS, email, http, P2P 1 Felhasználói réteg Domain Name System Példák a felhasználói rétegre: E-Mail WWW Content Delivery Networks Peer-to-Peer-Networks
RészletesebbenFelhasználói réteg. Számítógépes Hálózatok Domain Name System (DNS) DNS. Domain Name System
Felhasználói réteg Domain Name System Számítógépes Hálózatok 2007 13. Felhasználói réteg DNS, email, http, P2P Példák a felhasználói rétegre: E-Mail WWW Content Delivery Networks Peer-to-Peer-Networks
RészletesebbenA JGrid rendszer biztonsági architektúrája. Magyaródi Márk Juhász Zoltán Veszprémi Egyetem
A JGrid rendszer biztonsági architektúrája Magyaródi Márk Juhász Zoltán Veszprémi Egyetem A JGrid projekt Java és Jini alapú szolgáltatás orientált Grid infrastruktúra IKTA-5 089/2002 (2003-2004) Konzorcium:
RészletesebbenThe Flooding Time Synchronization Protocol
The Flooding Time Synchronization Protocol Célok: FTSP Alacsony sávszélesség overhead Node és kapcsolati hibák kiküszöbölése Periodikus flooding (sync message) Implicit dinamikus topológia frissítés MAC-layer
RészletesebbenDr. Mileff Péter
Dr. Mileff Péter 1 2 1 Szekvencia diagram Szekvencia diagram Feladata: objektumok egymás közti üzenetváltásainak ábrázolása egy időtengely mentén elhelyezve. Az objektumok életvonala egy felülről lefelé
RészletesebbenNon-stop hozzáférés az üzleti információkhoz bárhol, bármikor és bármilyen eszközzel
Non-stop hozzáférés az üzleti információkhoz bárhol, bármikor és bármilyen eszközzel The Power to Change A NetWare 6 üzleti előnyeinek áttekintése NetWare 6: Az operációs rendszer szerepe a Hálózati szolgáltatásokban
RészletesebbenOperációs rendszerek III.
A WINDOWS NT memóriakezelése Az NT memóriakezelése Memóriakezelő feladatai: Logikai-fizikai címtranszformáció: A folyamatok virtuális címterének címeit megfelelteti fizikai címeknek. A virtuális memóriakezelés
RészletesebbenSzenzorhálózatok programfejlesztési kérdései. Orosz György
Szenzorhálózatok programfejlesztési kérdései Orosz György 2011. 09. 30. Szoftverfejlesztési alternatívák Erőforráskorlátok! (CPU, MEM, Energia) PC-től eltérő felfogás: HW közeli programozás Eszközök közvetlen
RészletesebbenOperációs rendszerek. Az X Window rendszer
Operációs rendszerek X Windows rendszer Az X Window rendszer Grafikus felhasználói felületet biztosító alkalmazás és a kapcsolódó protokoll 1983-84: a Massachusetts Institute of Technology-n (MIT, USA).
RészletesebbenSzámítógépes Hálózatok 2010
Számítógépes Hálózatok 2010 5. Adatkapcsolati réteg MAC, Statikus multiplexálás, (slotted) Aloha, CSMA 1 Mediumhozzáférés (Medium Access Control -- MAC) alréteg az adatkapcsolati rétegben Statikus multiplexálás
RészletesebbenOperációs rendszerek. Az NT memóriakezelése
Operációs rendszerek MS Windows NT (2000) memóriakezelés Az NT memóriakezelése 32-bites virtuális memóriakezelés: 4 GB-os címtartomány, alapesetben: a fels! 2 GB az alkalmazásoké, az alsó 2 GB az OPR-é.
RészletesebbenHálózati réteg. WSN topológia. Útvonalválasztás.
Hálózati réteg WSN topológia. Útvonalválasztás. Tartalom Hálózati réteg WSN topológia Útvonalválasztás 2015. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város villamosmérnöki MSc mellékspecializáció,
RészletesebbenErőforrás gazdálkodás a bevetésirányításban
Professzionális Mobiltávközlési Nap 2009 Új utakon az EDR Erőforrás gazdálkodás a bevetésirányításban Fornax ZRt. Nagy Zoltán Vezérigazgató helyettes Budapest, 2009. április 9. Tartalom 1. Kézzelfogható
RészletesebbenElosztott adatbázis-kezelő formális elemzése
Elosztott adatbázis-kezelő formális elemzése Szárnyas Gábor szarnyas@mit.bme.hu 2014. december 10. Budapesti Műszaki és Gazdaságtudományi Egyetem Hibatűrő Rendszerek Kutatócsoport Budapesti Műszaki és
RészletesebbenAz adott eszköz IP címét viszont az adott hálózat üzemeltetői határozzákmeg.
IPV4, IPV6 IP CÍMZÉS Egy IP alapú hálózat minden aktív elemének, (hálózati kártya, router, gateway, nyomtató, stb) egyedi azonosítóval kell rendelkeznie! Ez az IP cím Egy IP cím 32 bitből, azaz 4 byte-ból
RészletesebbenRPC Remote Procedure Call Távoli eljárás hívás
RPC Remote Procedure Call Távoli eljárás hívás Hagyományos eljáráshívás: Count = read (fd, buf, nbytes) Paraméterek átadásának a típusai: - Érték szerinti átadás - Referencia szerinti átadás - Másoló/visszatöltő
RészletesebbenTartalom. Hálózati kapcsolatok felépítése és tesztelése. Rétegek használata az adatok továbbításának leírására. OSI modell. Az OSI modell rétegei
Tartalom Hálózati kapcsolatok felépítése és tesztelése Bevezetés: az OSI és a Általános tájékoztató parancs: 7. réteg: DNS, telnet 4. réteg: TCP, UDP 3. réteg: IP, ICMP, ping, tracert 2. réteg: ARP Rétegek
RészletesebbenPárhuzamos programozási platformok
Párhuzamos programozási platformok Parallel számítógép részei Hardver Több processzor Több memória Kapcsolatot biztosító hálózat Rendszer szoftver Párhuzamos operációs rendszer Konkurenciát biztosító programozási
RészletesebbenAdatszerkezetek 1. előadás
Adatszerkezetek 1. előadás Irodalom: Lipschutz: Adatszerkezetek Morvay, Sebők: Számítógépes adatkezelés Cormen, Leiserson, Rives, Stein: Új algoritmusok http://it.inf.unideb.hu/~halasz http://it.inf.unideb.hu/adatszerk
RészletesebbenEnterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans
Enterprise JavaBeans Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans (EJB) server oldali komponens, amely Az üzleti
RészletesebbenSzámítógépes hálózatok
Számítógépes hálózatok Hajdu György: A vezetékes hálózatok Hajdu Gy. (ELTE) 2005 v.1.0 1 Hálózati alapfogalmak Kettő/több tetszőleges gép kommunikál A hálózat elemeinek bonyolult együttműködése Eltérő
RészletesebbenKomponens alapú fejlesztés
Komponens alapú fejlesztés Szoftver újrafelhasználás Szoftver fejlesztésekor korábbi fejlesztésekkor létrehozott kód felhasználása architektúra felhasználása tudás felhasználása Nem azonos a portolással
Részletesebben