Vous êtes sur la page 1sur 25

Uvod

1. Navesti razlike i slinosti izmeu paralelnog i distribuiranog programiranja?


PP i DP su dva osnovna pristupa za postizanje konkurentnosti .
U PP program koristi 2 ili vie procesora unutar istog fizikog ili virtuelnog raunara.
U DP program koristi isti princip PP, ali procesi mogu (a ne moraju) biti u razliitim
raunarima.
Paralelni programi su nekad distribuirani
Distribuirani programi nekad rade u paraleli
Programi (uglavnom) se mogu izvravati i paralelno i distribuirano

2. Kada su dogaaji konkurentni?


DEF: Za dogaaje kaemo da su konkurentni kada se pojave u istom vremenskom intervalu
(VI)

3. Definicije za data race, deadlock, beskonano odlaganje?


To su izazovi u koordinaciji zadatka.
Data race javlja se kada vie zadataka menjaju deljeni podatak u isto vreme tako da
konana vrednost zavisi od redosleda pristupa
Beskonano odlaganje javlja se kada zadatak eka na dogaaj koji se ne desi, tako da on
eka, eka, ...
Deadlock javlja se kada dva zadatka X i Y ele ekskluzivan pristup resursima A i B, ali
zahteve ispostavljaju u suprotnom redosledu. X nakon odobrenja pristupa A eka na
odobrenje za B, ali ga ne dobija jer je Y ve zauzeo taj resurs (B) i nede ga osloboditi jer eka
da se oslobodi A.

4. Definicija distribuiranog sistema?


DEF: Distribuiran sistem (DS) je mnotvo povezanih resursa koje korisnik doivljava kao jedan
jedinstven i koherentan sistem

5. Ciljevi distribuiranih sistema?


Cilj 1: Povezivanje - DS omoguava povezivanje udaljenih elemenata sistema
Cilj 2: Transparentnost - DS je transparentan kada ga korisnici i aplikacije doivljavaju kao
JEDAN raunarski sistem i ne obaziru se na sloenost i distribuiranost njegovih inioca
Cilj 3: Otvorenost - Otvoren DS prua servise (usluge) po standardnim sintaksnim i
semantikim pravilima (Servisi se obino specificaju preko interfejsa)
Cilj 4: Skalabilnost - Skalabilnost je mogunost proirenja distribuiranog sistema na odriv
nain (npr. bez znaajnog udara na performanse)

6. Slinosti i razlike izmeu klaster i grid sistema?


Klaster - slian, esto isti, hardver, Isti operativni sistem (OS), nalaze se na jednoj lokaciji,
povezani na istu mreu, homogena administracija, raunari rade u paraleli na jednom
zadatku
Grid - razliit hardver, razliit operativni sistem (OS), znaajna geografska distribuiranost,
povezani preko WAN mrea, heterogena administracija, raunari rade u paraleli na jednom
zadatku
Arhitektura

1. Softverska vs sistemska arhitektura?


Softverska arhitektura = Logika organizacija softverskih komponenti (podela posla u DS po
celinama - komponentama)
Sistemska arhitektura = Fizika realizacija softverskih komponenti (realizacija gde se primerci
komponenti rasporeuju na stvarne raunare)

DEF: Stil arhitekture opisuje komponente, njihove meu-veze, puteve podataka i kako su
konfigurisane u jedan DS

2. Stilovi softverske arhitekture?


1. Slojevita arhitektura (layered architecture) - Komponente su organizovane po slojevima,
Postoji hijerarhija slojeva, Samo susedni slojevi komuniciraju
2. Objektno-orijentisana arhitektura (object-based architecture) - Svaki objekat odgovara
komponenti, Objekti su tipino dislocirani i komuniciraju upotrebom middleware-a, Veze su
po modelu klijent-server
3. Podacima usresreena arhitektura (data-centered architecture) - Komponente (tanije,
procesi) komuniciraju preko zajednikih skladita podataka
4. Arhitektura zasnovana na dogaajima (event-based architecture) - Komponente
komuniciraju preko propagacije dogaaja(Publish/Subscribe sistemi), Neke komponente
emituju poruke, Druge komponente primaju poruke, Komponente se ne obraaju eksplicitno
jedna drugoj
5. Hibrid #1 (Kombinovana arhitektura zasnovana na dogaajima i podacima usredsreenu) -
Komponente koje komuniciraju ne moraju da budu aktivne jednovremeno

3. Stilovi sistemske arhitekture?


Centralizovana arhitektura - Dva uesnika, tj. procesa: Server implementira servis, tj. prua
uslugu, Klijent koristi uslugu servisa. Upit-odgovor ponaanje
Decentralizovana arhitektura
Vertikalna distribucija logiki razliite softverske komponente se smetaju na odvojene
fizike raunare
Horizontalna distribucija klijent ili server se dele na logiki jednake delove koji se izvravaju
na razliitim raunarima(peer-to-peer, svi vorovi su i serveri i klijenti u jednom)
Vieslojna arhitektura/Mesovita?? - Slojevitost prati loginu organizaciju aplikacije, esto se
koristi troslojna arhitektura softvera(sloj korisnikog interfejsa, sloj obrade, sloj podataka),
Komunikacija izmeu slojeva po klijent-server modelu

4. ta je middleware, gde se koristi?


DEF: Middleware je (softverski) sloj izmeu distribuiranih aplikacija i platformi (operativnih
sistema) . On pruza usluge aplikacijama koje OS nije u stanju da pruzi. Jedno reenje za
postizanje transparentnosti. Koristi se u distribuiranim programima(sistemima) i olaksava
njihov razvoj

Windows Communication Foundation (WCF) je sloj za razvoj distribuiranih sistema


inkorporiran u .NET Framework
Procesi

1. Definicije i poreenje sledeih pojmova: program, proces, nit?


DEF: Program je skup instrukcija (tj. programskog koda) u trajnoj memoriji
DEF: Proces je primerak programa koji OS izvrava
DEF: Nit (engl. thread) Izvrava deo zadatka procesa takoe se prekljuuje na procesoru(Nit
je donekle slina procesu, u sklopu kojeg izvrava jedan zadatak)

2. ta je sesija klijenta u DS?


DEF: Klijent je korisnik usluge nekog servisa u DS
DEF: Sesija je skup zahteva koje jedan klijent alje ka serveru u konanom vremenskom
intervalu

3. ta je servis/server?
DEF: Server je proces koji implementira odreeni servis za neki skup klijenata
Iterativni server sastoji se od jednog procesa koji redom opsluuje sve klijentske zahteve
Konkurentni server obradu zahteva klijenata prosleuje posebnim nitima ili procesima

4. ta je endpoint?
Endpoint opisuje taku pristupa preko koje klijenti komuniciraju sa serverom

5. Endpoint vs superserver?
Pristupi za reavanje problema nalaenja servera:
Endpoint server lako dostupan na poznatom endpointu, klijentima prua uslugu nalaenja
traenih servisa, tj. njihovih endpoint-a
Superserver jedan proces koji oslukuje na svim konfigurisanim endpointima, na zahtev
klijenta fork-uje eljeni proces (fork = kreiranje novog procesa za obradu zahteva)

6. Koji su mogui pristupi odravanju stanja servisa?


Stateless - server ne vodi rauna o stanju svojih klijenata i moe da promeni stanje bez
potrebe da informie sve klijente
Soft state - server obeava da e uvati stanje klijenta odreeno vreme
Stateful - server cuva informacije o svojim klijentima
Session state - stanje sesija klijenata omoguava odgovor na niz zahteva(cuvaju se sesije
klijenata na serveru)

Cookie omoguava da se stanje sesija uva na klijentu

7. Slaba vs jaka migracija koda?


Migracija koda je pomeranje programa, koje moe biti omogueno i tokom izvravanja
istog. Migracija procesa podrazumeva prebacivanje procesa sa jednog na drugi raunar.
U kontekstu migracije, proces se sastoji od sledeih segmenata: Segment koda instrukcije
programa Segment resursa podaci, fajlovi i ostali mreni resursi potrebni za izvrenje
Segment izvrenja (execution segment) trenutno stanje izvrenja procesa
Kod slabe mobilnosti (engl. weak mobility) se kopira samo segment koda i osnovni podaci za
inicijalizaciju migriranog procesa
Kod jake mobilnosti (engl. strong mobility) je mogue kopiranje i samog izvrnog
segmenta(kloniranje procesasvi segm. procesa se kopiraju na drugi pc i nastavljaju s radom)
Komunikacije

Komunikacija omoguava realizaciju 1. cilja DS, tj. povezivanja.

Klasifikacija komunikacionih sistema: Geografski Topoloki Administrativni

1. Definicije i poreenje sledeih pojmova: endpoint, socket, protokol?


Endpoint opisuje taku pristupa preko koje klijenti komuniciraju sa serverom.
DEF: Protokol je skup standardnih pravila koja formalizuju komunikaciju izmeu elemenata
DS. Primena protokola omoguava realizaciju 3. cilja DS, tj. otvorenost. Tipovi protokola:
Connection oriented otvara se komunikacioni kanal, npr. telefon
Connectionless bez otvaranja kanala, poruke se alju nezavisno, npr. Pota
DEF: Socket je komunikacioni endpoint u koji aplikacije upisuju podatak za slanje kroz mreu i
iz kojeg itaju podatke primljene kroz mreu

