11. 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



Hasonló dokumentumok
Elosztott rendszerek. Az elıadás. Az elosztott rendszer definíciója. Köztesrétegként felépülı elosztott rendszer

UNIX: folyamatok kommunikációja

UNIX operációs rendszer bemutatása. A UNIX története, fejlesztésének céljai.

Operációs rendszerek. A védelem célja. A fenyegetés forrásai. Védelmi tartományok. Belső biztonság. Tartalom

Kommunikáció. 3. előadás

Folyamatok. 6. előadás

Kommunikáció. Folyamatok közötti kommunikáció. Minden elosztott rendszer alapja

E mail titkosítás az üzleti életben ma már követelmény! Ön szerint ki tudja elolvasni bizalmas leveleinket?

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

DCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1

9. Állományok kezelése. Operációs rendszerek. Állomány (file) Könyvtár. Az állománykezelő feladatai. Az állományrendszer réteges implementációja

UNIX: fájlrendszerek

Autóipari beágyazott rendszerek. A kommunikáció alapjai

Hálózati ismeretek. Az együttműködés szükségessége:

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon

III. előadás. Kovács Róbert

Számítógépes Hálózatok. 5. gyakorlat

Számítógépes Hálózatok Felhasználói réteg DNS, , http, P2P

Felhasználói réteg. Számítógépes Hálózatok Domain Name System (DNS) DNS. Domain Name System

Csoportos üzenetszórás optimalizálása klaszter rendszerekben

A számítógép-hálózat egy olyan speciális rendszer, amely a számítógépek egymás közötti kommunikációját biztosítja.

Györgyi Tamás. Szoba: A 131 Tanári.

NIS + NFS+Automount. Összeállította: Sallai András

COMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group

Hálózati Architektúrák és Protokollok GI BSc. 3. laborgyakorlat

Hálózatok. Alapismeretek. A hálózatok célja, építőelemei, alapfogalmak

Autóipari beágyazott rendszerek. Local Interconnection Network

S04-2 Elosztott alkalmazások készítése

Tájékoztató az Ügyfélkapu használatáról

A rendszer célja. Funkciók

Általános fiók beállítási útmutató

Utolsó módosítás:

Hálózati réteg. Feladata: a csomag eljusson a célig Több útválasztó Ez a legalacsonyabb rétek, mely a két végpont

Adatkapcsolati réteg 1

Enterprise JavaBeans 1.4 platform (EJB 2.0)

Beállítások 1. Töltse be a Planet_NET.pkt állományt a szimulációs programba! A teszthálózat már tartalmazza a vállalat

Hálózati alapismeretek

FITI 2016 Konferencia. Jövőbiztos adatközpontok A sebességnövekedés kihívásai és hatásai

Debreceni Egyetem Matematikai és Informatikai Intézet. 13. Védelem

Statikus routing. Hoszt kommunikáció. Router működési vázlata. Hálózatok közötti kommunikáció. (A) Partnerek azonos hálózatban

Hálózati architektúrák laborgyakorlat

SSL VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ

Non-stop hozzáférés az üzleti információkhoz bárhol, bármikor és bármilyen eszközzel

Operációs rendszerek Folyamatok 1.1

Információ és kommunikáció

Egyirányban láncolt lista

Osztott alkalmazások fejlesztési technológiái Áttekintés

2011 TAVASZI FÉLÉV 10. LABORGYAKORLAT PRÉM DÁNIEL ÓBUDAI EGYETEM NAT/PAT. Számítógép hálózatok gyakorlata

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

Microsoft SQL Server telepítése

Tűzfal megoldások. ComNETWORX nap, I. 30. ComNETWORX Rt.

Az elektronikus másolatkészítés rendszerének műszaki dokumentációja 1. BEVEZETŐ

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

Elnevezési rendszerek. 7. előadás

Alapfogalmak. Biztonság. Biztonsági támadások Biztonsági célok

Számítógép hálózatok gyakorlat

Léteznek nagyon jó integrált szoftver termékek a feladatra. Ezek többnyire drágák, és az üzemeltetésük sem túl egyszerű.

Rendszám felismerő rendszer általános működési leírás

A webhelyhez kötődő szoftverek architektúrája

A JGrid rendszer biztonsági architektúrája. Magyaródi Márk Juhász Zoltán Veszprémi Egyetem

OPERÁCIÓS RENDSZEREK. Elmélet

A DNS64 és NAT64 IPv6 áttérési technikák egyes implementációinak teljesítőképesség- és stabilitás-vizsgálata. Répás Sándor

UNIX fájlrendszerek alapismeretei

Alkalmazások típusai Szoftverismeretek

TRBOnet Térinformatikai terminál és diszpécseri konzol

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Számítógépes hálózatok

