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

  1. Milyen rendszereket nevezünk osztott rendszereknek és milyen alapvető tulajdonságokkal rendelkeznek az osztott rendszerek?
  2. 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?
  3. 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?
  4. 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!
  5. 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?
  6. Mi a különbség centralizált és az osztott software struktúra között?
  7. Milyen kernel struktúrákat használnak az osztott rendszerekben és melyik kernel struktúra felel meg legjobban az osztott rendszer követelményeinek?
  8. Mit értünk osztott erőforrás alatt osztott rendszerekben? Soroljon fel hardware és software osztott erőforrásokat osztott rendszerekben!
  9. Ismertesse az erőforrás megosztás (resource sharing) szerepét osztott rendszerekben egy felhasználó szolgáltató példa segítségével!
  10. 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 ?
  11. 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!
  12. Mit értünk a nyitottság (openness) és a konkurencia (concurrency) alatt osztott rendszerekben?
  13. 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!
  14. 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!
  15. Mit kell érteni a következő konzisztencia fogalmak alatt: frissítési (update) konzisztencia, óra konzisztencia (clock), másolati (replication) konzisztencia?
  16. Miért kevésbé biztonságosak az osztott rendszerek, mint a centralizált rendszerek?
  17. 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

  1. Hányféleképpen helyezkedhetnek el a folyamatok a címtartományban (address space)? Ismertesse az egyes elhelyezkedési módokat!
  2. Hasonlítsa össze a konkurens és az osztott folyamatokat! Mi az alapvető különbség közöttük?
  3. 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?
  4. 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?
  5. Mi az azonosság és a különbség lokális és a globális ütemezés között osztott rendszerekben?
  6. Mit értünk terhelésmegosztás (load sharing) és terheléselosztás (load balancing) stratégia alatt?
  7. Mi a fonál (thread) és milyen komponensekből áll?
  8. Hogyan teszi lehetővé a fonál a párhuzamos és a szekvenciális végrehajtás kombinálását?
  9. Miért előnyösebb egy meglevő folyamathoz rendelt fonalat használni, mint egy új folyamatot létrehozni?
  10. Milyen műveleteket kell végrehajtani a folyamatok, illetve a fonalak létrehozásakor osztott rendszerekben?
  11. 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!
  12. Ismertesse az osztott rendszerek felhasználóiban (clients) és szolgáltatóiban (servers) használt fonalkezelési módszereket!
  13. 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!
  14. 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?
  15. 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!
  16. 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?
  17. Hasonlítsa össze a folyamat áthelyezési politikát (policy) és mechanizmust (mechanism)!
  18. 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?
  19. 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?
  20. Milyen feladatokat kell végrehajtani a folyamat áthelyezés során a folyamatról lemondó és a folyamatot átvevő gépen?
  21. Milyen a folyamathoz tartozó információkat kell átvinni a folyamat áthelyezés alatt?
  22. Mit kell érteni a következő fogalmak alatt
  23. 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!
  24. Hogyan lehet kezelni a kommunikációs problémákat folyamat áthelyezés során?

Communication in Distributed Systems

Interprocess communication

  1. 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?
  2. Határozza meg az üzenetküldés, a távoli eljáráshívás és tranzakció kommunikációs módszerek feladatait!
  3. Milyen három alapesete van a folyamatok közötti kommunikációnak és ezeket mikor célszerű használni?
  4. 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á?
  5. 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

  1. 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!
  2. 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?
  3. 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?
  4. 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?
  5. Milyen mechanizmus segítségével határozza meg a megbízható Send primitiv, hogy a kommunikációs folyamatban hiba lépett fel?
  6. Ismertese a megbízható Send és Receive primitivek által használt hibakezelési eljárásokat ütemdiagramjaik segítségével!
  7. 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)?
  8. Mi a különbség az aszimmetrikus és a szimmetrikus címzési eljárások Send és Receive primitivei között?
  9. Hogyan használják a link-et és a levelezőládát (mailbox) a közvetett címzési eljárásban?
  10. 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?
  11. Hasonlítsa össze a felhasználó-szolgáltató (client-server) és a csoportos adás (group multicasting) kommunikációs modelleket!
  12. Foglalja össze a felhasználó-szolgáltató kommunikációs modellben használt címzési eljárások műveleteit és tulajdonságait!
  13. 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?
  14. Mit nevezünk csoportnak (group) és milyen csoportokat használnak az üzenetváltás során?
  15. Sorolja fel különböző csoport típusokat és ismertesse alapvető tulajdonságaikat!
  16. Mi a különbség a broadcast és a multicast csoportos címzési mód között?