2. OSI vs TCP/IP?
Slinosti:
Sastoje se od slojeva
Imaju aplikativni sloj
Imaju prenosne i mrene slojeve

Razlike:
TCP/IP kombinuje gornja tri OSI sloja u svoj aplikativni
TCP/IP kombinuje donja dva OSI sloja u svoj pristupni sloj
TCP/IP jednostavniji zbog manjeg broja slojeva
UDP ne garantuje isporuku kod TCP/IP kod OSI prenosnog sloja je to uvek garantovano

3. Industrijski protokoli: Modbus, ICCP, OPC?


Modbus = Modicon Communication Bus. Svaki ureaj na Modbus magistrali ima jedinstvenu
adresu. Mesto primene: komunikacija sa procesnom opremom, npr. ventil, merenje napona
ICCP - Uveden sa ciljem da smanji broj razliitih protokola. Dizajniran za komunikaciju izmeu
kontrolnih centara (KC). Mesto primene: Izmeu glavnog i rezervnog kontrolnog centra u
okviru istog sistema/ veza ka drugim sistemima, npr. drugi elektroenergetski sistem.
OPC = Object Linking and Embedding for Process Control. Sastoji se od skupa specifikacija za
prenos: Real-time podataka, istorijskih podataka... Baziran na Remote Procedure Call (RPC -
omoguava transparentan poziv funkcija implementiranih od strane distribuiranih servera,
znaajno olakava implementaciju distribuiranih klijenata i servera, sinhrona i tranzijentna
komunikacija).
Mesto primene: industrijski ureaji/softver, razvoj OPC drajvera omoguava prikljuenje bilo
ega

4. Medijumi i mrena oprema?


Bezicni medijumi: WiFi, GSM, RFID(Radio prenos), Zigbee(ad-hoc mreza)
Mrezna oprema: Mrena karta, LAN oprema Hub(salje pakete na sve portove),
Switch(preko tabela komutiranja zna tacno kome da posalje paket)
WAN oprema Router(povezuju nekompatibilne medijume i mree, usmeravaju pakete na
osnovu IP adrese odredita, koriste protokole za rutiranje)
5. Tipovi komunikacije: tranzijentna vs perzistentna, asinhrona vs sinhrona?
Kod perzistentne komunikacije se poruke uvaju u middleware-u do trenutka isporuke
(moda i due, npr. poruke na email serveru), dok se kod tranzijentne komunikacije poruke
ne uvaju u middleware-u i njihova isporuka je mogua ako se procesi sa obe strane
izvravaju.
Kod asinhrone komunikacije strana koja inicira komunikaciju ne eka na odgovor, dok je kod
sinhrone komunikacije strana koja inicira komunikaciju blokirana i eka na odgovor

6. Message Oriented Middleware (MOM)?


Praktina realizacija deljenog prostora podataka, tj. hibridnog stila softverske arhitekture.
Predstavlja vid asinhrone i perzistentne komunikacije. Postoji jedan ili vie redova
poruka(npr. Email razmena poruka). Osnovne rutine za rad sa porukama: Put, Get, Poll,
Notify

Kod RPC i MOM vremensko kanjenje nema uticaj na ispravnost podataka

7. Streaming?
U sistemima gde je pravovremena isporuka poruka od veeg znaaja od isporuke kompletnih
informacija se primenjuje data streaming(audio, video). esto korien(i) protokol(i) za
streaming: Real-time Transport Protocol (RTP)
Out-of-band upravljanje i nadzor preko RTP Control Protocol (RTCP)

DEF: Data stream je niz povezanih podataka

Tipovi povezanih podataka na osnovu temporalnih veza:


Kontinualna reprezentacija vremenski redosled podataka je od velikog znaaja za
tumaenje sadraja, npr. audio zapis
Diskretna reprezentacija vremenski redosled podataka nije od fundamentalnog znaaja
za tumaenje podataka, npr. Fajl

Tipovi prenosa podataka u streaming komunikaciji:


Asinhroni elementi se alju jedan za drugim, bez provere redosleda prijema, npr. prenos
fajla
Sinhroni zadato maksimalno dozvoljeno kanjenje od trenutka slanja do trenutka prijema,
npr. prijem vanih, periodinih merenja
Izohroni zadato maksimalno i minimalno kanjenje od slanja do prijema, npr. distribuirani
multimedijalni sistemi

Meu-procesna komunikacija: RPC, MOM, streaming


Imena

1. Upotreba i tipovi imena u DS?


DEF: Imena se u DS koriste za oznaavanje, referenciranje i deljenje resursa
Oznaavanje omoguava jedinstveno identifikovanje entiteta u DS
Referenciranje preko imena omoguava nalaenje entiteta u DS
Imena su nizovi bita ili karaktera.
Tipovi imena u DS:
Adresa - opisuje taku pristupa entiteta (engl. access point) (npr IP adresa)
Identifikator - referencira samo jedan entitet
itljiva adresa (human-friendly name) - sastoji se od niza karaktera koji je razumljiv za
oveka (npr URL)
Alias - dodatno ime za isti entitet u DS
Sistem imena - mapira identifikatore ili itljiva imena na adrese

2. Nalaenje entiteta u DS sa ravnim prostorom imena?


U ravnim sistemima imena (engl. flat naming) imena nisu strukturirana. Pristupi za
nalaenje adrese resursa na osnovu poznatog identifikatora ili imena:
Broadcast poruka sa indentifikatorom se poalje svim raunarima u mrei i trai se od njih
da provere da li je traeni entitet lociran na njima
Multicast poruka se alje samo raunarima u (multicast) grupi
Prosleivanje kada se odreeni entitet E premesti sa lokacije A na lokaciju B, na A ostavlja
referencu na svoju novu lokaciju (tj. B)
Kuna adresa distribuirani sistem imena omoguava nalaenje kune adrese svakog
(mobilnog) entiteta na nain koji je otporan na ispade entitet se javlja kui kad se
premeta, te je omogueno njegovo praenje

3. Strukturirani sistemi imena i putanje?


U strukturiranim sistemima se imena organizuju u prostor imena (engl. namespace). Prostor
imena se predstavlja imenovanim, usmerenim grafom. Tipovi vorova:
vor tipa list nema odlazne grane u usmerenom grafu sadri mapiranje imena na adresu
jednog entiteta u DS vor tipa direktorijum ima jedan ili vie odlaznih grana (tj. podreenih
vorova) Koreni vor (engl. root node) je specijalan tip direktorijuma koji nema dolazne
grane
Putanja (engl. path) se formira od imena vorova (ili grana).
Apsolutna putanja je od korenog noda
Relativna putanja je od nekog vora koji nije koreni vor
Rezolucija imena je proces prolaska kroz graf sukcesivnom pretragom imena kao delova
putanje

4. Nalaenje entiteta na osnovu vrednosti atributa?


DEF: Postoje sistemi za nalaenje veeg broja entiteta koji imaju zadate vrednosti skupa
atributa.
Realizuju se preko tzv. direktorijum servisa (engl. directory service)
Entiteti se opisuju sa skupom parova (atribut, vrednost)
Resource Description Framework (RDF) - subjekat, predikat, objekat za opis entiteta,
Lightweight Directory Access Protocol (LDAP) - formira strukturirano stablo entiteta koje
opisuje parovima: atribut, vrednost

Sinhronizacija

1. ta je sinhronizacija?
DEF: Sinhronizacija je vid koordinacije dogaaja u sistemu i omoguava neometanu saradnju
inioca sistema
DEF: Sinhronizacija omoguava da vie procesa dogovore redosled korienja deljenog
resursa (npr. tampa). Tipovi sinhronizacije:
Na osnovu apsolutnog vremena
Na osnovu relativnog redosleda dogaaja

2. Astronomsko vreme, nuklearni asovnik, GPS?


Astronomsko vreme se meri na osnovu kretanja nebeskih tela (GMT). Atomski asovnik broji
tranzicije atoma cezijum. BIH vri usrednjavanje vremena atomskih asovnika i rauna
International Atomic Time (TAI), a doradom TAI se dobija UTC.
Global Positioning System (GPS) je distribuiran sistem koji omoguava precizno odreivanje
geografske pozicije bazirano na upotrebi satelita. GPS prijemnici se esto koriste za precizno
odreivanje vremena u distribuiranim sistemima.

3. Vreme i raunari?
Raunari sadre brojae (engl. timer) bazirane na upotrebi precizno obraenih kristala koji
osciluju. Broja sadri dva registra:
Counter, tj. registar brojaa broj oscilacija od poslednjeg reseta brojaa
Holding register (registar broja oscilacija) unapred podeena konstantna vrednost
Raunari sadre CMOS sa baterijom pa brojai rade i kad se iskljue iz struje. Zbog malih
razlika u oscilacijama kristala, sekunda ne mora da traje isto na dva razliita raunara.