Szenzorhálózatok programfejlesztési kérdései. Orosz György

Városi tömegközlekedés és utastájékoztatás szoftver támogatása

Számítógépes Hálózatok. 7. gyakorlat

HITELES MÁSOLATKÉSZÍTÉSI REND

Technikai tudnivalók a Saxo Trader Letöltéséhez tűzfalon vagy proxy szerveren keresztül

Belépés a GroupWise levelező rendszerbe az Internet felől

Java-s Nyomtatványkitöltő Program Súgó

Számítógépes Hálózatok 2012

Két típusú összeköttetés PVC Permanent Virtual Circuits Szolgáltató hozza létre Operátor manuálisan hozza létre a végpontok között (PVI,PCI)

Multiprotocol encapsulation (RFC1483) - IETF Classical IP over ATM (RFC1577) - IETF LAN Emulation (LANE) - ATM Forum Multiprotocol over ATM (MPOA) -

Elosztott rendszer architektúrák

Adatbázis rendszerek 7. előadás State of the art

Műszaki dokumentáció Másolatkészítés műszaki feltételei

Vonalkód olvasó rendszer. Specifikáció Vonalkód olvasó rendszer SoftMaster Kft. [1]

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

Elnevezési rendszerek. Szinkronizálás

Összefoglalás és gyakorlás

Tartalom. Történeti áttekintés. Történeti áttekintés Architektúra DCOM vs CORBA. Szoftvertechnológia

OOP. Alapelvek Elek Tibor

Komponens modellek. 3. Előadás (első fele)

Az internet az egész világot behálózó számítógép-hálózat.

Egyetemi könyvtári nyilvántartó rendszer

Rendszerkezelési útmutató

Operációs rendszerek. Az X Window rendszer

Fájlrendszerek. A Windows operációs rendszerek fájlrendszere

Készítette: Trosztel Mátyás Konzulens: Hajós Gergely


DebitTray program Leírás

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor

Számítógépes Hálózatok. 5. gyakorlat

Számítógépes munkakörnyezet II. Szoftver

M-Files Dokumentumkezelő telepítése

Hálózati operációs rendszerek II. Novell Netware 5.1 Hálózati nyomtatás

Átírás:

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ó implementációja Állományok többszörözése Felhasznált irodalom: Kóczy-Kondorosi (szerk.): Operációs rendszerek mérnöki megközelítésben Tanenbaum: Modern Operating Systems 2nd. Ed. Silberschatz, Galvin, Gagne: Operating System Concepts 2 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ányt 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ó (server) az ügyfelek (kliens) számára szolgáltatásként műveleteket biztosít az állományain. Az osztott állománykezelés lassabb (állományok megtalálása, állományok átvitele). Teljesítmény növelése speciális hardver elemek gyors kommunikációs csatorna szolgáltatók nagy sebességű háttértárai szolgáltatók speciális architektúrája, nagy központi tárja szoftver módszerek gyors (kevés információt tartalmazó) kommunikációs protokollok a szolgáltató OS-ének, ütemezési algoritmusának a feladathoz hangolásával átmeneti tárolás (szolgáltatónál, ügyfélnél) (cache) 3 4 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 (melyik gépen van stb.) 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ét szintű azonosító egymáshoz rendelése. 5 Az állományok nevei 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. Állomány vándorlás (file migration) az elosztott rendszer kezdeményezésére történik. 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). 6 1

Az elhelyezkedés-független név előnyei A név elrejt minden, a fizikai tárolással kapcsolatos információt (az állomány teljesen absztrakt fogalom) Az állományvándorlás segítségével az elosztott OS az egész háttértárat egységesen kezeli, a szabad területeket rendszerszinten kezeli (kihasználtság dinamikus kiegyensúlyozása). 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 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> A távoli állományrendszer 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. Pl. UNIX Network File System, NFS 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. Teljes elosztott rendszert lefedő egységes elnevezések Globális (a rendszer egészére) nevek használata. 7 8 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épzési tábla túl nagy lenne, ha minden állomány szerepel 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. Á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 9 10 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), aktualizálás fontos. Kétszintű leképezési táblák felhasználó szintű név elhelyezkedés független alacsony szintű név csomópont fizikai hely 11 12 2

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ás paramé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ális dé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 a választ a kérésből megállapítható feladónak küldi vissza. A kliens folyamat és a démon között asszimetrikus kommunikáció van (az ügyfélnek meg kell neveznie a kaput, és ezzel a hozzá tartozó démont). 13 14 Távoli eljáráshívások menete Lásd az egész oldalas ábrát a dokumentum végén. Távoli eljáráshívások speciális problémái Hálózati kommunikáció nem megbízható. Fontos, hogy minden kérés pontosan egyszer hajtódjon végre. A kéréseket a kliensek sorszámozzák, időbélyeget fűznek hozzá (time stamp), az egyszer már kiszolgált sorszámú kérést a szerver ignorálja. Kliens oldalon a távoli eljárásokat a megfelelő kapukra kell képezni, itt a megfelelő démon várakozik. A leképzés lehet: statikus minden művelethez előre kijelölt kapu tartozik dinamikus műveletenként a kapu számát egy kötött kapuban lévő démon szolgáltatja (házasságközvetítő, matchmaker). 15 16 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. Az elv azonos a virtuális tárkezelésben alkalmazott átmeneti tárkezeléssel (caching). ha szükséges, az új információknak helyet csinálunk a szükséges információt a hálózaton keresztül az átmeneti tárba töltjük a műveleteket a helyi másolaton végezzük el változás esetén az információkat visszaírjuk Az átviteli egység meghatározása rendelkezésre álló átmeneti tár mérete az alapszintű hálózati protokoll (megengedett blokkméret), illetve az RPC-ben (Remote Procedure Calling) megengedett blokkméret. Problémák: Az átviteli egység meghatározása Hol legyen az átmeneti tárolás A változások érvényre juttatása (update) Az átmeneti tár konzisztenciája 17 18 3