Remote procedure call

  1. 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!
  2. Milyen alapvető feladatokat kell végrehajtani a távoli eljáráshívás alatt (remote procedure call)?
  3. Indokolja meg, hogy célszerű-e multicast távoli eljáráshívást használni osztott rendszerekben!
  4. 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!
  5. 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!
  6. Ismertesse a felhasználó és a szolgáltató összekapcsolódása (binding) során végrehajtandó műveleteket!
  7. Mit értünk az adatcsomagolás (marshalling) alatt és milyen műveleteket kell végrehajtani az adatcsomagolás során?
  8. 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?
  9. Mi a felhasználó csatorna (client channel)? Hogyan szolgálhat ki egy szolgáltató több felhasználót?
  10. 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

  1. 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?
  2. 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!
  3. A részleges (partial) és a teljes (total) esemény sorrend hogyan határozza meg az események sorrendiségét osztott rendszerekben?
  4. Mi a különbség a Nemzetközi Atomi Idő /TAI/ és a Koordinált Univerzális Idő /UTC/ között?
  5. Mi az időbélyeg (timestamp) és a logikai óra (logical clock)?
  6. Foglalja össze a logikai óra működési szabályait!
  7. Hogyan határozza meg a logikai óra egy osztott rendszerben az események teljes (global) sorrendiségét?
  8. 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!
  9. Mi a koordináció és a szinkronizáció? Hasonlítsa össze a két műveletet!
  10. 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?
  11. Határozza meg a fizikai és a logikai óra feladatát a szinkronizálás alatt osztott rendszerekben!
  12. Hasonlítsa össze a Berkely és a Cristian szinkronizálási módszereket (feladatok és műveletek)!
  13. 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?
  14. 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!
  15. 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?
  16. Hogyan működik a központi folyamatra vagy szolgáltatóra (central process) épülő centralizált koordinációs eljárás?
  17. Hasonlítsa össze az eseményszámoló (event count) és a statikus szekvenszer (static sequencer) koordinációs módszereket!
  18. 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!
  19. Miért használják a választási mechanizmust (election) az osztott rendszerekben?
  20. Milyen üzeneteket használnak a Bully kiválasztási algoritmusban? Foglalja össze az egyes üzenetek feladatait és határozza meg az üzenetek kapcsolatát!
  21. Hogyan működik a gyűrű (ring) kiválasztási algoritmus?

Naming in Distributed Systems

  1. Milyen szolgáltatásokat nyújt és milyen szolgáltatásokra van hatással a névkezelő osztott rendszerekben?
  2. Hogyan kezeli a névkezelő az elhelyezési (location transparency) és az ismétlési (replication) átláthatóságot?
  3. Milyen névkezelési feladatokat kell végrehajtani egy erőforrás elérésekor osztott rendszerekben?
  4. Mi a különbség a névtér (name space) és a névtartomány (name domain) között?
  5. Ismertesse az osztott rendszerekben használt három legfontosabb névstruktúrát!
  6. Mi a kapcsolat a névtér (name space) és a névkörnyezet (name context) között az osztott rendszerekben?
  7. Mit értünk felhasználói név (user name) alatt és foglalja össze a felhasználói név tipusait!
  8. 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?
  9. Mit nevezünk egyedi számítógép orientált azonosítónak (unique computer-oriented identifier) osztott rendszerekben?
  10. 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?
  11. Milyen kapcsolat van a név (name), a cím (address), az útvonal (route) között osztott rendszerekben?
  12. Hogyan lehet egy felhasználói névtől eljutni az elérendő objektumhoz vezető útvonalig?
  13. Hogyan valósítják meg a központosított (centralised) és az osztott (distributed) névkezelést osztott rendszerekben!
  14. Ismertesse azokat az osztott rendszerekben alkalmazott névkezelési módszereket, amelyekben directory rendszer ügynököket (directory system agent) használnak?
  15. Milyen funkcionális és strukturális elemeket használunk névkezelés során az osztott rendszerekben? Mi ezeknek az elemeknek a feladatai!
  16. Rajzolja fel és magyarázza meg az osztott rendszerek névkezelési modelljét!
  17. Milyen feladatokat kell végrehajtania a névszolgáltatónak (name server) osztott rendszerekben?
  18. Mi a különbség a névelosztás (name distribution) és a névfelbontás (name resolution) között?
  19. 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?
  20. 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!
  21. Mikor érdemes a felhasználónál és mikor érdemes a szolgáltatónál elhelyezni a névkezelő cache-t?

Distributed File Systems

  1. Mit értünk file szolgáltató (file server) alatt osztott rendszerekben?
  2. Miért van szükség a file rendszer összekapcsolására (mounting) osztott rendszerekben?
  3. Milyen szempontok alapján csoportosítják a file szolgáltatókat?
  4. Hogyan kell kezelni a többszörös felhasználókat és a többszörös file-okat osztott rendszerekben?
  5. Milyen átláthatósági követelményeket kell biztosítania a file rendszernek az osztott rendszerekben és hogyan valósítja meg azokat?
  6. Milyen szolgáltatásokkal kell kiegészíteni a hagyományos file rendszert, hogy osztott file rendszert kapjunk?
  7. Mutassa be a könyvtár szolgáltatás feladatait és foglalja össze legfontosabb szolgáltatásait!
  8. Hogyan biztosítja a könyvtár szolgáltatás a file hozzáférés ellenőrzését?
  9. 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?
  10. 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?
  11. 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?
  12. Mutassa be a többszörös filek kezelésére szolgáló két módszert (master-slave) (distributed update control)!
  13. Miben különbözik a tranzakció szolgáltatás (/transaction service) a diszk- és a file szolgáltatástól?
  14. Hogyan biztosítja a tranzakció szolgáltatás a konkurencia kezelését?
  15. Ismertesse a két legfontosabb hibakezelési módszert, amelyet a tranzakció szolgáltatás használ!
  16. Mi a file szolgáltatás és foglalja össze legfontosabb szolgáltatásait!
  17. Mikor nevezünk egy file szolgáltatót állapotnélküli file (stateless file server) szolgáltatónak?
  18. Határozza meg a diszk szolgáltatás (disk service) feladatait és alapszolgáltatásait!
  19. Ismertesse az általános file azonosító (UFID) struktúráját és elemeit!
  20. Hogyan biztosítja a file szolgáltató a file cache konzisztenciáját?