4. Protokoli u sinhronizaciji DS?


Network Time Protocol (NTP) je sistem koji omoguava centralizovano raunanje vremena u
distribuiranom sistemu. Postoji jedan server vremena od koga klijenti dobijaju tano
vreme na zahtev. NTP server moe biti vezan za GPS prijemnik tanog vremena. NTP
omoguava postojanje veeg broja servera vremena u jednom DS (serveri se grupiu na
osnovu preciznosti merenja vremena u tzv. stratum-e). NTP je pasivan, tj. server vremena
eka zahteve klijenata.

5. Logiki asovnik?
Logiki asovnik omoguava odreivanje redosleda dogaaja u DS na kojem moze isto da se
bazira sinhronizacija. Jedan primer logikog asovnika je Lamport-ov. Dva procesa koja ne
komuniciraju ne mogu imati sinhronizovane Lamportove asovnike.

6. Algoritmi za meusobnu iskljuivost?


DEF: Meusobna iskljuivost omoguava da se izbegne korumpiranje deljenih resursa
kojima je mogu istovremeni pristup iz vie procesa u DS.
Algoritmi za meusobnu iskljuivost:
Token-ring - procesi formiraju prsten, jedan token kod onog koji koristi deljeni resurs, proces
nakon obavljenog posla prosleuje token sledeem procesu
Centralizovani algoritam - jedan proces se bira da bude koordinator, tj. on e odreivati ko
ima pravo nad deljenim resursima u datom vremenskom intervalu.
Rezervii - proces trai dozvolu od koordinatora
Dozvoli za dodelu resursa nekom procesu od strane koordinatora(inace ga stavlja u red
za cekanje)
Oslobodi proces javlja koordinatoru da je zavrio
Decentralizovani algoritam - reava problem ispada koordinatora kod centralizovanog
algoritma. Svaki (deljeni) resurs repliciran n puta, svaka replika ima svog koordinatora,
proces dobija pristup ako vie od pola koordinatora to dozvoli.
Distribuirani algoritam - procesi se meusobno dogovaraju ko e pristupiti deljenom resursu.
Proces A sastavlja zahtev za resurs R i alje ga svim procesima (ukljuujui i sebe). Proces B (i
svi ostali) vraaju OK ako ne koriste resurs R, ili ne planiraju da ga koriste. Ako proces B ve
koristi resurs R, alje DENY i skladiti zahtev u lokalnom redu. Ako proces B takoe eli da
koristi R (uskoro), onda proverava vreme zahteva i vraa OK ako je zahteva procesa A
stariji, a u suprotnom uva zahtev i alje DENY. Kad proces A dobije odgovore od svih
procesa, uzima resurs R. Kad proces A zavri sa resursom R, svima koje ima u redu za R alje
OK.

7. Izbor koordinatora?
Mnogi DS zahtevaju postojanje koordinatora ili drugog tipa vora specijalne namene. Zadatak
algoritama za izbor koordinatora je da dodele specijalne role vorovima koji su inherentno
ravnopravni u DS. Pretpostavka ovih algoritama je da svaki proces poznaje identifikatore
drugih procesa.
Bully algoritam - Proces A pokree izbor kad primeti da koordinator K ne odgovara na
zahteve. Proces A alje poruku o izboru svim procesima sa veim identifikatorom. Ako niko
ne odgovori, onda proces A dobija izbore i postaje koordinator. Ako poruku o izboru dobije
proces B, koji ima vei identifikator od A, onda vraa OK i dobija izbore.
Ako se u DS pokrene novi proces, onda on pokree izbore, koje dobija ako ima najvei
identifikator.
Algoritam prstena Procesi su sortirani i formiraju prsten(bez tokena). Proces A pokree
izbor kad primeti da koordinator K ne odgovara na zahteve. Proces A kreira poruku IZBOR i
prosleuje je sledeem voru. Ako se sledei proces B ne izvrava, onda se preskae. Svaki
proces koji se izvrava dodaje svoj identifikator u poruku IZBOR, praktino nominujui sebe.
Kada se izborna poruka vrati u proces A, selektuje se proces sa najveim identifikatorom,
tip poruke se menja na KOORDINATOR i ponovo se alje samo onim vorovima koji su se
nominovali u prvom krugu izbora.
Konzistencija i replikacija

1. ta je replikacija i zato se uvodi?


DEF: Replikacija je proces kreiranja namerno repliciranih resursa u DS. Primarni ciljevi
replikacije su poveanje dostupnosti sistema i poboljanje performansi. Replikacija olakava
postizanje 4. cilja DS, tj. skalabilnosti

2. ta je konzistencija i kako se postie?


DEF: DS je konzistentan kada su replike poravnate. Razmatra se na deljenim skladistima
podataka. Postie se modelima konzistencije.
DEF: Model konzistencije je dogovor izmeu procesa i skladita podataka, koji propisuje
nain rada kako skladita, tako i procesa koji ga koriste. Ako proces potuje propisana pravila
pristupa, skladite podataka e biti konzistentno

3. Model kontinualne konzistencije?


Dozvoljene razlike u numerikim vrednostima izmeu replika
Maksimalno dozvoljena odlaganja osveavanja podataka
Dozvoljene razlike u redosledu operacija koliko mozemo promena da napravimo na
serveru pre nego sto se one zapisu na ostalim serverima koji sadrze te replike
Conit = consistency unit jedinica konzistencije

4. Konzistentan redosled operacija?


Sekvencijalna konzistencija - obezbeuje da se sve operacije pisanja svuda vide u istom
redosledu
Uzrona (kauzalna) konzistencija - obezbeuje da operacije koje potencijalno zavise jedna
od druge moraju biti primenjene prema zahtevanom redosledu
Jo slabiji modeli konzistencije se odnose na serije read i write operacija koje su omeene
operacijama na sinhronizacionim promenljivima

5. Tipovi replika?
Stalne (permanentne) replike - ine poetni skup replika u distribuiranom skladitu
podataka(ima ih malo). Replike locirane na istoj geografskoj lokaciji (cluster) i replike locirane
na veem geografskom prostoru (mirroring)
Server inicirane replike - prave se dinamiki na inicijativu vlasnika skladita podataka.
Smanjenje optereenja servera. Migracija podataka blizu klijentima u skladu sa optereenjem
Klijent inicirane replike - kopije se prave dinamiki na inicijativu klijenta (ke (client cache)).
Nalazi se na pojedinanim raunarima ili centralnom raunaru u mrei (proxy). Upotrebljava
se kada se keirani podaci retko menjaju u skladitu podataka. Ima specificirano vremensko
trajanje, posle kojeg se obnavlja ili brie. Pogodno je da isti ke deli vie klijenata i tada se
obino poveava broj pogodaka (engl. cache hit).

6. Propagiranje promena?
Promena izazvana operacijom upisa se propagira u sve replike.
Propagacija obavetenja o nastalim promenama:
Navodi se koji deo podataka je promenjen
Radi dobro kod velikog broja promena Read/Write je malo
Moe da optereti mreu zbog velikog broja dojava
Prenose se podaci sa kopije na kopiju:
Korisno je kada je Read/Write veliko
Belei promenjene podatke i njih alje u replike
Pogodno je pakovanje vie promena u jednu poruku

Prenose se operacije (koje prave izmene) sa kopije na kopiju:


Slanje operacija koje e u kopijama izazvati istu promenu podataka
Prenose se i parametri operacija
Kod sloenih operacija nekad je jednostavnije preneti rezultate, tj. podatke

Protokoli propagiranja promena Push/Pull i Epidemic.


U zavisnosti od odnosa broj operacija itanja i upisa se bira model propagiranja promena
push, pull ili lease
Push model ili server-based protokol:
alje promene u replike nakon izmena, na zahtev replike gde se izmena vri
Primenjuje se kada se zahteva visok stepen konzistencije, npr. identine replike
Efikasan kada je R/W odnos visok u svakoj replici

Pull model ili client-based protokol:


Promene se propagiraju u replike na njihov zahtev
Efikasan je za mali R/W odnos

Lease model:
Server obeava klijentima (tj. replikama) da e im poslati promene za zadato vreme
propagacije
Kada lease istekne, klijent ga obnavlja ili nastavlja sa pull modelom

Epidemic:
Akcenat je na minimalnom broju poruka koje se razmenjuju. Tipino, sve promene se pakuju
u jednu poruku i alju drugom serveru. Princip poput irenja zaraze: A push promene ka B,
A pull promene od B. Kombinacija Push-Pull modela. Slabost ovog algoritma je da neki
serveri mogu da ostanu nezaraeni
Sigurnost i bezbednost

1. Sigurnost vs bezbednost?
Sigurnost (security) - DEF: Forma zatite kojom se razdvaja resurs od pretnje. Odnosi se na:
resurs, osobu, organizaciju, zajednicu, naciju
Bezbednost (safety) - DEF: Stanje zatienosti od otkaza, tete, greke, nezgode, povrede.
Vrste: fizika, socijalna, spiritualna, finansijska, politika, emotivna, radnog mesta, itd.