Az átmeneti tárolás helye helyi gép központi tárjában gyors, háttértár nélkül is alkalmazható. helyi gép háttértártárjában megbízható, teljes állományokat is tartalmazhat. A változások érvényre juttatása (update) A módosításokat a szolgáltatóval közölni kell: azonnal lassú, biztonságos késleltetve (delayed write) gyors, nem biztonságos. Visszaírás történhet: ha szükség van helyre az átmeneti tárban, időközönként, az állomány lezárásakor. 19 20 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, hogy a 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 (speciális üzenetek a kliensektől), ha az állományokban olyan változás van, ami inkonzisztenciát okoz, értesíti a klienseket. értesítés (consistency semantics): 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 nagy blokkok átvitele gazdaságosabb a hálózati protokoll a blokk méretéhez képest kevesebb plusz információt tesz hozzá a szolgáltató lemezműveletei gyorsulnak A távoli szolgáltatás előnyei: nincs konzisztencia probléma (az egyetlen példányt a szolgáltató kezeli) a kliens erőforrásai nem korlátozzák a művelet végrehajtását (pl. nincs elég hely a helyi tároláshoz) a távoli szolgáltatások felülete megegyezik a helyi állománykezelő szolgáltatások felületével 21 22 A szolgáltató implementációja Állapotot tároló (stateful) szolgáltató Állapot nélküli (stateless) szolgáltató Á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. Az állományok megnyitásakor kapcsolat-leírót készít, lezárásig nyomon követi a műveletet. Előnyei: nagyobb teljesítmény az állományohoz való egymás utáni hozzáférések már elő vannak készítve, szekvenciális megnyitás esetén előre olvashat konzisztencia problémák figyelése, kezelése Hátrányai: szolgáltató leállásakor az ügyfelek kéréseit nem tudja kiszolgálni, azoknak is terminálniuk kell, ú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 (orphan detection), hogy érvénytelenítse az állapotinformációkat. 23 24 4

Á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ók kell átvinni minden kérés kiszolgálásához az állományt meg kell találni Az állományok többszörözése Érdemes az állományokat megsokszorozni (file replication) A rendszer hibatűrő képessége nő (másolatok független csomópontokba helyezése), gyorsabb kiszolgálás (pl. "legközelebbi" állomány, vagy legkevésbé terhelt csomópont kiválasztása). Problémák: Az állomány megnevezését (a felhasználó számára láthatatlan módon) egy másolathoz kell kötni, automatikusan kell kezelni a többszörözést, a másolatok elhelyezését, megszüntetését, a szükséges módosításokat az összes másolaton el kell végezni (konzisztencia). 25 26 5

Távoli eljáráshívások menete kliens Felhasználó a kernelt hívja: RPC üzenet küldése X eljárásnak üzenetek szerver A kernel üzenetet küld a házasságközvetítőnek: mi a port száma? From: client To: server Port: matchmaker Re: address for RPC X A házasságközvetítő fogadja az üzenetet és megkeresi a választ. A kernel beírja a P port címét a felhasználó üzenetébe From: server To: client Port: kernel Re: RPC X Port P A házasságközvetítő elküldi a kliensnek a választ: P port. A kernel elküldi az RPC üzenetet. From: client To: server Port: P <tartalom> A P portot figyelő démon fogadja az üzenetet. A kernel fogadja a választ, majd továbbítja a felhasználónak From: PRC Port P To: client Port: kernel <eredmény> A démon feldolgozza a kérést és az eljárás eredményét elküldi. 15