V semestar

Predmeti:


Računarske osnove Interneta

(obavezni, III godina, V semestar)

BGP routing protokol i organizacija Interneta. BGP mehanizam funkcionisanja, stanja, uspostavljanje neighbor odnosa. BGP atributi, obavezni, neobavezni, opcioni tranzitivni. Mehanizam odlučivanja i izbora ruta u BGP protokolu, primeri. iBGP, eBGP, sinhronizacija. Konfederacije, ruting reflektori.
Kvalitet servisa QoS. Mere performansi (bandwidth, delay, jitter, packet loss). Parametri koji utiču na kašnjenje. Modeliranje redova za čekanje. Merenje saobraćaja (token bucket,...). Alokacija resursa (FIFO queuing, Fair queuing, Weighted Fair Queuing, Priority queuing, CBWFQ,…). Označavanje paketa (IP precedence, DSCP, CoS, 802.1p), Intserv arhitektura (RSVP), Diffserv argitektura (DSCP), Congestion avoidance tehnike (RED – Random Early Detection, WRED – Weighted RED,…).
Prenos multimedije preko TCP/IP mreža. VoIP, Videokonferencije. RTP protokol. H.323, SIP. Protokoli za kodiranje zvuka i slike
Multicast. Svrha i princip funkcionisanja multicast prenosa paketa. Multicast rutiranje. PIM Sparse i Dense mode ruting protokoli. Drugi Multicast ruting protokoli.
Virtuelne privatne mreže, MPLS.
VPN – uvod – tipovi, najrasprostranjeniji protokoli. Prenos paketa na osnovu labela, prednosti, mane. MPLS labele. Label binding and distribution (Kontrola i propagacija labela, LDP protokol). Penultimate hop popping. MPLS i BGP, multiprotokolarni BGP. MPLS loop detection and prevention.
Virtuelne privatne mreže, IPsec. Osnove zaštite saobraćaja u mrežama (Zaštita saobraćaja na različitim OSI slojevima, Simetrični asimetrični algoritmi, Razmena klljučeva, Hash funkcije). IPsec skup protokola (IKE. AH, transport, tunel. ESP, transport, tunnel). Topologije VPN, mesto smeštanja zaštitnih uređaja
Nadgledanje mreža. SNMP protokol, MIB.
Napredne Layer 2 tehnologije. Brzi spanning tree protokol 802.1w. Multiple spanning tree 802.1s.
Wireless. 802.1a,b,g.

Informacioni sistemi 1

(obavezni, III godina, V semestar)


Projektovanje softvera

(izborni, III godina, V semestar)

Uvod. Osnovni pojmovi. Principi objektno-orijentisanog modela. Modeliranje softvera. Alati. Pregled UML-a: korisnici, gradivni blokovi, opšti mehanizmi.
Dijagrami klasa, paketa i objekata.
Klasa. Atributi. Operacije/metode. Tipovi podataka. Aktivne klase. Interfejsi. Relacije. Ukrasi relacija. Paketi i podsistemi. Objekti. Veze.
Dijagrami interakcije.
Dijagrami sekvence i komunikacije. Poruke. Sekvenciranje poruka. Argumenti i rezultati. Životni vek objekata. Komunikacija i sinhronizacija.
Dijagrami slučajeva korišćenja. Akteri. Slučajevi korišćenja. Relacije.
Dijagrami aktivnosti i dijagrami stanja.
Aktivnosti i akcije. Stanja. Prelazi. Dijagrami stanja. Modeliranje događaja. Signali.
Dijagrami komponenata i dijagrami raspoređivanja.
Komponente. Interfejsi. Relacije. Tipovi komponenata. Standardni stereotipovi. Paketi. Čvorovi. Sistemi. Veze.
Dijagrami složene strukture.
Složena struktura. Port.
Dijagrami interakcije - napredniji pojmovi.
Dijagrami pregleda interakcije. Vremenski dijagrami.
Projektni uzorci.
Uvod. Klasifikacija. Klasni i objektni uzorci. UML notacija za opis uzoraka.
Uzorci strukture. Kompozicija. Dekorater. Adapter. Proksi. Muva. Fasada. Most.
Uzorci ponašanja.
Iterator. Šablonski metod. Strategija. Posmatrač. Komanda. Stanje. Podsetnik. Lanac odgovornosti. Posrednik. Posetilac. Interpreter.
Uzorci Kreiranja.
Unikat. Apstrakta fabrika. Proizvodni metod. Prototip. Graditelj.