2. Tajnost, integritet, dostupnost?


Oni su bezbednosni ciljevi.
Tajnost (confidentiality) - samo autentifikovani entiteti imaju pristup resursima sistema
Integritet (integrity) - resursi sistema se menjaju samo od strane autorizovanih entiteta i na
autorizovan nain
Dostupnost (availability) - resursi sistema su dostupni autentifikovanim entitetima u
prihvatljivim vremenskim okvirima

3. Elementi sigurnosti?
Pretnja (threat) - skup okolnosti koji moe dovesti do nastanka neke tete
Slabost, podlonost napadu (vulnerability) - slabost u sistemu sigurnosti koja moe dovesti
do tete
Mere bezbednosti (control) - slabost sistema se smanjuje merom bezbednosti i tako se
otklanja pretnja
Napad (attack) - entitet koji iskoristi slabost sistema za postizanje nekog cilja
Rizik (risk) - stepen verovatnoe da se neki napad desi
Poverenje (trust) - stepen poverenja koji korisnik ima u sigurnost i bezbednost sistema

4. Zatita raunarskih objekata pravni aspekti?


Patentima se titi: hardver. Poslovna tajna: napredni postupak za izradu hardvera, proces za
izradu softvera. Autorskim pravom se titi: dokumentacija, Internet sadraj, pojedini
softverski proizvodi (npr. igrice). Oteana zatita softvera, pa se zato softver licencira, tj. daje
na korienje za naknadu.

5. Pretnje?
Presretanje (interception) - neautorizovana stranka dobije pristup podacima ili servisima. U
ovu grupu spada i ilegalno kopiranje podataka
Ispad (interruption) - servis ili podatak postane nedostupan, neupotrebljiv ili uniten
Modifikacija (modification) - neautorizovana izmena podataka ili servisa, koji posle vie nisu u
skladu sa njihovim specifikacijama
Fabrikacija (fabrication) - generisanje dodatnih podataka ili aktivnosti koji ne bi postojali u
normalnim situacijama

IT kriminalci: Amateri, zlonamerni hakeri, profesionalci, teroristi

6. Malware?
Malware = malicious software. Programski kod ciljano pisan za neki vid napada.
Malware po tipu nosica: Samostalni: crv
Potreban nosilac: virus, backdoor, trojanac
Malware po nainu propagacije: Replicirajui: virus, crv
Nereplicirajui: backdoor, trojanac

Trojanac pretvara se da je legitiman program, najei medijum propagacije: Internet.


Krade osetljive informacije, instalira dodatni malware (npr. backdoor)
Backdoor/trapdoor - omoguava (udaljeni) pristup inficiranom raunaru, motiv: pristup
osetljivim informacijama
Logika bomba - neeljen i za korisnika nepoznat (izvrni) kod ugraen u inae legitimne
aplikacije. Aktivira se kada se stvore uslovi. Primer rezultata: brisanje podataka
Tempirana bomba - Podtip logike bombe. Aktivira sa u predefinisanim vremenskim
trenucima.
Crv (worm) - samostalan (stand-alone) izvrni program. Autonomno se iri sa jednog raunara
na drugi preko racunarske mreze
Virus - modifikuje legitimne programe dodavanjem malicioznog izvrnog koda. Siri se preko
fajlova, tipovi: rezidentni i tranzijentni. Naini povezivanja virusa: dodati (appended),
obuhvatni (surround), integrisani (integrated), dokument virusi.

7. Kompleksne pretnje?
Rootkit - maliciozan softver za dobijanje administratorskih prava na sistemu, prikriva drugi
malware
Botnet - mrea uhakovanih raunara(zombiji), trojanac + backdoor
Zero day - zivotni vek slabosti nekog softverskog sistema
Watering hole - Neki tip malware-a se instalira na popularan web sadraj - ciljani korisnici
posete zaraen web sadraj - iskoristi se slabost na njihovim sistemima i zaraze se

8. Bezbednosna politika, funkcionalne grupe, zone?


Bezbednosna politika (security policy) je skup pravila organizacije za regulisanje bezbednosti.
Popis i klasifikacija resursa organizacije. Svemu dodeliti: prioritet, potencijalne pretnje, troak
zamene, stepen slabosti. Definicija prava pristupa, tj. koji entitet ta i kada sme da radi.
DEF: Funkcionalna grupa obuhvata sve inioce IS koji su potrebni za izvrenje jedne,
odreene funkcije
DEF: Zona je grupa elemenata IS formirana od jedne ili vie slinih funkcionalnih grupa
Eksterna bezbednost zona - firewall konfiguracija, Intrusion detection/prevention system
(IDS/IPS)
Interna bezbednost zona - broj elemenata u unutranjosti esto znaajno vei od broj
elemenata na granici, vea kompleksnost

9. Mere bezbednosti u IT domenu?


Enkripcija (encryption) transformie podatke u format koji nije razumljiv za napadae
Autentifikacija (Authentication) verifikacija identiteta korisnika, klijenata, servera, itd.
Autorizacija (Authorization) provera da li entitet ima pravo na izvravanje odreene akcije
Voenje istorijata aktivnosti (Auditing) pasivno upisivanje u dnevnike dogaaja (uglavnom
tekstualne) koji je entitet emu pristupio i na koji nain
Naplata usluga (Accounting) praenje korienja resursa i naplata trokova
10. Fizika bezbednost i bezbedan ljudski element?
Zatitne mere napolju - ograen fiziki prostor, ist prostor oko predmeta zatite, adekvatna
eksterna rasveta, bezbedne pristupne take, eksterni senzori, oruani uvari, alarmi, mere
informisanja, npr. tabla zabrana fotografisanja
Zatitne mere unutra - vrata: neprobojna, sa ili bez prozora, prozori: prozirni, neprozirni,
otporni, reetke, adekvatne brave na vratima i prozorima, zatiena cirkulacija vazduha,
sakrivanje elemenata unutranje infrastrukture, adekvatna unutranja rasveta, senzori,
adekvatna zatita od poara, alarmi, sefovi
Slanje i unitavanja podataka, unitavanje otpada.

Bezbedan ljudski element:


Mere pre zaposlenja - proveriti svaku prethodnu (radnu) poziciju, provera kljunih tvrdnji iz
CV-a, provera fizike i psihike sposobnosti
Mere tokom zaposlenja - redovne obuke i informisanje o politici bezbednosti, definisati
osobu kome prijavljuju bezbednosne probleme
Odlazak zaposlenih - izvriti detaljnu kontrolu hardvera, softvera i podataka (biveg)
zaposlenog, po potrebi kreirati bekape i proveravati logove svih sistema kojima je zaposleni
imao pristup
Protok ljudi - kartica kompanije sa slikom i kodiranom bojom nivoa pristupa, kartice sa
limitiranim pristupom i trajanjem za saradnike i konsultante, privremene kartice za
posetioce, posetioci stalno u pratnji zaposlenih, slube dostave (hrana, roba, materijal) da
najave izmene

Tolerantnost na otkaze

1. Otkaz, greka, uzrok greke?


DEF: Otkaz dovodi do ispada procesa ili komunikacionog kanala, odnosno naruavanja
konzistentnosti podataka u DS
DEF: DS koji je u stanju da se automatski oporavi od deliminog otkaza je tolerantan na
otkaze (fault tolerant)
DEF: Otkaz (engl. fail) je prekid neke usluge (servisa) u DS
DEF: Greka (engl. error) je deo stanja DS koji moe dovesti do otkaza
DEF: Uzrok greke (engl. fault) dovodi do greke

2. Tipovi otkaza?
Ispad servisa (crash failure) - element DS postane prevremeno nedostupan, iako je do tog
trenutka radio pouzdano
Otkaz tipa izostanak odgovora (omission failure) - servis ne odgovori na zahtev
Vremenski otkaz (timing failure) - odgovor na zahtev se kreira izvan predvienog vremenskog
okvira
Nevalidan odgovor (response failure) - izlaz servisa je nevalidan
Arbitraran ili Vizantijski otkaz je najtei tip otkaza u kojem element DS u sluajnom
vremenskom trenutku pree u neoekivano stanje i generie neoekivani izlaz

3. Otkaz servera vs otkaz klijenta?


Otkaz servera moe da se desi u bilo kojoj fazi. Klijent moe (ali ne mora!) da ponovo poalje
zahtev nakon detekcije otkaza servera.
Ako klijent otkae nakon slanja zahteva, onda nije poeljno da se zahtev izvri. Zahtev koji je
klijent poslao pre otkaza se zove siroe (orphan). Asinhroni zahtev = klijent nastavi sa radom
i naie na greku koja prouzrokuje ispad. Sinhroni zahtev = mala verovatnoa ispada klijenta

4. Oporavak, checkpoint, beleenje poruka?


DEF: Detekcija otkaza omoguava da grupa procesa detektuje procese lanove grupe koji su
otkazali
Split-brain problem = zbog ispada komunikacionog linka vei broj procesa preuzme primarnu
rolu i odgovara na zahteve klijenata

