Vizsgaidőpontok, tudnivalók
DTOS Vizsgakérdések
(Postscript, WinWord)
Introduction to Distributed Systems
Process Management in Distributed Systems
Communication in Distributed Systems
Time, Synchronisation and Co-ordination in
Distributed Systems
Naming in Distributed Systems
Distributed File Systems
Introduction to Distributed Systems
- Milyen rendszereket nevezünk osztott rendszereknek és milyen
alapvető tulajdonságokkal rendelkeznek az osztott rendszerek?
- Mi a különbség a hálózati rendszerek (network systems), a több
processzoros rendszerek (multiprocessor systems) és az osztott
rendszerek (distributed systems) között?
- Mi a különbség a lazán és a szorosan csatolt számítógépes
rendszerek között, illetve melyiket célszerű alkalmazni osztott
rendszerekben?
- Hasonlítsa össze a munkaállomás-szerver (workstation-server), a
processzor medence (processor-pool) hardware struktúrák terhelés
megosztását az osztott rendszerekben!
- Miért célszerű a processzor medence hardware struktúrát alkalmazni
osztott rendszerekben pl. az osztott számítás és az átláthatóság
szempontjából?
- Mi a különbség centralizált és az osztott software struktúra
között?
- Milyen kernel struktúrákat használnak az osztott rendszerekben és
melyik kernel struktúra felel meg legjobban az osztott rendszer
követelményeinek?
- Mit értünk osztott erőforrás alatt osztott rendszerekben? Soroljon
fel hardware és software osztott erőforrásokat osztott rendszerekben!
- Ismertesse az erőforrás megosztás (resource sharing) szerepét
osztott rendszerekben egy felhasználó szolgáltató példa segítségével!
- Mi a különbség a felhasználó-szolgáltató (client-server) osztott
modell erőforrás manager és az objektum-orientált (object-based)
osztott modell objektum manager között ?
- Hasonlítsa össze az adat- és a számításáthelyezés, illetve az
osztott ütemezés feladatait összetett rendszerekben, illetve sorolja
fel előnyeiket és hátrányaikat!
- Mit értünk a nyitottság (openness) és a konkurencia (concurrency)
alatt osztott rendszerekben?
- Foglalja össze az átláthatóság (transparency) fogalmát az osztott
rendszerekben! Hasonlítsa össze az elhelyezési (location) és az
áthelyezési (migration) átláthatóságot!
- A folyamatok végrehajtási helye átlátható-e ha az osztott rendszer
szabad processzor kapacitást használ fel a folyamatok futtatására?
Indokolja meg a válaszát!
- Mit kell érteni a következő konzisztencia fogalmak alatt:
frissítési (update) konzisztencia, óra konzisztencia (clock), másolati
(replication) konzisztencia?
- Miért kevésbé biztonságosak az osztott rendszerek, mint a
centralizált rendszerek?
- Sorolja fel az osztott rendszerek (distributed systems) előnyeit
és hátrányait és hasonlítsa össze a központi rendszerekkel
(centralised systems)!
Process Management in Distributed Systems
- Hányféleképpen helyezkedhetnek el a folyamatok a címtartományban
(address space)? Ismertesse az egyes elhelyezkedési módokat!
- Hasonlítsa össze a konkurens és az osztott folyamatokat! Mi az
alapvető különbség közöttük?
- Egy felhasználó az általa használt folyamatokhoz védett stack-et
rendelt hozzá, miközben a folyamatok által használt összes többi
memóriaterület osztott. Mi ennek a megoldásnak az előnye/hátránya?
- Ismertesse a folyamat létrehozásának műveleteit osztott
rendszerben? Mi a különbség a folyamatok létrehozásában központosított
és osztott rendszerekben?
- Mi az azonosság és a különbség lokális és a globális ütemezés
között osztott rendszerekben?
- Mit értünk terhelésmegosztás (load sharing) és terheléselosztás
(load balancing) stratégia alatt?
- Mi a fonál (thread) és milyen komponensekből áll?
- Hogyan teszi lehetővé a fonál a párhuzamos és a szekvenciális
végrehajtás kombinálását?
- Miért előnyösebb egy meglevő folyamathoz rendelt fonalat
használni, mint egy új folyamatot létrehozni?
- Milyen műveleteket kell végrehajtani a folyamatok, illetve a
fonalak létrehozásakor osztott rendszerekben?
- Hasonlítsa össze a három legfontosabb fonál modellt, az
irányító-munkás (dispatcher-worker), a csapat (team) és a cső
(pipeline) modellt!
- Ismertesse az osztott rendszerek felhasználóiban (clients) és
szolgáltatóiban (servers) használt fonalkezelési módszereket!
- Milyen szolgáltatásokat nyújt a fonálcsomag (threads package) a
felhasználóknak? Mutassa be részletesen a fonál szinkronizálási
eljárásokat!
- Hogyan valósul meg a hardware és a fonál közötti kapcsolat a
felhasználói (user level) és a kernel (kernel) szintű fonálcsomagok
használata esetén?
- Hasonlítsa össze a felhasználói és kernel szintű fonálcsomag
előnyeit és hátrányait a szinkronizálási és az ütemezési folyamatok
szemszögéből!
- Mi a különbség a távoli folyamat végrehajtás (remote execution) és
a folyamat áthelyezés (process migration) között?
- Hasonlítsa össze a folyamat áthelyezési politikát (policy) és
mechanizmust (mechanism)!
- Mi az átviteli (transfer), kiválasztási (selection) és
helyválasztási (location) stratégia feladata távoli folyamat
végrehajtás és folyamat áthelyezés alatt?
- Rajzolja fel a távoli folyamat végrehajtás feladat- és
idődiagramját! Mi a feltétele a távoli folyamat végrehajtásnak?
- Milyen feladatokat kell végrehajtani a folyamat áthelyezés során a
folyamatról lemondó és a folyamatot átvevő gépen?
- Milyen a folyamathoz tartozó információkat kell átvinni a folyamat
áthelyezés alatt?
- Mit kell érteni a következő fogalmak alatt
- teljes befagyasztás (total freezing),
- előátvitel (pre-transfer),
- átvitel hivatkozással (transfer on reference)?
- Hasonlítsa össze a folyamat migrációs problémát egyprocesszoros
munkaállomások és osztott memóriás többprocesszoros számítógép esetén!
- Hogyan lehet kezelni a kommunikációs problémákat folyamat
áthelyezés során?
Communication in Distributed Systems
Interprocess communication
- Mi a folyamatok közötti kommunikáció (interprocess communication)?
Mi a különbség a helyi (local) és a távoli (remote) folyamatok közötti
kommunikáció között?
- Határozza meg az üzenetküldés, a távoli eljáráshívás és tranzakció
kommunikációs módszerek feladatait!
- Milyen három alapesete van a folyamatok közötti kommunikációnak és
ezeket mikor célszerű használni?
- Mi a csatorna? Hogyan kommunikál két folyamat, amelyeket egy
processzorhoz, illetve két processzorhoz, amelyek különböző gépeken
találhatók, rendeltek hozzá?
- Mi különbség a csatorna, a levelezőláda, a link és a port között a
kommunikációban osztott rendszerekben?
Message passing
- Mi a különbség a lokális és a távoli randevú között? Rajzolja fel
a lokális és a távoli randevú ütemdiagramját!
- Milyen buffereket használnak az üzenetváltás során? Mi a kapcsolat
a bufferek tárolási kapacitása és a kommunikáció között?
- Mutassa be a bufferelt Send és a bufferelt Receive műveleteket! Mi
a különbség az alap és a bufferelt Send és Receive műveletek között?
- Hogyan lehet végrehajtani a blokkoló (blocking) és a nem-blokkoló
(non-blocking) Send és Receive primitiveket? Mi az előnye a blocking
Send, illetve a non-blocking Send primitiveknek?
- Milyen mechanizmus segítségével határozza meg a megbízható Send
primitiv, hogy a kommunikációs folyamatban hiba lépett fel?
- Ismertese a megbízható Send és Receive primitivek által használt
hibakezelési eljárásokat ütemdiagramjaik segítségével!
- Mi az előnye és a hátránya a megbízható kommunikációs primitívnek,
ha mind a kérés (request), mind a válasz (reply) primitívhez tartozik
nyugta (acknowledge)?
- Mi a különbség az aszimmetrikus és a szimmetrikus címzési
eljárások Send és Receive primitivei között?
- Hogyan használják a link-et és a levelezőládát (mailbox) a
közvetett címzési eljárásban?
- Miért célszerűbb port-ot használni, mint folyamatazonosítót vagy
levélládát az üzenetek rendeltetési helyének meghatározására?
- Hasonlítsa össze a felhasználó-szolgáltató (client-server) és a
csoportos adás (group multicasting) kommunikációs modelleket!
- Foglalja össze a felhasználó-szolgáltató kommunikációs modellben
használt címzési eljárások műveleteit és tulajdonságait!
- Mi az előnye és hátránya az ún. egy, illetve két nyugtás
(acknowledgement) megbízható kommunikációnak a felhasználó-szolgáltató
kommunikációs modellben?
- Mit nevezünk csoportnak (group) és milyen csoportokat használnak
az üzenetváltás során?
- Sorolja fel különböző csoport típusokat és ismertesse alapvető
tulajdonságaikat!
- Mi a különbség a broadcast és a multicast csoportos címzési mód
között?
Remote procedure call
- Mi a távoli eljáráshívás? Foglalja össze a távoli eljárás hívás
során használt felhasználó és a szolgáltató primitíveket!
- Milyen alapvető feladatokat kell végrehajtani a távoli
eljáráshívás alatt (remote procedure call)?
- Indokolja meg, hogy célszerű-e multicast távoli eljáráshívást
használni osztott rendszerekben!
- Rajzolja fel a távoli eljárás hívás blokkvázlatát és határozza meg
felhasználó és a szolgáltató egység (stub) feladatait!
- Mutassa be a távoli eljáráshívás során használt két paraméter
átadási módszert és indokolja meg, hogy miért ezeket a módszereket
használják!
- Ismertesse a felhasználó és a szolgáltató összekapcsolódása
(binding) során végrehajtandó műveleteket!
- Mit értünk az adatcsomagolás (marshalling) alatt és milyen
műveleteket kell végrehajtani az adatcsomagolás során?
- A felhasználó választ kap a szolgáltatótól, mielőtt válaszolhatna
elromlik. Meg kell-e ismételnie a szolgáltatónak az üzenetet, illetve
mennyi ideig kell tárolnia az üzenetet?
- Mi a felhasználó csatorna (client channel)? Hogyan szolgálhat ki
egy szolgáltató több felhasználót?
- Hasonlítsa össze a távoli eljáráshívásban használt felhasználó
csatorna (client channel)/ és az ismételt csoportos (troupe &
replicated) eljáráshívás módszereket!
Time, Synchronisation and Co-ordination in
Distributed Systems
- Mit értünk részleges (partially) esemény sorrend alatt? Milyen
matematikai logikai szabályok segítségével lehet leírni az események
részleges sorrendjét?
- Mi a különbség a részleges (partial) és a teljes (total) esemény
sorrend között? Mutassa be a különbségeket a matematikai logikai
szabályok segítségével!
- A részleges (partial) és a teljes (total) esemény sorrend hogyan
határozza meg az események sorrendiségét osztott rendszerekben?
- Mi a különbség a Nemzetközi Atomi Idő /TAI/ és a Koordinált
Univerzális Idő /UTC/ között?
- Mi az időbélyeg (timestamp) és a logikai óra (logical clock)?
- Foglalja össze a logikai óra működési szabályait!
- Hogyan határozza meg a logikai óra egy osztott rendszerben az
események teljes (global) sorrendiségét?
- Mi a különbség a logikai és a vektor óra között? Mutassa be a két
óra működését esemény diagrammok segítségével!
- Mi a koordináció és a szinkronizáció? Hasonlítsa össze a két
műveletet!
- Milyen feladatok és problémák merülnek fel a szinkronizáció során,
illetve, hogy oldják meg ezeket a feladatokat és problémákat?
- Határozza meg a fizikai és a logikai óra feladatát a
szinkronizálás alatt osztott rendszerekben!
- Hasonlítsa össze a Berkely és a Cristian szinkronizálási
módszereket (feladatok és műveletek)!
- Milyen problémák merülnek fel a Cristian módszer végrehajtása
során és hogy oldják meg ezeket a problémákat?
- Miért nevezik az átlagolási módszert osztott szinkronizálási
eljárásnak? Foglalja össze az átlagolási módszer szinkronizálási
lépéseit!
- Milyen feladatok és problémák merülnek fel a koordináció során,
illetve, hogy oldják meg ezeket a feladatokat és problémákat?
- Hogyan működik a központi folyamatra vagy szolgáltatóra (central
process) épülő centralizált koordinációs eljárás?
- Hasonlítsa össze az eseményszámoló (event count) és a statikus
szekvenszer (static sequencer) koordinációs módszereket!
- Hogyan használják az osztott koordináció során a többszörös
logikai órát (multiple logical clock)? Mutassa be a koordinációs
eljárás lépéseit!
- Miért használják a választási mechanizmust (election) az osztott
rendszerekben?
- Milyen üzeneteket használnak a Bully kiválasztási algoritmusban?
Foglalja össze az egyes üzenetek feladatait és határozza meg az
üzenetek kapcsolatát!
- Hogyan működik a gyűrű (ring) kiválasztási algoritmus?
Naming in Distributed Systems
- Milyen szolgáltatásokat nyújt és milyen szolgáltatásokra van
hatással a névkezelő osztott rendszerekben?
- Hogyan kezeli a névkezelő az elhelyezési (location transparency)
és az ismétlési (replication) átláthatóságot?
- Milyen névkezelési feladatokat kell végrehajtani egy erőforrás
elérésekor osztott rendszerekben?
- Mi a különbség a névtér (name space) és a névtartomány (name
domain) között?
- Ismertesse az osztott rendszerekben használt három legfontosabb
névstruktúrát!
- Mi a kapcsolat a névtér (name space) és a névkörnyezet (name
context) között az osztott rendszerekben?
- Mit értünk felhasználói név (user name) alatt és foglalja össze a
felhasználói név tipusait!
- Mi a különbség és a mi a kapcsolat a felhasználói (user name) és a
rendszer (system name) név között?
- Mit nevezünk egyedi számítógép orientált azonosítónak (unique
computer-oriented identifier) osztott rendszerekben?
- Mi a különbség az egyedi számítógép azonosító (unique
computer-oriented identifier) és a védelem (protection-oriented)
orientált azonosító között?
- Milyen kapcsolat van a név (name), a cím (address), az útvonal
(route) között osztott rendszerekben?
- Hogyan lehet egy felhasználói névtől eljutni az elérendő
objektumhoz vezető útvonalig?
- Hogyan valósítják meg a központosított (centralised) és az osztott
(distributed) névkezelést osztott rendszerekben!
- Ismertesse azokat az osztott rendszerekben alkalmazott névkezelési
módszereket, amelyekben directory rendszer ügynököket (directory
system agent) használnak?
- Milyen funkcionális és strukturális elemeket használunk névkezelés
során az osztott rendszerekben? Mi ezeknek az elemeknek a feladatai!
- Rajzolja fel és magyarázza meg az osztott rendszerek névkezelési
modelljét!
- Milyen feladatokat kell végrehajtania a névszolgáltatónak (name
server) osztott rendszerekben?
- Mi a különbség a névelosztás (name distribution) és a névfelbontás
(name resolution) között?
- Mi a különbség a rekurzív láncolt névfelbontás (recursive chaining
name resolution) és a tranzitív láncolt névfelbontás (transitive
chaining name resolution) között?
- Hasonlítsa össze az ügynök alapú (agent-based reference
resolution) és a szolgáltató alapú (server-based reference resolution)
névfelbontási módszert!
- Mikor érdemes a felhasználónál és mikor érdemes a szolgáltatónál
elhelyezni a névkezelő cache-t?
Distributed File Systems
- Mit értünk file szolgáltató (file server) alatt osztott
rendszerekben?
- Miért van szükség a file rendszer összekapcsolására (mounting)
osztott rendszerekben?
- Milyen szempontok alapján csoportosítják a file szolgáltatókat?
- Hogyan kell kezelni a többszörös felhasználókat és a többszörös
file-okat osztott rendszerekben?
- Milyen átláthatósági követelményeket kell biztosítania a file
rendszernek az osztott rendszerekben és hogyan valósítja meg azokat?
- Milyen szolgáltatásokkal kell kiegészíteni a hagyományos file
rendszert, hogy osztott file rendszert kapjunk?
- Mutassa be a könyvtár szolgáltatás feladatait és foglalja össze
legfontosabb szolgáltatásait!
- Hogyan biztosítja a könyvtár szolgáltatás a file hozzáférés
ellenőrzését?
- Hogyan helyezik el (placement) és hogyan találják meg (location) a
file-okat osztott rendszerekben? Milyen problémákat kell megoldani a
file keresés közben?
- Milyen információkat tárolnak az osztott file rendszer
könyvtáraiban? Miért a file-ok és nem a könyvtárak tárolják a file-ok
attributumait az osztott rendszerekben?
- Mi a lényege a többszörös file szolgáltatásnak (replicated file
service)? Miben különbözik a normál és a többszörös file (replicated
file service) szolgáltatás?
- Mutassa be a többszörös filek kezelésére szolgáló két módszert
(master-slave) (distributed update control)!
- Miben különbözik a tranzakció szolgáltatás (/transaction service)
a diszk- és a file szolgáltatástól?
- Hogyan biztosítja a tranzakció szolgáltatás a konkurencia
kezelését?
- Ismertesse a két legfontosabb hibakezelési módszert, amelyet a
tranzakció szolgáltatás használ!
- Mi a file szolgáltatás és foglalja össze legfontosabb
szolgáltatásait!
- Mikor nevezünk egy file szolgáltatót állapotnélküli file
(stateless file server) szolgáltatónak?
- Határozza meg a diszk szolgáltatás (disk service) feladatait és
alapszolgáltatásait!
- Ismertesse az általános file azonosító (UFID) struktúráját és
elemeit!
- Hogyan biztosítja a file szolgáltató a file cache
konzisztenciáját?