21 - 40 Flashcards

1
Q

Ukratko navedite najbitnije detalje dizajna klijenta i detalje dizajna poslužitelja.

A

Detalji dizajna klijenta:
● omoguciti sredinu u kojoj korisnik medudjeluje s udaljenim posluziteljima
● visenitnost
○ sakriti latenciju
○ omoguciti visestruka simultana spajanja
● mora se znati posluziteljska adresa (endpoint, port)
● transparentnost repliciranja
Detalji dizajna posluzitelja
● omogucavanje informacija o krajnjoj tocki
● tcp (connection-oriented) ili udp (connection-less)
● istovremeni (concurrent) ili ponavljajuci (iterative) posluzitelj
○ rukuje visestrukim zahtjevima odjednom ili jedan za drugim?
● stateful ili stateless

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Skicirajte spajanje klijenta na poslužitelj korištenjem daemona i korištenjem
superposlužitelja.

A

IMA SLIKA.
Klijent zatrazi endpoint servera od serverskog daemon procesa. S tim endpointom, klijent se
spaja na server i vrsi komunikaciju.
IMA SLIKA.
Klijent napravi serverski zahtjev, a u pozadini super-server kreira stvarni server, koji ispuni taj
zahtjev (pri cemu klijent nije svjestan toga).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Skicirajte način rada višenitnog poslužitelja organiziranog po modelu
dispečer/radnik.

A

IMA SLIKA.
Master/slave nacin rada. Dispatcher thread rastrka posao po worker threadovima, oni naprave
posao, server vrati rezultat.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Ukratko objasnite razliku između poslužitelja s pamćenjem i bez pamćenja stanja, te
između konekcijskih i beskonekcijskih poslužitelja.

A

Stateful serveri cuvaju metapodatke klijenta za brzu obradu zahtjeva. Stateless to ne radi i zato
imaju brzi i pouzdaniji oporavak nakon pada (ne treba se brinuti o cjelovitosti metapodataka),
ima manje memorijske zahtjeve.
Konekcijski posluzitelji zahtjevaju konekcijski protokol kako bi radili (npr. TCP, validiranje slanja i
primanja paketa), dok beskonekcijski to nemaju, jer nije “strasno” ako se koji paket propusti
(npr. UDP, streamanje videa).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Objasnite čemu služi virtualizacija, na koji način i na kojim razinama se izvodi, te
navedite jedan alat koji ste koristili za virtualizaciju.

A

Virtualizacija se koristi kad neki program ili servis nije kompatibilan s trenutnom okolinom
(operacijskim sustavom).
● Virtualizacija procesa (odvojeni skup instrukcija, interpreter/emulator pokrece se na vrhu
OS-a)
● Nativna VMM (instrukcije niske razine, zajedno s minimalnim OS)
● Udomljena VMM (instrukcije niske razine, ali delegiraju vecinu posla na kompletni OS)
Jedan alat: VirtualBox.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Ukratko objasnite postupak i razloge migriranja koda.

A

Migriranje - premještanje procesa/koda na drugi stroj
Razlozi:
- bolje raspoređivanje opterećenja
- smanjenje komunikacijskih troškova (obrada blizu podataka)
Modeli migriranja
- Slaba mobilnost - prenose se samo kodni segment i inicijalizacijski podaci, te se kodni
segment izvodi ponovno
- Snažna mobilnost - prenosi se i kodni segment i izvršni segment/stanja
Najčešći problem - ciljni stroj ne može izvoditi migrirani kod - rješenje - implementacija
apstraktnog sloja za različite platforme ili korištenje VM-a

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Navedite korake poziva udaljene procedure.

A
  1. Klijent poziva klijentski stub s parametrima
  2. Klijentski stub pakira parametre (marshalling) u poruku i radi sistemski poziv za slanje
    poruke.
  3. Klijentski lokalni OS salje poruku posluzitelju
  4. Lokalni OS posluzitelja prosljeduje poruku serverskom stubu
  5. Serverski stub raspakira parametre iz poruke (unmarshalling)
  6. Serverski stub poziva serversku proceduru. Odgovor ima iste korake, ali unazad.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Skicirajte način međudjelovanja klijenta i poslužitelja kod asinkronog RPC-a.

A

SAMO SLIKA.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Skicirajte jednostavnu organizaciju udaljenog objekta s proxyjem na prijemnoj
strani.

A

IMA SLIKA.
If you look closely, ovo su zapravo koraci iz pitanja 27. Client stub = proxy, server stub =
skeleton.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Navedite korake stvaranja raspodijeljene aplikacije korištenjem RMI-ja.

A
  1. Definirati udaljeno sucelje (metode pristupa podacima)
  2. Implementirati udaljene objekte
  3. Implementirati klijenta (nakon definicije udaljenog sucelja, moze se odmah napraviti)
  4. Registrirati udaljeni objekt u registar imena posluzitelja (kako bi mu se moglo pristupit)
  5. Generirati komunikacijsku tocku klijenta koristeci rmic (RMI client)
  6. Pokrenuti registry
  7. Pokrenuti posluzitelj
  8. Pokrenuti klijenta
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Ukratko objasnite pojam socketa, programiranje socketa TCP-om, te ga usporedite s
izvedbom UDP-om. Razmotrite primjer TCP implementacije WinSocketa.

A