DEF: Oporavak je proces u kojem se proces vraa u validno stanje nakon njegovog otkaza
Oporavak unazad (backward recovery) na osnovu poznatog, ranijeg stanja DS. Oporavak
unapred (forward recovery) je mogu ako su poznati svi mogui tipovi greaka u DS i
razvijene su adekvatne mere za njihovo prevazilaenje

DEF: Checkpoint je snimak celokupnog ili deliminog stanja DS u odreenom vremenskom


trenutku
Omoguava oporavak unazad (backward recovery). Moemo ga posmatrati kao jedan bekap
stanja DS (distributed snapshot). Tipovi kreiranje checkpoint-ova:
Nezavisni elementi DS kreiraju svoje lokalne checkpoint-e u nezavisno konfigurisanim
vremenskim trenucima
Koordinisani svi inioci DS koordinisano kreiraju checkpoint

DEF: Beleenje poruka (message logging) je mera koja omoguava restauraciju stanja DS
nakon otkaza nekog elementa
Proces siroe (orphan process) je proces koji je preiveo otkaz drugog elementa DS (npr.
procesa) od kojeg zavisi. Tokom oporavka se beleenje poruka koristi u kombinaciji sa
checkpointima.

5. Nenamerne greke?
DEF: Nenamerne greke u kodu programa dovode do invalidnih memorijskih operacija
procesa
DEF: Neadekvatna validacija ulaza je nenamerna softverska greka u kojoj tokom izvravanja
neka funkcija primi nepredvienu vrednost ulaza
DEF: Bafer (buffer) je memorijski prostor zadate veliine
DEF: Buffer overflow je upis podataka van prostora zauzetog od strane procesa
DEF: Buffer over-read je itanje podataka van prostora zauzetog od strane procesa
Provera i upotreba - redosled operacija u modernim raunarima moe da bude drugaiji od
oekivanog(konkurentno izvravanje, optimizacije u operativnom sistemu)
Otkrivanje kritinih informacija (npr. parovi korisnickih imena i lozinki)
Nadzor i upravljanje

1. Predmet nadzora, izazovi?


DEF: Predmet nadzora u DS je promena stanja sistema u vremenu
Idealno bi bilo kada bi mogli da nadziremo sve aktivnosti. Izazov: Mnogostruko vie dogaaja
tokom napada ili drugih vanrednih dogaaja (npr. oluja)

2. Voenje istorijata aktivnosti?


DEF: Voenje istorijata aktivnosti u DS se uglavnom svodi na kreiranje tekstualnih logova u
ureajima i u softveru. Lokacije u DS gde je mogue kreiranja logova: mreni ureaji,
industrijski ureaji(nemaju skladiste za cuvanje logova obicno, koriste sonde), Windows
Event Log, firewall, Intrusion Detection/Prevention System...

3. Upravljanje komunikacijama?
Praenje optereenja i odziva (ping) komunikacionih kanala daje uvid u stanje
komunikacionih kanala u DS. Podaci o statusima komunikacija omoguavaju adekvatne
reakcije: ne-adekvatno iskorieni kanali se mogu zameniti slabijima, preoptereeni kanali se
proiruju dodatnim kapacitetima.

4. Upravljanje replikama?
Cilj upravljanja replikama je odravanje adekvatnog nivoa kvaliteta usluga DS (performanse).

5. Upravljanje konfiguracijama?
DEF: Upravljanje konfiguracijama u DS omoguava izmene uz ouvanje zadatih funkcija,
atributa i performansi.
DEF: Upravljanje verzijama je jedan vid upravljanja konfiguracijom DS u kojem se planski
propagiraju novije verzije elemenata DS

6. Reakcija na incidente?
Monitoring podaci omoguavaju detekciju i reakciju na incidente. Ako je incident naruio
stanje DS, onda se izvravaju neke od sledeih akcija:
Neutralizacija izvora incidenta, npr. gaenje komunikacionog kanala
Oporavak dela ili celog stanja DS na osnovu checkpoint-a i/ili beleenih poruka
Prijava incidenta nadlenim organima je obavezna ak iako incident nije naruio stanje (tj.
konzistentnost) DS. Autentinost logova ne sme da se dovede u pitanje (eng. nonrepudiation)
- digitalno potpisivanje logova, ova mera je neophodna zarad dokazivanja krivice na sudu
(ako doe do toga)

7. Protokoli u nadzoru i upravljanju?


DEF: SNMP je protokol za upravljanje ureajima na IP mreama. Menaderi (administrativni
vorovi) nadziru jednu raunarsku mreu. Nadzirani elementi mree izvravaju tzv. SNMP
agente koji alju izvetaje menaderu. Tipini primeri ureaja ije mreno prisustvo
nadziremo sa SNMP-om: ruteri, svievi, serveri, radne stanice, tampai
DEF: Remote Desktop Protocol (RDP) omoguava udaljeni pristup grafikim korisnikim
okruenjima raunara na kojima se izvrava Windows operativni sistem
X Window System - omoguava rad sa udaljenim grafikim korisnikim interfejsima i
ureajima za unos, npr. Tastatura. X koristi klijent-server model.
Distribuirani algoritmi

1. Modeliranje DS (graf, vorovi, grane, maina stanja)?


DS je mogue modelirati matematikim grafom. Procesi su vorovi, komunikacioni kanali su
grane. Stanje DS ine stanja procesa i komunikacionih kanala (tj. skup poruka na kanalima).
Stanje procesa moe da se posmatra kao maina stanja (state machine) koja barata sa
sledeim tipovima akcija:
Interne akcije, npr. iterativni postupak nad nekom strukturom podataka
Slanje poruke, npr. slanje zahteva drugom procesu, zavretak obrade
Prijem poruke, npr. prijema zahteva

2. Osnovni vs kontrolni algoritam?


DEF: Osnovni algoritam izvrava distribuiranu obradu u kojoj uestvuje dva ili vie procesa u
DS
DEF: Kontrolni algoritam nadzire ili upravlja izvravanjem osnovnog algoritma

3. Algoritam talasa?
DEF: Algoritam talasa (wave algorithm) omoguava procesu P da prikupi informacije od svih
procesa u DS
Ciljevi algoritma talasa: detekcija zavretka distribuirane obrade, nalaenje putanja, tj.
rutiranje, izbor koordinatora
Osnovni nain rada: proces P pokree talas, talas obie ceo DS i prikupljene informacije
se vrate u P, P donosi odluku
DEF: Algoritam obilaska (Tarry algoritam) je centralizovani algoritam talasa u kojem proces P
inicira talas slanjem token-a kroz sistem. Token se nakon obilaska sistema vraa u P, gde se
donosi odluka. DFS je specijalan sluaj Tarry algoritma.
DEF: Eho algoritam (engl. echo algorithm) je centralizovani algoritam talasa koji se
upotrebljava za prikupljanje informacija u DS modeliranim neusmerenim grafom

4. Algoritmi za odabir putanje bez RIP?


DEF: Algoritam za odabir putanje (engl. routing) nalazi optimalnu putanju u mrei iz skupa
moguih putanja (prosleivanje paketa izmeu izvora i odredita). Mogui naini odabira
odredita: Anycast bilo kome u mrei Broadcast svima u mrei Multicast
odreenim lanovima mree Unicast jednom lanu mree Geocast u geografski
prostor
Uglavnom je bazirano na odravanju tabele za odabir putanja (engl. routing table).
DEF: Statiki algoritam za odabir putanje radi sa predefinisanim tabelama za rutiranje
DEF: Dinamiki algoritam za odabir putanje (dynamic routing) radi bez predefinisanih tabela
za rutiranje
Tipovi rutiranja: statiko, vektor udaljenosti (distance vector), stanje linka (link state), vektor
putanja (path vector)
DEF: Autonomni Sistem (AS) je deo interneta pod administracijom uglavnom Internet
Service Provider-a (ISP)
DEF: BGP je standardni eksterni gateway protokol za razmenu informacija o rutiranju i
dostupnosti izmeu AS-a
DEF: OSPF je dinamiki algoritam za odabir putanje unutar autonomnih sistema.
Tip: stanje linka (link state). OSPF je najee korieni Interior Gateway Protocol (IGP) u
raunarskim mreama velikih kompanija.

5. Meusobna iskljuivost?
Osnovni nain rada: proces P dobija privilegiju pristupa resursu R, proces P ulazi u kritinu
sekciju (engl. critical section), tj. blok izvornog koda iz kojeg pristupa R, nakon zavrenog
pristupa R, proces P izlazi iz kritine sekcije.
Centralizovani algoritam koordinator, rezervisi, dozvoli, oslobodi
Logiki asovnik - u sistemu postoji logiki asovnik, vreme logikog asovnika se poveava za
svaki zahtev pristupa deljenom resursu, svaki proces P je svestan ostalih procesa u grupi.
Nain rada: proces P poalje svim ostalim procesima zahtev za pristup resursu R, ostali
procesi odobravaju zahtev ako u datom trenutku ne koriste resurs R, proces Q moe odbije
pristup ako koristi R stavlja P u red za ekanje i nakon izlaska iz kritine sekcije alje dojavu
Token-ring algoritam token, prsten...
Raymond algoritam token, procesi formiraju usmereno stablo, svaki proces odrava red
ekanja na deljeni resurs R, kada je procesu P potreban pristup R stavlja sebe u svoj red
ekanja, ako se promeni prvi u redu ekanja, onda se o tome informie nadreeni vor Q