Operativni sistemi 2

(izborni, III godina, V semestar)

Uvod – o predmetu. Sadržaj, ciljevi, preduslovi.
Raspoređivanje procesa. Osnovni koncepti. Kriterijumi i algoritmi raspoređivanja procesa.
Sinhronizacija i komunikacija između procesa. Monitori. Razmena poruka. Sockets. Poziv udaljene procedure (RPC).
Upravljanje deljenim resursima.
Modeli pristupa deljenim resursima. Problemi nadmetanja za deljene resurse.
Virtuelna memorija. Zamena stranica. Alokacija okvira. Trashing. Memorijski preslikani fajlovi. Alokacija memorije za jezgro OS. Dohvatanje stranica unapred. Zaključavanje stranica.
Upravljanje diskovima.
Struktura diska. Konfiguracije priključivanja diskova. Raspoređivanje zahteva. Rukovanje prostorom na disku. Rukovanje prostorom za zamenu. RAID strukture.
Arhitektura operativnih sistema. Usluge OS. Korisnički interfejs prema OS.Sistemski pozivi. Sistemski programi. Struktura OS. Virtuelne mašine.
Primer operativnog sistema: Linux.
Istorijat. Principi dizajna. Moduli jezgra. Upravljanje procesima. Raspoređivanje. Upravljanje memorijom. Fajl sistemi. Ulaz i izlaz. Međuprocesna komunikacija.
Primer operativnog sistema: Windows XP.
Istorijat. Komponente sistema. Programski interfejs Win32.

Arhitektura i organizacija računara 1

(izborni, III godina, V semestar)

Memorija
Preklapanje pristupa. Ubrzavanje pristupa. Raspored adresa. Keš memorija. Osnovni pojmovi. Tehnike preslikavanja. Asocijativno, direktno i set-asocijativno preslikavanje. Zamena blokova keš memorije. Random, fifo, lru i pseudo lru algoritmi. Ažuriranje operativne memorije. Vrati nazad, upisi skroz, dovlači kod upisa i ne dovlači kod upisa. Virtuelna memorija i jedinica za ubrzavanje. Virtuelna memorija. Stranična, segmentna i segmentno-stranična organizacija. Jedinica preslikavanja. Jedinica sa asocijativnim, direktnim i set-asocijativnim preslikavanjem. Povezivanje keš memorije, jedinice za ubrzavanje, U/I uređaja i operativne memorije. Virtuelni keš. Realni keš. Softverse i hardverske tehnike za održanje koherencije keš memorije i U/I uređaja. Operativna memorija sa većom širinom reči, preklopljenim pristupima modulima i nezavisnim modulima. Performanse keš memorije. Smanjenje vremena pristupa pri pogotku, učestanosti promašaja i vremena pri promašaju.

Protočna obrada (Pipeline)
Osnovni pojmovi. Statički, dinamički, asinhroni i sinhroni pipeline. Instrukcijski pipeline. Arhitektura procesora. Organizacija procesora bez i sa pipeline-om. Hazardi u pipeline u. Strukturalni hazardi. Registarski fajl. Keš memorije instrukcija i podataka. Hazardi podataka. Prosleđivanje. Zaustavljanje. Zakašnjeno punjenje. Upravljački hazardi. Stepen u pipeline-u za skok. Prekid. Statičko predviđanje. Nema skoka. Ima skoka. Zaustavljanje. Zakašnjen skok. Dinamičko predviđanje. Bafer predviđanja. Keš predviđanja. Prediktori sa jednim i dva bita. Korelisani prediktori. Dinamičko raspoređivanje instrukcija. Scoreboard i Tomasulo.

Testiranje softvera

(izborni, III godina, V semestar)

Uvod u testiranje softvera. Manuelno i automatizovano testiranje. Jedinično testiranje.
Tehnike bele kutije: Tehnike pokrivanja koda zasnovane na toku kontrole. Tehnike toka podataka.
Tehnike crne kutije:
Deljenje na klase ekvivalencije. Uzročno posledični grafovi. Analiza graničnih vrednosti. Integraciono testiranje. Inkrementalno i neinkrementalno testiranje. Testiranja višeg reda. Upravljanje procesom testiranja Kriterijumi završetka procesa testiranja Upotreba alata za testiranje na praktičnom projektu

Neuralne mreže

(izborni, III godina, V semestar)