Socket je softverska struktura unutar mreze koja sluzi kao endpoint za slanje i primanje
podataka.
Programiranje socketa TCP-om:
● klijent mora kontaktirati posluzitelja koji je prethodno pokrenut i koji ocekuje klijenta na
dogovorenom sucelju (portu)
● posluzitelja se kontaktira kroz klijent-lokalni TCP socket u kojem se specificira IP adresa
i port number
● kad klijent kreira socket i posluzitelj prihvati konekciju, kreirsa se novi serverski socket
preko kojega moze komunicirati s klijentom
Programiranje socketa UDP-om ne garantira se primitak svih poslanih paketa, niti da ce paketi
biti primljeni redoslijedom kojim su poslani. Takoder, ne uspostavlja se konekcija kao kod TCP
socketa, nego posluzitelj prima request pakete iz kojih cita podatke klijenta i zatim mu salje
podatke na tu adresu.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Upoznajte se s tri uzorka prilagodbe socketa.

A

Request-reply uzorak: Posluzitelj salje klijentu podatke dok mu klijent ne da do znanja da zeli
prekinuti konekciju. Komunikacija se odvija na bazi zahtjev-odgovor.
Publish-subscribe uzorak: Posluzitelj salje podatke kojima su pridruzene kategorije i metapodaci
znacajni klijentima. Klijenti se spajaju na posluzitelja i pretplacuju se na odredenu kategoriju.
Klijenti na taj nacin primaju samo responsove koji ih zanimaju (odnosno, responsove s tom
kategorijom ili metapodacima)
Pipe uzorak: Klijent pusha workove serveru koji ih pulla i obraduje. Opcenito “pipe” se odnosi na
stream operacija nad podacima gdje svaka obradbena tocka mijenja podatke na neki nacin.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Ukratko objasnite čemu služi i kako se koriste raspodijeljene hash tablice.

A

Raspodijeljene hash tablice pruzaju efikasnu uslugu pretrazivanja podataka u ovisnosti o
njihovim hashevima (kljucevima). Skalabilno je na velike sustave i kolicine podataka i otporno
na kontinuirano pristizanje, brisanje i ispadanje cvorova.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Skicirajte izravno i T-razinsko dodjeljivanje imena u raspodijeljenim sustavima. v

A

IMA SLIKA.
Prva slika predstavlja izravno, a druga T-razinsko dodjeljivanje medu entitetima.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Ukratko objasnite hijerarhijski pristup lociranja entiteta.

A

IMA SLIKA.
Lociranje entiteta krece od dna stabla i krece se prema gore. Svaki korijenski cvor zna sve o
svojoj djeci. Na primjeru, cvor lookup requesta zna da se u njemu ne nalazi trazeni cvor, pa
zahtjev salje svom roditelju. Roditelj zna da se trazeni cvor nalazi negdje u njemu, pa ga
prosljeduje svom djetetu. Dijete zna da se cvor nalazi u njemu i zato uspije locirati trazeni
entitet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Ukratko objasnite mobilne entitete s gledišta dodjeljivanja imena.

A

IMA SLIKA.
Pošto je entitet mobilan, novi položaj pronalazi se na temelju starog položaja, što je ostvareno
stvaranjem liste. Ako se entitet miče s položaja A na položaj B, entitet ostavlja u A referencu na
novu adresu.

17
Q

Definirajte pojmove: LDAP, UDDI i WSDL, te navedite primjer/okolinu korištenja.

A

● LDAP - lightweight directory access protocol - služi lociranju resursa na mreži,
organiziran kao stablo direktorija.Netscape – Communicator
● UDDI - universal description, discovery and integration - zasnovan na xml/soap,
omogućuje opis, otkrivanje i upravljanje web uslugama i b2b integraciju.UDDI Business Registry
● WSDL - web service definition language - formalni jezik za opis web usluga, piše se u
xml-u uobičajeno se koristi uz SOAP

18
Q

Skicirajte i ukratko objasnite Cristianov algoritam sinkronizacije, te Berkeley
sinkronizaciju fizičkog sata.

A

IMA SLIKA.
Cristianov:
1. periodno uzima informaciju s vremenskog posluzitelja
2. proces P moze snimiti round-trip vrijeme zahtjeva vremena
3. proces postavlja sat kao t + t_round/2
Berkeley:
1. master racunalo periodno poziva slave racunala cije vrijeme treba sinkronizirati
2. master procjenjuje svoja lokalna vremena promatranjem round-trip vremena te
usrednjuje vrijednost s fault-tolerant prosjekom
3. koristi se nadglasavanje za izracun tocnog vremena

19
Q

Ukratko objasnite pojam logičkih satova u raspodijeljenim računalnim sustavima s
osvrtom na Lamportove satove.

A

osvrtom na Lamportove satove.
Logički sat - ne prati se stvarno vrijeme već redosljed događaja na sustavu.
Problem - kada se dvije operacije nad istim podatkom izvode simultano
Rješenje - Lamportov sat
- Svaki zahtjev ima svoj timestamp. svaki server stavlja zahtjeve u red. Svaki novi zahtjev se
odašilje svim serverima. Ne može se izvršavati idući zahtjev dok svi serveri ne izvrše trenutni
zahtjev.
- Pouzdana komunikacija, FIFO redosljed

20
Q

Usporedite prema bitnim pokazateljima tri glavna algoritma međusobnog
isključivanja.

A
  • Centralizirani na temelju dopuštanja - koordinator daje dozvolu za pristup kritičnom odsjećku
  • Lamportov sat
  • Token ring - kada proces ima token, smije pristupiti odsječku