6. Izbor koordinatora?
Bully algoritam - proces A pokree izbor kad primeti da koordinator K ne odgovara na
zahteve, proces A alje poruku o izboru svim procesima sa veim identifikatorima,a ko niko
ne odgovori, onda proces A dobija izbore i postaje koordinator, ako poruku o izboru dobije
proces B, koji ima vei identifikator od A, onda vraa OK i dobija izbore.
Algoritam prstena - proces A pokree izbor kad primeti da koordinator K ne odgovara na
zahteve, proces A kreira poruku IZBOR i prosleuje je sledeem voru, ako se sledei proces B
ne izvrava, onda se preskae, svaki proces koji se izvrava dodaje svoj identifikator u poruku
IZBOR, praktino nominujui sebe, kada se izborna poruka vrati u proces A, selektuje se
proces sa najveim identifikatorom, tip poruke se menja na KOORDINATOR i ponovo se alje
samo onim vorovima koji su se nominovali u prvom krugu izbora

DEF: Kritopgrafija je nauka koja se bavi metodama ouvanja tajnosti podataka.


7. Simetrina kriptografija?
DEF: U sistemima za simetrinu kriptografiju se koristi isti klju za kodiranje i dekodiranje (Ka,b
- deljeni kljuc). DES, AES

8. Asimetrina kriptografija?
DEF: U sistemima za asimetrinu kriptografiju se koriste razliiti kljuevi za kodiranje i
dekodiranje(K - - tajni kljuc, K+ - javni kljuc). RSA

9. Hash i digitalni potpisi?


DEF: Hash je jednosmerna funkcija koja pretvara digitalne podatke proizvoljne duine (tzv.
plaintext) u digitalni podatak fiksne duine (tzv. cyphertext), npr. 128 bita.
Digitalni potpis - Kada A poalje poruku B onda je potrebno osigurati sledee: da strana B
nee zlonamerno promeniti sadraj primljene poruke, da strana A ne moe da tvrdi da nikad
nije poslala poruku. Postoji vie naina za digitalno potpisivanje poruka: potpisivanje
sistemom javnih kljueva, potpisivanje message digest-om( hash-ovanje).
10. Autentifikacija?
DEF: Autentifikacija je provera identiteta neke stranke (korisnika, procesa, raunara, itd.)
Autentifikacija je prvi korak kod uspostavljanja bezbednih kanala mora se utvrditi identitet
svih strana koje komuniciraju. Tipovi autentifikacije entiteta u DS: deljeni tajni kljuevi, centri
za distribuciju kljueva, infrastruktura javnih kljueva

11. Autorizacija?
DEF: Autorizacija je proces dodele prava pristupa elementima DS
MAC = Mandatory Access Control = Obavezna provera prava pristupa. Entiteti u MAC
modelu autorizacije: subjekti - koji iniciraju akcije, objekti - nad kojima se akcije iniciraju,
atributi - dodatne informacije asocirane subjektima (operacije se dozvoljavaju ili odbijaju na
osnovu provere atributa)
DAC = Discretionary Access Control = Bazirana na vlasnitvu resursa u DS. Entiteti u DAC
modelu autorizacije: objekti resursi DS kojima se dozvoljava pristup, vlasnici objekata
odravaju pravila pristupa objektima, subjekti elementi DS koji koriste objekte. Omoguava
decentralizovanu administraciju prava pristupa u DS.
RBAC = Role Based Access Control = Bazirana na ulogama koje su dodeljene elementima DS
Skupovi entiteta u RBAC modelu: USERS korisnici, tj. subjekti koji direktno koriste usluge DS
OBS objekat, fiziki i logiki element DS koje je potrebno zatititi, OPERATIONS operacije,
tj. akcije koje korisnici izvravaju nad objektima, PRMS permisija (dozvola), pravo korienja
odreenog objekta, ROLES radno mesto ili druga uloga elementa u DS

12. Presek stanja DS?


DEF: Presek stanja DS (engl. snapshot) se sastoji od skupa internih stanja procesa i poruka na
komunikacionim kanalima. Cilj formiranja preseka stanja DS: detekcija mrtvih petlji,
zavretak (distribuirane) obrade, garbage collection, tj. oslobaanje nekorienih objekata,
restart DS nakon ispada sistema, nalaenje greaka u DS, tj. debug. Osnovni nain rada:
proces koordinator pokree postupak kreiranja snapshot-a, ostali procesi snime svoje lokalno
stanje i stanje komunikacionih kanala, tzv. fragment preseka stanja, proces koordinator
prikuplja fragmente preseka stanja i kreira globalni presek.
Chandy-Lamport - komunikacioni kanali su FIFO tipa. Nain rada: proces P pokree kreiranje
preseka stanja DS slanjem kontrolne poruke marker svim svojim susedima, proces Q, koji jo
nije primio marker, kreira fragment snaphot-a, proces Q nakon kreiranja fragmenta alje
marker dalje svim susedima, proces R formira stanje komunikacionog kanala ka procesu S od
osnovnih poruka koje primi od S nakon kreiranja fragmenta (u R) i pre prijema markera od S,
algoritam se terminira u procesu P kada primi marker kroz sve komunikacione kanale
Lai-Yang - komunikacioni kanali ne moraju da budu FIFO tipa. Osnovni nain rada: proces P
pokree proces formiranja preseka stanja, procesu kreiranja preseka procesi alju dodatni
tag=false sa svim osnovnim porukama sve dok ne zavre kreiranje fragmenta, a nakon alju
tag=true. Ovaj tag praktino oznaava kraj kreiranja fragmenta i olakava formiranje stanja
komunikacionih kanala, kada proces Q primi osnovnu poruku M sa tag=true, formira
fragment pre obrade M, proces Q formira stanja komunikacionih kanala od svih osnovnih
poruka sa tag=false nakon prijema M koji je inicirao kreiranje (lokalnog) preseka stanja
13. Detekcija otkaza?
DEF: Detekcija otkaza omoguava da grupa procesa detektuje procese (u grupi) koji su
otkazali. Mehanizmi koji omoguavaju detekciju otkaza: Aktivno = Svaki lan grupe
periodino alje poruku I am alive, Pasivno = lanovi grupe se periodino meusobno
ping-uju. Timeout = maksimalno vreme koje sme da protekne u pasivnom mehanizmu
detekcije otkaza od trenutka slanja ping-a nekom procesu do prijema odgovora. Split-brain
problem = zbog ispada komunikacionog linka vei broj procesa preuzme primarnu rolu i
odgovara na zahteve klijenata.
DEF: Centralizovani postupak detekcije ispada procesa se realizuje na procesu koordinatoru
koji periodino proziva sve procese i/ili kojem se svi procesi periodino javljaju. Watchdog =
pas uvar nadzire status procesa u grupi i preduzima konfiguracijom zadate akcije ako
detektuje ispad. Nain rada: koordinator, tj. watchdog periodino poziva procese, ako
odgovor nekog procesa ne stigne za predefinisano vreme (zadato u konfiguraciji), onda se
proglaava da je ispao, nakon detekcije ispada procesa, koordinator proverava da li je ispad
kritian i po potrebi (kontrolisano) sputa i ostale procese i pristupa oporavku sistema.
Distribuirana detekcija otkaza - DEF: Detektor otkaza je dodatna komponenta procesa koja
omoguava detekciju otkazanih procesa. Nain rada: detektori otkaza kreu sa
pretpostavkom, npr. da su svi procesi ispravni, kada proces P primi (kontrolnu ili osnovnu)
poruku od procesa Q, taj proces se proglaava ispravnim, ako proces P ne primi nijednu
poruku od Q do isteka konfigurisanog timeout-a, onda se Q oznaava sumnjivim, Q se
proglaava otkazanim kada P formira konsenzus sa ostalim procesima

14. Oporavak od otkaza?


DEF: Oporavak je proces u kojem se proces vraa u validno stanje nakon njegovog otkaza.
Tipovi oporavka DS: oporavak unazad (backward recovery) na osnovu poznatog, ranijeg
stanja DS, oporavak unapred (forward recovery) je mogu ako su poznati svi mogui tipovi
greaka u DS i razvijene su adekvatne mere za njihovo prevazilaenje.
DEF: Checkpoint je snimak celokupnog ili deliminog stanja DS u odreenom vremenskom
trenutku
DEF: Beleenje poruka (message logging) je mera koja omoguava restauraciju stanja DS
nakon otkaza nekog elementa
Tokom oporavka se beleenje poruka koristi u kombinaciji sa checkpointima.

15. Detekcija mrtvih petlji?


Cilj: detekcija mrtvih petlji i beskonanog odlaganja u DS. Osnovni nain rada: analiza
snapshot-a DS i identifikacija petlji u grafu ekanja, detektovane petlje se prekidaju
restartom procesa uesnika.
Graf ekanja - Osnovni nain rada: proces P trai pristup resursu R kreira se grana u:P-R,
proces Q trai pristup resursu R kreira se grana v:Q-R, P dobija pristup R grana u se brie,
i dodaje se grana w:Q-P, P zavri obradu na R grana w se brie, Q dobija R i R zavisi od Q
grana v se brie, grana y:R-Q se dodaje, Q zavri obradu na R grana y se brie graf
ekanja je prazan
Bracha-Toueg algoritam - u sistemu se kreira graf ekanja. Nain rada: zasnovan je na
statikoj analizi trenutnog stanja (snapshot) grafa ekanja, iterativno se identifikuju
neblokirani vorovi i algoritam skida njihove grane iz grafa ekanja, ako se algoritam zavri
sa praznim grafom ekanja, onda nema mrtvih petlji, ako se algoritam zavri tako da ne moe
da ukloni nijednu dodatnu granu, a skup grana grafa ekanja nije prazan, onda postoje mrtve
petlje. Komande: REQUEST zahtev za pristup, GRANT dozvoli pristup
16. Detekcija zavretka obrade?
DEF: Algoritam detekcije zavretka obrade je kontrolni algoritam koji omoguava detekciju
zavretka obrade u osnovnom algoritmu.
DEF: Osnovni algoritam se zavrava (engl. termination) kada su svi procesi obrade u finalnom
stanju i nema osnovnih poruka na kanalima
Osnovni nain rada: postupak detekcije uslova zavretka osnovnog algoritma, tj. da su svi
procesi u finalnom stanju i nema osnovnih poruka, proglaenje kraja distribuirane obrade
(engl. announce).
Dijkstra-Scholten algoritam - osnovni algoritam je centralizovan. Nain rada: P alje osnovnu
poruku M procesu Q i poveava broja aktivnih (pot)procesa, proces Q postaje dete procesa
P po prijemu M ako nema nadreeni proces, Proces Q izlazi iz T kada je pasivan i nema
podreene procese (decu), Proces Q o izlasku informie P (tzv. acknowledge poruka), P
smanji broja aktivnih podreenih procesa, Proces P (tj. koren) donosi odluku o zavretku
distribuirane obrade u trenutku kada je stablo T prazno
DEF: Teinski algoritam za detekciju zavretka distribuirane obrade je baziran na upotrebi
teine (tj. broja) koji se deli izmeu aktivnih procesa i osnovnih poruka u tranzitu - osnovni
algoritam je centralizovan. Nain rada: proces P je koordinator osnovnog algoritma i njemu
je dodeljen teinski faktor, tj. broj. Proces P smanjuje svoj teinski faktor i razliku prosleuje
drugim procesima kroz osnovne poruke, Proces Q po prijemu osnovne poruke poveava
svoju teinu za primljenu vrednost, proces Q vraa teinu nadreenom procesu po
zavretku obrade, proces P donosi odluku o zavretku kada primi nazad svu svoju teinu

17. Klasifikacija i tipovi replikacije?


Sa stanovita mogunosti auriranja podataka: jednosmerna od osnovnih tabela ka
kopijama, simetrina dvosmerno
Sa stanovita vremena osveavanja: sinhrona odmah se repliciraju podaci, asinhrona
odloena (po potrebi) replikacija (automatski ili runo)
Sa stanovita naina osveavanja: sa brzim osveavanjem propagacija promena, sa
kompletnim osveavanjem osveavanje cele replikacione kopije
Sa stanovita sinhronizacije operacija osveavanja: serijska isti redosled operacija kao na
osnovnim tabelama, paralelna dozvoljava se izmena redosleda operacija

18. Propagiranje promena u replike?


Push/Pull - Push model ili server-based protokol: alje promene u replike nakon izmena, na
zahtev replike gde se izmena vri, primenjuje se kada se zahteva visok stepen konzistencije
identine replike, efikasan kada je R/W odnos visok u svakoj replici
Pull model ili client-based protokol: promene se propagiraju u replike na njihov zahtev ,
efikasan je za mali R/W odnos
U lease modelu server obeava klijentima (tj. replikama) da e im poslati promene za zadato
vreme propagacije, kada lease istekne, klijent ga obnavlja ili nastavlja sa pull modelom
Epidemic protokol - akcenat je na minimalnom broju poruka koje se razmenjuju, tipino, sve
promene se pakuju u jednu poruku i alju u drugom serveru. Princip poput irenja zaraze: A
push promene ka B, A pull promene od B, kombinacija Push-Pull modela
19. Dvofazna i trofazna primena transakcije?
Osnovni nain rada: koordinator direktno ili indirektno kontaktira sve elemente, koordinator
u dva ili vie koraka izdaje komande na osnovu kojih elementi primenjuju nove podatke ili ih
odbacuju.
2PC:
Komande: PREPARE priprema primene, ROLLBACK otkazivanje primene, COMMIT
primena.

Faza pripreme - koordinator transakcije ima sledee zadatke: alje svim ostalim serverima
poruku tipa PREPARE i oekuje njihove odgovore, u sluaju ponitavanja alje svim serverima
ROLLBACK i ponitava transakciju u celini. Proces P primi poruku PREPARE, utvruje da li se
njegov deo transakcije moe potvrditi i alje odgovor tipa ROLLBACK ili PREPARED, ako dobije
poruku tipa ROLLBACK, onda ponitava svoj deo transakcije i alje potvrdu da je u tome
uspeo.
Faza realizacije - na fazu realizacije zavretka globalne transakcije se prelazi ako koordinator
dobije pozitivan odgovor (PREPARED) od svih servera u stablu. Zadaci koordinatora u fazi
realizacije: alje se svim procesima poruka COMMIT, ako dobije pozitivne odgovore od svih
onda potvruje transakciju u celini, ako dobije ijedan negativan odgovor, alje svim
procesima poruku ROLLBACK i ponitava transakciju u celini.

3PC:
Algoritam primene globalne transakcije u tri faze reava problem ispada procesa tokom faze
primene (tj. druge faze 2PC)
Nain rada: proces P alje poruku PROVERA i eka potvrdu od svih podreenih procesa.
Transakcija se prekida ako se ne prime sve potvrde za zadato vreme (timeout), po prijemu
svih potvrda P alje poruku PRIPREMA svim podreenim procesima. Transakcija se nastavlja
ako se ne dobiju sve potvrde za zadato vreme. Po prijemu svih potvrda ili isteka timeout-a P
alje poruku PRIMENA. Po prijemu svih potvrda se transakcija primenjuje. Ako na nekom
podreenom procesu doe do isteka timeout-a, transakcija se prekida

20. Raspodela optereenja?


DEF: Ukoliko se u DS primenjuje replikacija nekog resursa, onda se ravnomerno optereenje
replika ostvaruje algoritmima za raspodelu optereenja
DEF: Round-robin (RR) omoguava raspodelu optereenja izmeu korisnika usluga DS
uvoenjem vremenskih prozora kratkog trajanja (tzv. kvantum) u kojima se resursi DS (npr.
procesor) ciklino dodeljuju korisnicima
Napredna raspodela optereenja koristi razne metrike u DS u procesu odabira resursa koji
e opsluiti odreene zahteve korisnika. Mogue statike metrike koje se koriste od strane
ovih algoritama: geografska lokacija resursa, hardverske mogunosti resursa, npr. broj
jezgara CPU i raspoloiva radna memorija, status resursa (ON/OFF) utvruje mehanizmom
prozivanja (engl. polling). Mogue dinamike metrike koje se koriste od strane ovih
algoritama: prioritet zahteva, optereenje raspoloivih resursa, npr. servera, komunikacionih
kanala, itd. , najkrae vreme odgovora na zahteve u (kratkoronoj) prolosti, broj aktivnih
zahteva koje resurs opsluuje, hitnost i/ili bliskost vremena do kojeg zahtev mora da se
obradi
Web bazirani sistemi

1. Istorijat WWW i Interneta?


DEF: Internet je mrea svih mrea
DEF: World Wide Web (WWW ili W3) je informacioni sistem meusobno povezanih
dokumenata
1969 ARPANET
1971 elektronska pota, pretea dananjeg email-a
1989 WWW se pojavio
1991 HyperText Markup Language
1993 Mosaic prvi grafiki pretraiva
1998 pretraga dokumenata na WWW Google

2. Hardver, procesi, komunikacije?


Hardver - komunikacioni kanali(opticki/satelitski linkovi) zavrsavaju se na ruterima(mreni
ureaj koji povezuje raunarske mree i prosleuje pakete podataka izmeu njih). Hardver
servera podataka i aplikacija: specijalni (otporni raunari slini personalnim raunarima),
blade serveri i okviri (vie fizikih servera na malom prostoru), data centri sa farmama
servera. Oprema, tj. hardver koju koriste krajnji korisnici: personalni raunari, mobilni ureaji
Procesi - operativni sistem i softver mrene opreme. Tipovi serverskih procesa na WWW:
Web server: Apache, Tomcat, Microsoft Internet Information Service (IIS) Server baze
podataka: MySQL, SQLite, Oracle, Microsoft SQL Aplikativni serveri Server imena (DNS)
Internet pretraivai: Internet Explorer , Safari, Firefox, Opera, Chrome
Komunikacije Tipovi sadrzaja: tekstualna dokumenta, multimedia sadrzaji, prenos govora,
videa, velikih binarnih fajlova. Tip kanala: sinhrona komunikacija, paralelna sinhrona
komunikacija(klijent kreira veci broj niti i iz svake posalje bar jedan zahtev), asinhrona klijent-
server komunikacija.
Hypertext Transfer Protocol (HTTP) je najee korien protokol za razmenu dokumenata na
Web-u(sinhrona komunikacija, baziran na TCP/IP, statless, vraca odg sa opisom greske ako do
nje dodje). HTTP komande koje klijenti alju serverima: Head, Get, Put, Post, Delete

3. Imena?
DEF: Address Resolution Protocol (ARP) slui za preslikavanje IP adresa na mrene adrese,
npr. Media Access Control (MAC) adrese
DEF: Domain Name System (DNS) je hijerarhijski, distribuirani sistem imena raunara, servisa
ili bilo kog resursa konektovanog na Internet(ime na IP adresu).
Najee koriena simbolika imena su: Uniform Resource Locator (URL) ,E-mail adresa,
Jabber adresa slino email adresi, jedinstvena adresa resursa
DEF: Uniform Resource Locator (URL) je putanja do dokumenta na Web-u(protokol + dns ime
servera + ime dokumenta)

4. Sinhronizacija?
Redni broj poruka kod TCP/IP obezbeuje pravilan redosled prijema poruka i sastavljanje
veih sadraja. Sinhronizacija vremena raunara sa atomskim asovnikom. Zimsko i letnje
raunanje vremena.
5. Replikacija i konzistencija?
Replikacija web hosting sistema, tj. servera HTTP dokumenata(#1: estimacija optereenja, #2:
detekcija anomalija, tj. kada i kako kreirati/ukloniti replike?, #3: implementacija mera, tj.
izmene u replikama)

6. Otpornost na otkaze?
Otkaz komunikacionih kanala i/ili rutera(reenje: algoritmi za nalaenje putanja su otporni na
viestruke ispade). Otkaz servera(reenje: replikacija baza podataka, aplikativnih servera i
servera dokumenata, i automatsko prekljuivanje na replike u trenutku ispada). Otkaz
klijenta(reenje: restart procesa).

7. Sigurnost i bezbednost?
Transliranje mrenih adresa (engl. Network Address Translation (NAT)) korienje privatnih
mrea unutar korporativnih i univerzitetskih informacionih sistema. Blokiranje neeljenog
sadraja(firewall). Kodiranje komunikacionih kanala(TLS, PGP, WPA). Zatita od zlonamernog
softvera i anomalija ponaanja sistema(antimalware i anti-virus, Intrusion Detection System
(IDS) , Security Information (and Event) Management - SI(E)M, pravila i heuristika, tj. samo-
obuavajui sistemi detekcije anomalija)

8. Primeri Web baziranih sistema: peer-to-peer, content delivery network, online plaanje,
bitcoin?
Peer-to-peer - nain rada: komunikacija se ostvaruje preko BitTorrent ili sl. protokola,
korisnici (peer/seed) se povezuju odreen broj korisnika, ne svi sa svima. Korisnik je ujedno
i klijent i server.
Content delivery network vise servera opsluzuje razlicite racunare(ne jedan kao ranije)
Online plaanje - nain rada: kupac sastavlja korpu, unosi podatke kartice i klikne na dugme
za plaanje, web prodavnica prodavca prosleuje kodirane podatke kartice kroz sledei niz:
servis plaanja -> sistem kreditnih kartica -> banka kupca, sredstva se rezerviu na raunu
kupca i vraa se odgovor web prodavnici, sredstva se isplauju prodavcu po slanju poiljke
do tada su rezervisana. Bezbedne komunikacije: podaci kreditne kartice se kodiraju u
browser-u kupca, komunikacioni kanali izmeu uesnika su kodirani(TLS, AES). Provera kupca
DEF: Bitcoin je Web bazirani sistem digitalnog novca - nain rada: kupac na berzi pretvori
novac u bitcoin, kupac realizuje transakciju (kupi robu ili berzu kod prodavca), transakcija
ulazi u globalnu knjigu transakcija, globalnu knjigu transakcija odravaju kopai, kopai za
odravanje transakcija dobijaju (nove) bitcoin-e.

Kritine infrastrukture

1. Osnovne definicije: infrastruktura, kritina infrastruktura, kljuni resursi?


DEF: Infrastruktura je mrea nezavisnih sistema koji su izgraeni od strane oveka i slue za
proizvodnju i/ili distribuciju resursa i usluga
DEF: Kritina infrastruktura (KI) je ona iji produeni ispad ima razarajue efekte na drutvo i
nain ivota na koji smo navikli u zapadnim civilizacijama
DEF: Kljuni resursi (KR) su pojedinani objekti od izuzetnog znaaja za drutvo
2. Navesti 5 primera kritinih infrastruktura?
Telekomunikacije, energetika, transportni sistem, finansijski sistem, zdravstvo

3. Navesti 3 kljuna resursa?


Nuklearne elektrane, brane, nacionalni monumenti

4. Primeri ispada i napada na KI/KR: Fukushima, 9/11, Stuxnet?


Fukushima - usled zemljotresa i cunamija dolo do pregrevanja i eksplozija u nuklearnim
reaktorima nuklearnog postrojenja Fukushima Daiichi u Japanu
9/11 - putnikim avionima napadnut SAD
Stuxnet - detektovan sofisticiran malware koji je zarazio softver u nuklearnom postrojenju za
preiavanja uranijuma u Iranu

5. Kritine infrastrukture vs opti informacioni sistemi (npr. studentska sluba)?


....... pogledaj na slajdovima

6. Podsistemi u KI: procesni, SCADA, poslovni


DEF: Procesni podsistem u industrijskom sistemu se sastoji od opreme za preradu i transfer
sirovina, kao i elektronske opreme koja je instalirana u blizini te opreme, fiziki se nalazi
najblie opremi u polju.
DEF: SCADA podsistem slui za prikupljanje merenja i slanje komandi u procesni podsistem sa
centralizovanih lokacija, fiziki se nalazi u kontrolnom centru.
DEF: Poslovni podsistemi u kritinim infrastrukturama i/ili industrijskim sistemima
omoguavaju izvravanje poslovnih procesa kompanije, fiziki se nalazi u poslovnim
objektima.

Smart Grid

1. ta je Smart Grid i koji su njegovi ciljevi?


DEF: Smart Grid je moderan elektroenergetski sistem koji uz pomo dostignua sa polja
informacionih i komunikacionih tehnologija vri optimizaciju rada sistema.
Ciljevi: poveati fleksibilnost, sigurnost, bezbednost, dostupnost, efikasnost, otpornost na
poremeaje

2. Podsistemi za proizvodnju, prenos i distribuciju?


Podsistem za proizvodnju elektrine energije ine izvori(hidro elektrane, fosilno gorivo: ugalj,
gas, itd., nuklearne elektrane)
Zadatak podsistema za prenos je da elektrinu energiju proizvedenu u udaljenim
elektranama dovede do ivice naseljenih mesta. Kljuni elementi: transformatori, vodovi,
zatitna oprema, senzori, aktuatori, SCADA
Zadatak podsistema za distribuciju je da elektrinu energiju dobijenu iz sistema za prenos
distribuira krajnjim korisnicima. Kljuni elementi: transformatori, vodovi, senzori, aktuatori,
SCADA

3. Oprema?
Infrastruktura pametnih meraa (IPM) je podsistem u distribuciji. IPM sastoji se od velikog
broja pametnih meraa i pomonih sistema.
IED = Intelligent Electronic Device - slanje podataka, prijem komandi, minimalna lokalna
obrada
RTU = Remote Terminal Unit, MTU = Master Terminal Unit - prijem podataka iz procesnog
postrojenja, konverzija i slanje podataka u PLC/MTU/SCADA, prijem komandi iz centrale i
slanje na fieldbus
PLC = Programmable Logic Controller - programabilni industrijski raunar(zamenjuje releje)

4. Procesi u SCADA podsistemu?


SCADA serveri - ulaz: sirovi podaci sa fieldbus veze, Izlaz: prilagoeni podaci
SCADA HMI - korisniko okruenje za nadzor i upravljanje
EMS/DMS servisi koriste se za online i offline analize rada pametnog elektroenergetskog
sistema (Smart Grid)
Istoriar - skladiti istorijat izmena podataka

5. Procesi u poslovnom podsistemu?


Asset management, npr. Geographic Information System (GIS), rad sa ispadima, upravljanje
terenskim radovima, naplata, planiranje, istorijski podsistem, ogranieni SCADA klijenti,
monitoring sistem

Vous aimerez peut-être aussi