Upravljački programi za mrežnu karticu u operacijskom sustavu Benu

Size: px
Start display at page:

Download "Upravljački programi za mrežnu karticu u operacijskom sustavu Benu"

Transcription

1 SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br Upravljački programi za mrežnu karticu u operacijskom sustavu Benu Antun Kukolja Zagreb, lipanj 2017.

2

3

4 Sadržaj 1. Uvod Mrežna kartica RTL Komponente operacijskog sustava PCI podsloj Sučelje za mrežne uređaje net_dev Jezgrin međuspremnik za mrežne pakete sk_buff Inicijalizacija kartice Slanje Okvira Prihvat Okvira Prikaz rada ostvarena sustava na primjeru Zaključak Literatura Sažetak Summary... 26

5 1. Uvod Stalna povezanost postala je jedan od najvažnijih dijelova javnog i privatnog života ljudi. Za održavanje komunikacije računalnih sustava, a time i ljudi, odgovoran je pretežito internet. Računala se u internetsku mrežu spajaju preko komunikacijskih uređaja koji najčešće dolaze u obliku mrežnih kartica. Te kartice mogu se pojaviti kao diskretni elementi koji se dodaju računalnom sustavu ili češće kao integrirani element računalnog sustava. Uz sklopovlje koje se dodaje računalu proizvođač obično isporučuje i upravljački program koji je zadužen za ispravnu komunikaciju sklopovlja i operacijskog sustava koji upravlja računalom. Kako upravljački program ne ovisi samo o arhitekturi sustava nego i o operacijskom sustavu proizvođači će razviti upravljačke programe samo za najkorištenije operacijske sustave. Oni korisnici koji koriste manje poznate operacijske sustave prisiljeni su upravljački program potražiti od drugih izvora. Oni korisnici koji razvijaju vlastit operacijski sustav primorani su sami ostvariti upravljačke programe za nadogradnje koje dodaju na osnovno sklopovlje računala. Cilj ovog završnog rada je ostvarenje komunikacije dva ili više emuliranih računalnih sustava kojima upravlja operacijski sustav Benu. U tu svrhu potrebno je odabrati prikladnu mrežnu napravu te ostvariti upravljački program za istu. U poglavlju Mrežna kartica RTL8139 objašnjene su osnovne značajke mrežne kartice. Dan je tablični popis registara, i njihovih pomaka, koje koristi ostvareni upravljački program. U poglavlju Komponente operacijskog sustava dan je detaljan opis komponenti koje su dodane operacijskom sustavu u sklopu ovog završnog rada. Osim opisa ponuđeni su razlozi izgradnje proširenja i opisan je načina na koji ona pojednostavljuju razvoj i učinkovitost upravljačkog programa. 1

6 U poglavlju Inicijalizacija kartice detaljno je objašnjen postupak prvog pokretanja kartice. Objašnjeni su svi koraci inicijalizacije te uporabe pojedinih registara kartice na primjerima. U poglavljima Slanje Okvira i Prihvat Okvira dan je detaljan opis mehanizama kojima se kartica koristi za slanje i primanje Ethernet okvira. Uz mehanizme kartice objašnjeni su koraci koje upravljački program poduzima kako bi osigurao pravilan rad mrežne kartice. U poglavlju Prihvat Okvira dana je dodatna argumentacija za ostvarenje jezgrinog međuspremnika za mrežne pakete opisane u drugom poglavlju. Poglavlje Prikaz rada ostvarena sustava na primjeru ukratko objašnjava demonstracijski primjer razvijen u sklopu završnog rada i način povezivanja emuliranih računalnih sustava u virtualnu lokalnu mrežu. 2

7 2. Mrežna kartica RTL8139 Za emuliranje računalnog sustava koristi se emulator QEMU. Potrebno je odabrati mrežnu karticu koju QEMU može emulirati i kojom se što lakše upravlja budući da je operacijski sustav prilično jednostavan. Mrežna kartica koja odgovara opisu, podržana od strane emulatora, jednostavna i dobro dokumentirana je RTL8139 koju proizvodi Realtek Semiconductor Corp baziran u Tajvanu. Kartica se u računalni sustav spaja preko PCI sabirnice i nakon pravilnog podešenja omogućava prijenos podataka putem Ethernet veze (IEEE 802.3u 100Base-T i IEEE 802.3x Full Duplex Flow Control) do susjednog čvora u mreži tj. omogućava slanje i primanje podataka na razini podatkovne poveznice. [1] Dodatne mogućnosti kartice uključuju sučelja za upravljanje potrošnjom energije kao što su Advanced Configuration Power management Interface (ACPI), PCI power management za operacijske sustave koji podržavaju Operating System Directed Power Management (OSPM). [1] Budući da je cilj ovog rada samo ostvariti komunikaciju dva ili više emuliranih računala ta se svojstva zanemaruju. Sama kartica je dobro dokumentirana od strane proizvođača. Dokumentacija je ponuđena u obliku vodiča za programiranje i tehničkog lista (eng. datasheet). Oba dokumenta dostupna su na engleskom jeziku na mrežnom sjedištu proizvođača Iz dokumentacije doznajemo da kartica koristi mehanizme prstenastog međuspremnika (eng. ring buffer) za slanje i primanje Ethernet okvira. Budući da je kartica prilično jednostavna, u usporedbi sa sličnim sklopovskim rješenjima, međuspremnik se ne nalazi na kartici. Upravljački program mora od operacijskog sustava osigurati izravan pristup spremniku kako bi kartica mogla pravilno pisati dolazeće okvire i čitati one koji se trebaju poslati. Spomenuti mehanizmi bit će detaljnije opisani u vlastitim poglavljima. Osim adresnog prostora za postavke PCI uređaja koji ima svaki uređaj koji se spaja na sabirnicu kartica RTL8139 sadrži još i 86 registara [1] kojima se pristupa I/O instrukcijama koje su specifične za arhitekturu računala na koje se 3

8 kartica spaja. Ti registri koriste se za primanje i slanje okvira, postavke izazivanja zahtjeva za prekidom, postavke potrošnje energije, itd. Budući da je potrebno razviti jednostavan upravljački program većina tih registara se ne koristi. Korišteni registri navedeni su u tablici 1.1. Pomak označava vrijednost koja se dodaje osnovnoj adresi dodijeljenoj kartici MMIO (eng. Memmory Mapped I/O). Zbroj te dvije vrijednosti je adresa registra koja se koristi za čitanje vrijednosti i upisivanje novih vrijednosti u iste. Tablica 2.1 Korišteni registri [2] Oznaka Pomak Opis IDRx 0x00 MAC adresa kartice, x [0,5] TSDx 0x10-0x1F Statusni registri opisnika za slanje, 4B, x [0,3] TSADx 0x20-0x2F Početna adresa međuspremnika za slanje, 4B, x [0,3] RBSTART 0x30-0x33 Adresa međuspremnika za prihvat okvira CR 0x37 Omogućuje slanje, primanje i ponovno pokretanje IMR 0x3C - 0x3D Dozvoljava/zabranjuje prekide za određene uvjete ISR 0x3E - 0x3F Zastavice uzroka prekida TCR 0x40-0x43 Parametri slanja okvira RCR 0x44-0x07 Paramteri primanja okvira CONTROL1 0x52 Programsko pokretanje kartice MULINT 0x5C - 0x5D Upravljanje uzastopnim prekidima 4

9 3. Komponente operacijskog sustava Operacijski sustavi na upravljačke programe gledaju kao na svojevrsne crne kutije, a operacijski sustav Benu nije iznimka. Benu definira sučelje za pisanje upravljačkih programa koje ima sljedeću strukturu: struct _device_t_ { char int dev_name[dev_name_len]; irq_num; int (*irq_handler) ( int irq_num, void *device ); /* interrupt handler function (test if device is * interruptsource and handle it if it is) */ int (*callback) ( int irq_num, void *device ); /* callback function (to kernel) - when event require * kernel action */ /* device interface */ int (*init) ( uint flags, void *params, device_t *dev ); int (*destroy) ( uint flags, void *params, device_t *dev ); int (*send) ( void *data, size_t size, uint flags, device_t *dev ); int (*recv) ( void *data, size_t size, uint flags, device_t *dev ); }; int (*status) ( uint flags, device_t *dev ); /* various flags and parameters specific to device */ int void flags; *params; Kod 3.1 Struktura sučelja upravljačkog programa [7] Upravljački program ostvaruje funkcije sučelja kako bi osigurao pravilan rad uređaja. Svaki upravljački program dužan je ostvariti funkcije init, destroy i status. Funkciju recv npr. nije potrebno ostvariti ako uređaj ne nudi mogućnost 5

10 čitanja ili ako pozivanje funkcije za čitanje nema smisla. [6] Primjer takvog uređaja je mrežnia kartica jer se primanje okvira obično obavlja tijekom obrade prekida. Jezgra operacijskog sustava poziva funkcije sučelja kada je potrebno izvesti neku operaciju. Pri podizanju sustava jezgra će pokušati osigurati pravilnu inicijalizaciju svih uređaja tako da prolazi kroz sve poznate uređaje i poziva funkciju init. [6] Isto se događa pri gašenju jezgre kada ona ponovo iterira kroz uređaje i poziva funkciju destory. Član irq_num označava broj prekida koji uređaj izaziva. Ako uređaj izaziva prekid tj. irq_num je različit od -1 dužan je ostvariti funkciju irq_handler. Uspješna inicijalizacija uređaja od strane jezgre uključuje registraciju prekidne rutine za uređaj. [7] 3.1 PCI podsloj Upravljački program za RTL8139 razvija se na inačici operacijskog sustava Benu za arhitekturu i386. PCI (eng. Peripheral Component Interconnect) omogućuje potpuno programsku inicijalizaciju svakog uređaja spojenog na sabirnicu. Svaki uređaj koji se spaja na sabirnicu dužan je podržati najmanje 256B adresnog prostora za PCI postavke u obliku bitna registra. Pristup adresnom prostoru za PCI postavke uređaja različit je od platforme do platforme. Arhitektura i386 koristi dvije 32-bitne I/O lokacije za pristup adresnom prostoru PCI postavki. [8] Za čitanje i pisanje PCI postavki uređaja arhitektura i386 koristi dvije I/O adrese: CONFIG_ADDRESS (0xCF8) i CONFIG_DATA (0xCFC). Kod pristupanja adresnom prostoru za PCI postavke potrebno je na I/O CONFIG_ADDRESS upisati vrijednost sljedećeg formata: 6

11 Tablica 3.1 Struktura 32-bitovne adrese prostora za PCI postavke Enable Reserved Bus Device Function Register 00 Prvi bit adrese je Enable i njega uvijek postavljamo na 1. Polja Bus i Device označavaju sabirnicu i uređaj na toj sabirnici respektabilno. Polje Function označava funkciju PCI uređaja. Svaki uređaj mora podržati barem prvu funkciju (vrijednost 0), ako podržava više funkcija svaka će funkcija imati vlastiti adresni prostor za PCI postavke. Polje Register označava registar u adresnom prostoru tj. ono predstavlja pomak (eng. offset) registra adresnog prostora za konfiguraciju kojemu želimo pristupiti. Posljednja dva bita adrese uvijek moraju biti 0 zato što PCI dozvoljava samo 32-bitno poravnati pristup (eng. aligned). Nakon što je pravilna PCI adresa upisana u CONFIG_ADDRESS I/O adresu CONFIG_DATA koristimo za pristup registrima adresnog prostora za PCI postavke. Kod čitanja nakon unošenja adrese sa CONFIG_DATA jednostavno čitamo vrijednost. Kod pisanja nakon unošenja adrese u CONFIG_DATA upisujemo vrijednost koju treba unijeti u registar prostora za PCI postavke. Budući da je dozvoljen samo 32-bitni pristup kod pisanja i čitanja, vrijednosti moramo maskirati konstantom željene širine te posmaknuti vrijednost u desno. Ako je došlo do greške pri čitanju registra iz adresnog prostora za PCI postavke pročitana vrijednost bit će 0xFFFFFFFF. Do grešaka dolazi ako se pokušava čitati s nepravilne adrese, npr. sabirnice na kojoj nema uređaja ili adresnog prostora za postavke funkcije različite od 0 na uređaju koji podržava samo jednu funkciju. 7

12 Slika 3.1 Skica generičkog adresnog prostora za PCI postavke [8] Slika 3.1 prikazuje generički adresni prostor za PCI postavke. Adresni prostor za postavke svih uređaja mora biti identičan barem do pomaka 0x10 kako bi operacijski sustav mogao pravilno pretražiti uređaje koji su spojeni u sustav. Kartica RTL8139 poštuje to pravilo te je adresni prostor identičan generičkom samo u prve četiri 32-bitne lokacije, tj. do adrese pomaka (eng. offset) 0x10. Jezgri operacijskog sustava dodana je struktura prikazana kodom 3.2 s ciljem izdvajanja logike upravljanja PCI uređajima u posebno sučelje. Nusprodukt takvog dizajna je jednostavniji postupak inicijalizacije u upravljačkom programu. Prije inicijalizacije uređaja jezgra će proći kroz sve kombinacije polja Bus, Device i Function (samo nulta funkcija). Za svaku kombinaciju izgradit će pravilnu adresu adresnog prostora za postavke i s te adrese pokušat će pročitati 32-bitnu vrijednost s pomakom 0x00 tj. vrijednost DeviceID i VendorID. Ako je pročitana vrijednost različita od koda greške to znači da je na toj adresi prisutan PCI uređaj, tada jezgra zauzima prostor u spremniku za jedan primjerak strukture prikazane kodom 3.2 i sprema je u listu spojenih PCI uređaja. 8

13 typedef struct kpci_device_t { pci_device dev; id_t k_id; list_h node; } kpci_device; Kod 3.2 Jezgrina struktura za PCI uređaj typedef struct _pci_device_t_ { uint8 bus; uint8 slot; uint8 func; uint16 vendor; uint16 device;... uint16 status;... enum header_type type; } pci_device; Kod 3.3 Struktura PCI uređaja za upravljački program Kod 3.3 prikazuje strukturu na koju jezgra daje pokazivač onim upravljačkim programima koji traže uređaj s DeviceID i VendorID identičnom onome pronađenog uređaja. 9

14 int pci_read_config_byte(pci_device *dev, uint8 where, uint8 *val); int pci_read_config_word(pci_device *dev, uint8 where, uint16 *val); int pci_read_config_long(pci_device *dev, uint8 where, uint32 *val); int pci_write_config_byte(pci_device *dev, uint8 where, uint8 value); int pci_write_config_word(pci_device *dev, uint8 where, uint16 value); int pci_write_config_long(pci_device *dev, uint8 where, uint32 value); Kod 3.4 Funkcije kojima upravljački program komunicira s uređajem 3.2 Sučelje za mrežne uređaje net_dev Za kontrolu mrežnih uređaja u računalnom sustavu, operacijskom sustavu dodajemo strukturu prikazanu kodom 3.5. Struktura predstavlja jezgrin pogleda na mrežne uređaje. Za zauzimanje strukture net_dev upravljački program za vrijeme inicijalizacije mora pozvati jezgru funkcijom alloc_init_ndev kojoj predaje niz znakova koji predstavlja ime uređaja. Jezgra će zatim potražiti generički uređaj s istim imenom te dodati pokazivač na isti u zauzetu strukturu, na posljetku se inicijaliziraju podaci o mrežnom uređaju i pokazivač na njega se vraća upravljačkom programu. Za vrijeme rada upravljački program će bilježiti statističke podatke o broju poslanih i primljenih paketa, broju pogrešaka itd. U funkciji destory upravljački program poziva jezgru funkcijom free_net_dev kojom oslobađa resurse zauzete strukturom mrežnog uređaja. 10

15 typedef struct _k_net_dev_ { net_dev n_dev; /*network device interface(set by the driver)*/ the } knet_dev; kdevice_t *p_dev; /*kernel device which is an interface to network device driver*/ list_h node; list_t *list; Kod 3.5 Jezgrina struktura za mrežne uređaje typedef struct _net_dev_t_ { char *name; /*device name*/ char mac[max_mac_len]; /*devices MAC address*/ char b_mac[max_mac_len]; /*broadcast MAC for this device*/ unsigned char mac_len; /*len of devices MAC address*/ unsigned int max_buff_len; unsigned int mtu; net_dev_stats stats; } net_dev; net_dev *alloc_init_ndev(char *name); void free_net_dev(net_dev *dev); Kod 3.6 Pogled upravljačkog programa na mrežni uređaj Nakon što jezgra upravljačkom programu vrati pokazivač na strukturu mrežnog uređaja koji mu pripada on popunjava članove strukture MAC adrese, MAC adrese za razašiljanje, maksimalnu veličinu međuspremnika za slanje i MTU (eng. maximum transmission unit). Te podatke jezgra koristi pri slanju podataka na mrežni uređaj, npr. pri fragmentaciji ako je potrebna. 11

16 3.3 Jezgrin međuspremnik za mrežne pakete sk_buff Nakon što je operacijskom sustavu dodana sposobnost rada s mrežnim uređajima potrebno je dodati i kvalitetan način za rad s podatcima koji su primljeni s mreže ili koje treba na mrežu poslati. Ostvarena je struktura sk_buff koja je inspirirana sličnom strukturom u Linux jezgri pod imenom SKB (eng. Socket Kernel Buffer). [4] Struktura je prikazana kodom 3.7 i omogućava jezgri operacijskog sustava da smanji broj kopiranja podataka iz jednog međuspremnika u drugi što se vidi na primjeru ostvarenog upravljačkog programa. typedef struct _sk_buff_t_ { list_t *list; /*list which currently holds this skb*/ net_dev *dev; /*pointer to device which sent/got this skb*/ list_h node; /*node of this skb*/ union { /*protocol header pointers*/ struct eth_hdr *eth_h; unsigned char *raw; } header; union { unsigned char *raw; } mac; unsigned char *head, *data, *tail, *end; unsigned int len, tot_len, mac_len, csum; unsigned short protocol; } sk_buff; Kod 3.7 Struktura jezgrinog međuspremnika za mrežne podatke 12

17 Prednost strukture sk_buff je u tome što se jednom zauzima, jednom oslobađa, jednom se podatci kopiraju u nju i jednom se podatci kopiraju iz nje. [4] Unija header je skup pokazivača na sve jezgri poznate mrežne protokole. Članovi head, data, tail i end svi pokazuju na podatke koji se trebaju poslati na mrežu ili koji su s nje primljeni. Head uvijek pokazuje na početak podataka, end uvijek na kraj. Pokazivači data i tail mijenjaju poziciju ovisno o tome koji protokol trenutno modificira sadržaj međuspremnika. Kako se primjerak strukture sk_buff s podatcima prenosi kroz mrežni stog svaki bi sloj pomaknuo tail ili data po potrebi kako bi nadodao vlastiti opisnik na podatke koje je primio od višeg sloja. Kada niži sloj prosljeđuje međuspremnik višem sloju on pomiče data ili tail kako bi sakrio svoje zaglavlje od višeg sloja. Struktura sadrži pokazivač na mrežni uređaj s kojeg su podatci primljeni ili na koji se trebaju poslati. Dodatno sadrži i pokazivač na listu u kojoj se trenutno nalazi. Liste u kojima bi se strukture sk_buff trebale nalaziti su liste redova za čekanje na obradu raznih slojeva mrežnoj stoga, npr. red za obradu protokola UDP, red za obradu protokola IP gdje je možda potrebno čekati fragmente IP datagrama. Kako je izgradnja mrežnog stoga van opsega ovog završnog rada ostvaren je samo iznimno jednostavan Ethernet sloj s funkcijom koja ispisuje primljene podatke na serijski izlaz. Slika 3.2 Skica elemenata operacijskog sustava u radu 13

18 4. Inicijalizacija kartice Inicijalizaciju mrežne kartice u cijelosti obavlja upravljački program, točnije funkcija rtl_8139_init upravljačkog programa. Tu funkciju poziva jezgra pri iteraciji kroz sve poznate uređaje. [6] Prvi korak inicijalizacije je od jezgre zatražiti pokazivač na pci_dev strukturu koja predstavlja mrežnu karticu kao PCI uređaj. To se radi pozivom funkcije pci_get_device s argumentima 0x10EC i 0x8139, tj. VendorID i DeviceID vrijednostima iz adresnog prostora za PCI postavke. [1] Jezgra će zatim iterirati kroz listu pronađenih PCI uređaja i ako kartica uistinu postoji u sustavu upravljačkom programu vraća se pokazivač na strukturu preko koje može pisati i čitati iz adresnog prostora za postavke. Nakon što je osiguran pristup PCI postavkama potrebno je podesiti nekoliko registara. Prvi registar čija se vrijednost podešava je naredbeni registar (eng. command register), 16-bitni registar s pomakom 0x04. Kako bi kartica pravilno prenosila okvire sa žice u spremnik i iz spremnika na žicu potrebno joj je dozvoliti direktan pristup spremniku (eng. direct memory access, DMA), tj. dozvoliti da slobodno piše i čita iz spremnika koji će joj kasnije biti dodijeljen. Prvo čitamo vrijednost registra, toj vrijednosti treći bit postavljamo u 1 te novu vrijednost upisujemo u isti registar. Sada kartica može direktno pristupati međuspremniku. [5] Sljedeći registar je BAR (eng. base address register) s pomakom 0x10. To je 32-bitni registar koji označava početnu I/O adresu za pristup registrima kartice spomenutim u drugom poglavlju. Vrijednost koja se čita iz BAR registra postavljena je od strane BIOS-a (eng. Basic Input/Output System) pri podizanju sustava. Ako je potrebno operacijski sustav može promijeniti početnu adresu za I/O pristup registrima kartice. Međutim vrijednosti koje odabire BIOS emulatora QEMU sasvim su adekvatne. U privatne parametre upravljačkog programa upisana je pročitana I/O adresa što znači da je moguće pristupati registrima mrežne kartice. Upravljački program zatim od jezgre traži zauzimanje prostora u spremniku za strukturu net_dev koja pripada ovom uređaju. Zatim upravljački program upisuje vrijednost 14

19 0x00 u registar CONTROL1 i tako pokreče mrežnu karticu. [2] Sljedeći korak inicijalizacije je programsko ponovno pokretanje kojim se svi registri kartice postavljaju na pretpostavljene, početne, vrijednosti. Postavljanje registara u početne vrijednosti postiže se upisivanjem 0x10 u naredbeni registar (CR). Za inicijalizaciju prstenastog međuspremnika za slanje okvira upravljački program mora od jezgre operacijskog sustava osigurati kontinuirani dio spremnika veličine 4x1536B, poravnat na 4B. Budući da će se zauzeti dio spremnika koristiti kao međuspremnik kojem kartica pristupa direktno operacijski sustav mora vratiti pokazivač sa stvarnom vrijednosti spremničke lokacije. Međuspremnik se zatim dijeli na četiri dijela i u registre TSAD0 do TSAD3 se upisuje početna adresa svakog dijela. Pri slanju okvira kartica čita podatke iz zadanog međuspremnika i prosljeđuje ih na žicu. [2] Upravljački program ponovno zauzima kontinuirani dio spremnika veličine 32KB+2048B poravnate na 4B. Ponovno operacijski sustav mora vratiti stvarnu adresu spremnika koju zatim upisujemo u registar RBSTART. Mrežna kartica u taj spremnik upisuje okvire koje je primila. Nakon što smo kartici dali adresu međuspremnika moramo joj reći kakve okvire želimo prihvaćati. U registar RCR upisujem vrijednost 0x178E. Tako kartici dajemo do znanja da prihvaća okvire čija je odredišna adresa odgovara MAC adresi kartice, je višeodredišna ili adresa razašiljanja. Kartici također dajemo do znanja da je međuspremnik veličine 32KB s dodatnim prostorom za preljev te da se okviri koji bi izašli iz međuspremnika ne prenose na njegov početak. [1] Kako bi kartica pravilno radila mora moći izazivati prekide. U registar IMR upisujemo vrijednost 0x7F kojom kartici dozvoljavamo izazivanje prekida za pravilno prenesene okvire, pravilno i pogrešno primljene okvire, preljev međuspremnika za primanje okvira, itd. [1] Nakon ponovnog pokretanja vrijednost naredbenog registra je nula. U naredbeni registar se upisuju vrijednosti 0x04 i 0x08 čime omogućujemo prihvat i slanje okvira. Time završava proces inicijalizacije. Mehanizmi slanja i primanja okvira objašnjeni su u sljedećim poglavljima. 15

20 5. Slanje Okvira Mrežna kartica RTL8139 za slanje okvira koristi prstenasti međuspremnik kojem ima direktan pristup. U procesu inicijalizacije u registre TSADx upisali smo adrese međuspremnika i u privatne parametre upravljačkog programa upisali smo da je trenutno zauzeto 0 izlaznih opisnika. Slanje okvira počinje pozivom funkcije send upravljačkog programa. Upravljački program očekuje da je argument data pokazivač na pravilno strukturirani Ethernet okvir. Zadatak funkcije send je kopirati podatke iz spremnika na koji pokazuje argument u sljedeći slobodni dio međuspremnika za prijenos. Ako je veličina okvira manja od minimalne, tj. manja od 60B. Okvir će se u međuspremniku dopuniti bajtovima vrijednosti 0 kako zahtjeva Ethernet protokol. Ako u trenutku poziva funkcije send ne postoji niti jedan slobodan opisnik funkcija vraća kod greške EBUSY. Nakon što je okvir kopiran u međuspremnik i po potrebi dopunjen nulama, potrebno je kartici signalizirati da postoji okvir kojeg treba prenijeti na žicu, upisom veličine okvira u registar TSDx, gdje x označava prvi slobodni opisnik. Osim veličine okvira u registar se upisuju zastavice koje specificiraju uvijete prijenosa okvira na žicu, npr. polje praga za rani početak prijenosa (eng. EarlyTxTreshold). Za uspješno prenesene okvire RTL8139 izaziva prekid. Upravljački program u obradi prekida mora ažurirati pokazivače na opisnike u svojim privatnim parametrima. Mrežna kartica može izazvati jedan prekid za više uspješno poslanih okvira. To znači da upravljački program mora iterirati po svim zauzetim opisnicima i za svaki ažurirati pokazivače. [2] 16

21 Slika 5.1 Skica međuspremnika i registara za prijenos [2] Slika 5.1 prikazuje međuspremnik zauzet u postupku inicijalizacije. Kartica podatke iz međuspremnika na koji pokazuje prvi zauzeti opisnik prebacuje u registar TxFIFO a zatim iz registra na žicu. Nakon što su podatci iz međuspremnika preneseni na žicu RTL8139 će nadodati izračunatu FCS (eng. Frame Check Sequence) vrijednost. Zaštitna suma računa se dok kartica prebacuje podatke na žicu. Automatsko računanje zaštitne sume može se onemogućiti postavljanjem šesnaestog bita registra TCR u vrijednost 1, no zbog jednostavnosti upravljačkog programa i brzine prijenosa računanje zaštitne sume ostavljamo kartici. [1][3] 17

22 6. Prihvat Okvira Svaki primljeni okvir sprema se u međuspremnik čiji je početak u procesu inicijalizacije upisan u registar RBSTART. Osim okvira u međuspremnik je spremljen i opisnik za primljeni okvir. Opisnik okvira dolazi prije okvira u međuspremniku i velik je 4B. [2] Prva dva bajta su statusne zastavice za Ethernet okvir a druga dva bajta su veličina okvira i opisnika. Oba polja zapisana su u Little Endian obliku. Budući da je arhitektura i386 također Little Endian nije potrebno raditi pretvorbe nad vrijednostima. Nakon što je spremila barem jedan cijeli okvir i njegov opisnik u međuspremnik mrežna kartica će izazvati prekid kako bi upravljački program preuzeo primljene okvire i ažurirao pokazivače. [1] Ako je u registru ISR postavljena zastavica RxOK prekidna rutina će ući u petlju u kojoj preuzima sve primljene okvire i predaje ih jezgri. Upravljački program u privatnim parametrima drži pokazivač na međuspremnik koji pokazuje gdje se nalazi prvi novi okvir i njegov opisnik. Iz opisnika čita veličinu okvira i funkcijom alloc_skb poziva jezgru da zauzme mjesto u spremniku za jednu strukturu sk_buff. Nad dobivenom strukturom poziva se funkcija skb_put koja pomiče pokazivač tail strukture sk_buff za broj bajtova zadan u argumentu. Sljedeći korak je kopiranje okvira u zauzeti jezgrin međuspremnik. Pozivom funkcija eth_copy_sum i eth_type_trans okvir se kopira u strukturu sk_buff, pokazivač header pokazuje na početak okvira, a vrijednost člana protocol postavlja se na konstantu ETHERNET. Time je okvir kopiran iz međuspremnika i spreman za predaju jezgri. Pozivom funkcije netif_rx upravljački program predaje strukturu sk_buff jezgri. Nakon što je okvir preuzet potrebno je o tome obavijestiti mrežnu karticu. Poziciju u međuspremniku gdje se već nalazi ili će se nalaziti sljedeći okvir koji treba preuzeti računamo na sljedeći način. Trenutnoj poziciji zbrojimo veličinu okvira kojeg smo preuzeli, zbrojimo konstantu četiri (veličina opisnika) i konstantu 18

23 tri. Ako je nova pozicija veća od 32K zamjenjujemo ju ostatkom cjelobrojnog dijeljenja njene vrijednosti s 32K. Konačnu vrijednost upisujemo registar CAPR. Nakon što je nova pozicija upisana u CAPR mrežna kartica je uspoređuje s vrijednosti u registru CBR. [1] Ako su te vrijednosti jednake to znači da su iz međuspremnika preuzeti svi primljeni okviri. Mrežna kartica će u prvi bit kontrolnog registra (CR) postaviti vrijednost 1 i time signalizirati upravljačkom programu da je preuzeo sve okvire. Upravljački program prije svake iteracije petlje čita vrijednost registra CR i ako je prvi bit postavljen izlazi iz petlje. Nakon što su preuzeti svi primljeni okviri i prije izlaska iz prekidne rutine upravljački program poziva povratnu (eng. callback) funkciju jezgre kako bi obavijestio jezgru da ima okvire koje mora obraditi. U sklopu ovog završnog rada ostvarena je jednostavna povratna funkcija koja provjerava vrijednost člana protocol strukture sk_buff te ako je vrijednost jednaka konstanti ETHERNET poziva funkciju ethernet podsloja za obradu okvira. Paketi nepoznatih protokola se odbacuju. Slika 6.1 Skica registara i međuspremnika za prihvat okvira [2] 19

24 Slika 6.1 prikazuje registre mrežne kartice čije vrijednosti upravljački program može mijenjati te kako oni pokazuju na međuspremnik za primanje okvira. Važno je primijetiti kako se nigdje u procesu preuzimanja okvira sa žice ne spominje funkcija recv sučelja device_t. Ona nije ostvarena budući da je kartica dizajnirana tako da se primanje okvira obavlja u prekidnoj rutini. Ostvarenjem jezgrenog međuspremnika za mrežne pakete (sk_buff) izbjegli smo potrebu za korištenjem dodatnog međuspremnika za funkciju recv koja bi držala preuzete okvire. Jedno od razmatranih rješenja bilo je i to da prekidna rutina za svaki primljeni okvir obavještava upravljački program i ne miče okvire i opisnike iz međuspremnika. Takva funkcija recv obavljala bi posao preuzimanja okvira i pomicanja pokazivača kartice. Konačno rješenje koristi jezgrin međuspremnik za prijenos okvira zato što smanjuje broj kopiranja podataka za razliku od rješenja koja ostvaruju funkciju recv. Rješenja s jezgrinim međuspremnikom pokazala su se iznimno fleksibilnim u primjeni u drugim operacijskim sustavima poput Linuxa. [4] 20

25 7. Prikaz rada ostvarena sustava na primjeru Nakon uspješnog ostvarenja upravljačkog programa i proširenja operacijskog sustava preostaje provjeriti funkcionalnost. Emulator QEMU nudi mogućnost spajanja emuliranih računalnih sustava na virtualne lokalne mreže. Kroz virtualnu lokalnu mrežu promet se prenosi TCP transportnim -e $(QEMU) $(QFLAGS) -kernel $(BINFILE) -net nic,vlan=1,model=rtl8139,macaddr=52:54:00:12:34:56 -net socket,vlan=1,listen=localhost:1234 -e $(QEMU) $(QFLAGS) -kernel $(BINFILE)2 -net nic,vlan=1,model=rtl8139,macaddr=52:54:00:12:34:57 -net socket,vlan=1,connect=localhost:1234 &... Kod 7.1 Isječak Makefile datoteke Kod 7.1 je isječak iz Makefile datoteke koji pokreće dva procesa QEMU gdje svaki dobiva vlastiti xterm terminal i sliku (eng. image) operacijskog sustava Benu s upravljačkim programom za RTL8139. Argumenti -net predani QEMU-u pri pokretanju govore da se u emulirani sustav doda mrežnu karticu modela RTL8139. Osim modela zadane su i MAC adrese te virtualna lokalna mreža na koju je kartica spojena. Drugi po redu -net argument je tipa socket i govori QEMUu da promet kartice koja je spojena na virtualnu mrežu jedan preusmjeri na localhost:1234. Važno je primijetiti razliku između poziva s argumentom listen i connect. Obično je na jednoj virtualnoj lokalnoj mreži samo jedan proces pozvan s argumentom listen. To je poslužiteljski proces i on upravlja prometom na toj virtualnoj mreži. Nakon što je pokrenut poslužiteljski proces ostali se emulirani računalni sustavi pokreću s argumentom listen tj. spajaju se na prvi pokrenuti QEMU proces. QEMU virtualne lokalne mreže ne omogućavaju odabir topologije mreže međutim za primjer komunikacije bitno je samo da računalni sustavi mogu razmjenjivati podatke preko mrežnih kartica. 21

26 Slika 7.1 Primjer sadržaja Ethernet okvira Slika 7.2 Primjer primljenog Ethernet okvira Slika 7.1 prikazuje izgradnju poruke koja se zamata u Ethernet okvir i preko mrežne kartice RTL8139 šalje na emulirani računalni sustav koji je spojen na virtualnu lokalnu mrežu 1. Slika 7.2 prikazuje izlaz računalnog sustava koji je primio poslane podatke. Crvena boja teksta označava ispis jezgre operacijskog sustava. Primljene Ethernet okvire jezgra prosljeđuje Ethernet sloju na obradu što je u ovom slučaju samo ispis na serijski izlaz. 22

27 Zaključak Cilj zadatka završnog rada bio je ostvariti mrežnu komunikacija dva ili više emuliranih računalnih sustava kojima upravlja operacijski sustav Benu. Za emulaciju koristi se QEMU emulator. Za mrežnu komunikaciju koristi se mrežna kartica RTL8139 koja je u računalni sustav spojena preko PCI sabirnice. U sklopu završnog rada ostvaren je upravljački program za mrežnu karticu. Upravljački program ostvaren je prema sučelju device_t koje definira operacijski sustav. Osim upravljačkog programa ostvarena su tri proširenja za operacijski sustav čiji je cilj jednostavniji upravljački program i olakšanje daljnjeg razvoja operacijskog sustava. Ostvarena proširenja su PCI podsustav koji olakšava rad s PCI uređajima, sučelje za mrežne uređaje net_dev koje operacijskom sustavu omogućuje da mrežne uređaje tretira različito od ostalih i jezgrin međuspremnik za mrežne pakete sk_buff. Kao dokaz funkcionalnosti rješenja pripremljen je jednostavan primjer koji demonstrira komunikaciju dva sustava preko mreže kartice RTL8139. Umreženim računalnim sustavima upravlja operacijski sustav Benu, a mrežne kartice kontrolira ostvareni upravljački program. 23

28 Literatura [1] Realtek RTL8139 Data Sheet, [2] Realtek, RTL8139 Programmingguide, [3] Mohan Jal Jangir, Writing Network Drivers for Linux, studeni [4] JonathanCorbet, Alessandro Rubini, GregKroah-Hartman, Linux DeviceDrivers, O'Reilly Media, SAD veljača, [5] OSDev Wiki, RTL8139, [6] Leonardo Jelenković, operacijski sustav Benu, [7] Leonardo Jelenković, skripta predavanja predmeta OSUR, [8] OSDev Wiki, PCI, 24

29 Sažetak Naslov: Upravljački programi za mrežnu karticu u operacijskom sustavu Benu Ključne riječi: upravljački program, Realtek, RTL8139, mrežna kartica, operacijski sustav, Benu, Ethernet, mreža, QEMU, PCI, SKB Cilj završnog rada bio je ostvarenje upravljačkog programa za mrežnu karticu koju QEMU može emulirati te izraditi demonstracijski primjer rada upravljačkog programa. Osim upravljačkog program ostvarena su tri proširenja izvornog operacijskog sustava s kojima je osigurana lakša izvedba upravljačkog programa. Proširenja i upravljački program pisani su programskim jezikom C kao i operacijski sustav Benu. Upravljački program je ovisan o arhitekturi sustava i ostvaren je samo za arhitekturu i386. Demonstracija funkcionalnosti sastoji se od pokretanja dva procesa QEMU gdje svaki emulira jedan računalni sustav s mrežnom karticom RTL8139 i različitim MAC adresama. Procesi međusobno komuniciraju TCP protokolom na adresi i portu

30 Summary Title: NIC drivers for Benu OS Keywords: driver, Realtek, RTL8139, network interface card, NIC, operating system, Benu, Ethernet, network, QEMU, PCI, SKB The goal of this work was the implementation of a driver program for a NIC which can be emulated in QEMU. Along with the driver three major additions to the operating system were developed. These additions used to simplify the implementation of the driver. The driver program and the developed additions were written in the C programming language, same as the Benu operating system. Since the driver program is architecture dependent it was implemented only for the i386 architecture. The demonstration of the driver program consists of two emulated computer systems where each uses RTL8139 NIC for communication. Emulated systems communicate through the TCP protocol on address and port

Programiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010

Programiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010 Programiranje Programski jezik C prof.dr.sc. Ivo Ipšić 2009/2010 Sadržaj Ulazno-izlazne funkcije Datoteke Formatirane datoteke Funkcije za rad s datotekama Primjeri Datoteke komunikacija između programa

More information

VDSL modem Zyxel VMG1312-B10A/B30A

VDSL modem Zyxel VMG1312-B10A/B30A VDSL modem Zyxel VMG1312-B10A/B30A Default Login Details LAN IP Address http://192.168.2.1 User Name user Password 1234 Funkcionalnost lampica Power lampica treperi kratko vrijeme nakon uključivanja modema,

More information

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb,

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb, Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb, 13.04.2017. Podešavanje Hyper-V Servera 2016 za RSAT upravljanje Dario Štefek Lokacije za preuzimanje: Microsoft Hyper-V Server 2016 https://www.microsoft.com/en-us/evalcenter/evaluate-hyper-v-server-2016

More information

Sberbank Business Online na Mozilla FireFox

Sberbank Business Online na Mozilla FireFox Sberbank Business Online na Mozilla FireFox Verzija 1.6 Srpanj 2016. Sberbank d.d. Stranica 1 SADRŽAJ 1 INSTALACIJA... 2 2 POKRETANJE MOZILLE FIREFOX... 3 2.1 IMPORT SECURITY MODULA... 4 2.2 AUTOMATSKI

More information

Računarske osnove Interneta (SI3ROI, IR4ROI)

Računarske osnove Interneta (SI3ROI, IR4ROI) Računarske osnove terneta (SI3ROI, IR4ROI) Vežbe MPLS Predavač: 08.11.2011. Dražen Drašković, drazen.draskovic@etf.rs Autori: Dražen Drašković Naučili ste na predavanjima MPLS (Multi-Protocol Label Switching)

More information

Uputa za instaliranje programske potpore za operativni sustav WINDOWS

Uputa za instaliranje programske potpore za operativni sustav WINDOWS ZABA SignErgy Desktop aplikacija Uputa za instaliranje programske potpore za operativni sustav WINDOWS SADRŽAJ 1. UVOD 3 2. PODRŽANI OPERATIVNI SUSTAVI 3 3. PROGRAMSKI PREDUVJETI ZA INSTALACIJU PROGRAMSKE

More information

Upute za postavljanje Outlook Expressa

Upute za postavljanje Outlook Expressa Upute za postavljanje Outlook Expressa Prije postavljanja klijenata morate obavezno obaviti prvu prijavu na web mail kako bi aktivirali vaš račun na novom sustavu. Ukoliko niste obavili prvu prijavu, nećete

More information

PARALELNO PROGRAMIRANJE

PARALELNO PROGRAMIRANJE Predavanje 09 Odjel za matematiku 1 PARALELNO PROGRAMIRANJE POSIX threadovi za C++ Predavanje 09 Odjel za matematiku 2 Programske niti (thread) unutar procesa Danas ćemo se upoznati s POSIX thread bibliotekom

More information

VRIJEDNOSTI ATRIBUTA

VRIJEDNOSTI ATRIBUTA VRIJEDNOSTI ATRIBUTA Svaki atribut (bilo da je primarni ključ, vanjski ključ ili običan atribut) može i ne mora imati ograničenja na svojim vrijednostima. Neka od ograničenja nad atributima: Null / Not

More information

TP-LINK TL-WPA4220 strujni prijenosnik Internet ili IPTV signala s bežičnim modulom. Priručnik za korištenje i brzu instalaciju

TP-LINK TL-WPA4220 strujni prijenosnik Internet ili IPTV signala s bežičnim modulom. Priručnik za korištenje i brzu instalaciju TP-LINK TL-WPA4220 strujni prijenosnik Internet ili IPTV signala s bežičnim modulom Priručnik za korištenje i brzu instalaciju Sadržaj ŠTO JE TP-LINK TL-WPA4220... 3 KAKO KORISITI TP-LINK TL-WPA4220...

More information

PKI Applet Desktop Application Uputa za instalaciju programske potpore

PKI Applet Desktop Application Uputa za instalaciju programske potpore 1 SADRŽAJ 1. UVOD 3 2. PODRŽANI OPERATIVNI SUSTAVI 3 3. PROGRAMSKI PREDUVJETI ZA INSTALACIJU PROGRAMSKE POTPORE 3 4. INSTALACIJA PROGRAMSKE POTPORE 3 5. DEINSTALACIJA PROGRAMSKE POTPORE 6 2 1. Uvod PKI

More information

ETHERNET LOKALNA MREŽA. I. Podešavanje mrežnih postavki računala u Linux operacijskom sustavu

ETHERNET LOKALNA MREŽA. I. Podešavanje mrežnih postavki računala u Linux operacijskom sustavu ETHERNET LOKALNA MREŽA I. Podešavanje mrežnih postavki računala u Linux operacijskom sustavu Za umrežavanje računala potrebno je: - imati ugrađenu i podešenu Ethernet mrežnu karticu (instaliran pogonski

More information

PREDMET. Osnove Java Programiranja. Čas JAVADOC

PREDMET. Osnove Java Programiranja. Čas JAVADOC PREDMET Osnove Java Programiranja JAVADOC Copyright 2010 UNIVERZITET METROPOLITAN, Beograd. Sva prava zadržana. Bez prethodne pismene dozvole od strane Univerziteta METROPOLITAN zabranjena je reprodukcija,

More information

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list.

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list. Ime i prezime: Asistent: Predava : Programiranje (C) 1. kolokvij 14. 4. 2003. 1. 2. 3. 4. 5. 6. 7. Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj

More information

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets CSS CSS CSS: Cascading Style Sheets - Opisuje izgled (appearance) i raspored (layout) stranice - Sastoji se od CSS pravila, koji defini[u skup stilova selector { property: value; 1 Font face: font-family

More information

VHDLPrimeri Poglavlje5.doc

VHDLPrimeri Poglavlje5.doc 5. VHDL opis kola koja obavljaju osnovne aritmetičke funkcije Sabirači Jednobitni potpuni sabirač definisan je tablicom istinitosti iz Tabele 5.1. Tabela 5.1. cin a b sum cout 0 0 0 0 0 0 0 1 1 0 0 1 0

More information

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo Nasledjivanje klasa Modifikator new class A { public virtual void F() { Console.WriteLine("I am A"); } } class B : A { public override void F()

More information

Naredbe za kontrolu toka

Naredbe za kontrolu toka Naredbe za kontrolu toka Naredbe za kontrolu toka Nakon odslušanog bit ćete u stanju: objasniti semantiku naredbi za kontrolu postupaka navesti sintaksu naredbi if, if-else i case u programskom jeziku

More information

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365 Windows 8 Licenciranje, razlike u verzijama Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje Serverski proizvodi Server 2012, System centar 2012, SQL 2012, Sharepoint

More information

VB komande. Programiranje 1

VB komande. Programiranje 1 VB komande Programiranje 1 Zadatak 1: Sastaviti program koji se sastoji iz jedne ListBox kontrole, jedne Textbox kontrole i dva komandna dugmeta. Klikom na prvo komandno dugme umeće se u ListBox sadržaj

More information

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET Katedra za elektroniku Računarska elektronika Grupa br. 11 Projekat br. 8 Studenti: Stefan Vukašinović 466/2013 Jelena Urošević 99/2013 Tekst projekta :

More information

Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak...

Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak... Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak... Prof. dr. sc. Tomislav Pribanić Izv. prof. dr. sc. Vedran Podobnik Doc. dr. sc. Marija Seder Sveučilište u Zagrebu Fakultet elektrotehnike

More information

Uputstvo za podešavanje mail klijenta

Uputstvo za podešavanje mail klijenta Uputstvo za podešavanje mail klijenta 1. Podešavanje Thunderbird mail klijenta 1.1 Dodavanje mail naloga Da biste podesili Vaš mail klijent (u ovom slučaju Thunderbird) da prima i šalje mail-ove potrebno

More information

Programiranje III razred

Programiranje III razred Tehnička škola 9. maj Bačka Palanka Programiranje III razred Naredbe ciklusa for petlja Naredbe ciklusa Veoma često se ukazuje potreba za ponavljanjem nekih naredbi više puta tj. za ponavljanjem nekog

More information

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi DELEGATI Bezbedni pokazivači na funkcije Jer garantuju vrednost deklarisanog tipa. Prevodilac prijavljuje grešku ako pokušate da povežete

More information

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević Sveučilište u Zagrebu PMF Matematički odsjek Mreže računala Vježbe 08 Zvonimir Bujanović Slaven Kožić Vinko Petričević Uvod: (X)HTML i CSS Na ovim i idućim vježbama naučit ćemo osnove jezika za opisivanje

More information

Mrežni koncepti (koncept, skica, nacrt, plan) o Pregled na najvažnije koncepte mreže. Slanje paketa sa Argon-1 prema Neon-u

Mrežni koncepti (koncept, skica, nacrt, plan) o Pregled na najvažnije koncepte mreže. Slanje paketa sa Argon-1 prema Neon-u Mrežni koncepti (koncept, skica, nacrt, plan) Arhitektura tu protokola o Pregled na najvažnije koncepte mreže Protokol slojevi Encapsulation Uvod u mreže. Mrežna apstrakcija Ova prezentacija koristi primjer

More information

Modbus TCP i dva PLC S7 1200

Modbus TCP i dva PLC S7 1200 Industrijski sistemi i protokoli Modbus TCP i dva PLC S7 1200 1 Modbus TCP i dva PLC S7 1200 Laboratorijski deo - obavezno: Detaljno proučiti i testirati već napravljeni projekat za PLC-ove, koji se nalazi

More information

Izrada VI laboratorijske vježbe

Izrada VI laboratorijske vježbe Izrada VI laboratorijske vježbe 1. Programirati proceduru koja se aktivira sa Standard palete alatki klikom na button Fajlovi. Prilikom startovanja procedure prikazuje se forma koja sadrži jedan list box

More information

Binarne hrpe. Strukture podataka i algoritmi VJEŽBE 26. siječnja / 133

Binarne hrpe. Strukture podataka i algoritmi VJEŽBE 26. siječnja / 133 Binarne hrpe Potpuno binarno stablo binarno stablo u kojem svaki čvor koji nije list ima točno 2 nasljednika. Binarna hrpa potpuno binarno stablo u kojem svaki čvor koji nije list ima veću ključnu vrijednost

More information

Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje. WEB programiranje HTML & CSS

Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje. WEB programiranje HTML & CSS Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje WEB programiranje HTML & CSS Autor/i: Juraj Benić 2018 1. Zadatak Kreirati stranicu kojoj će naslov biti Zadatak 1. i veličina teksta 20px te staviti

More information

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a Webmail sistem ima podršku za SSL (HTTPS). Korištenjem ovog protokola sva komunikacija između Webmail sistema i vašeg Web čitača je kriptovana. Prilikom pristupa

More information

var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Items.LoadFromFile('d:\brojevi.

var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Items.LoadFromFile('d:\brojevi. 1 PANEL komponenta kontejnerska, slična GropBox. Roditeljska komponenta za komp. postavljene na nju. Zajedno se pomeraju. Caption svojstvo za naziv; Alighment pomera svojstvo Caption levo i desno; Align

More information

Upute za pristup bežičnoj mreži Medicinskog fakulteta u Splitu (MS Windows XP) ver 1.1, lipanj 2010.

Upute za pristup bežičnoj mreži Medicinskog fakulteta u Splitu (MS Windows XP) ver 1.1, lipanj 2010. Upute za pristup bežičnoj mreži Medicinskog fakulteta u Splitu (MS Windows XP) ver 1.1, lipanj 2010. Upute za pristup bežičnoj mreži Medicinskog fakulteta u Splitu na Microsoft Windows XP operativnom sustavu

More information

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt Funkcionalno programiranje Interoperabilnost jezika Scala i Java Prevođenje u Java bajt kod Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući

More information

Vežbe - XII nedelja PHP Doc

Vežbe - XII nedelja PHP Doc Vežbe - XII nedelja PHP Doc Dražen Drašković, asistent Elektrotehnički fakultet Univerziteta u Beogradu Verzija alata JavaDoc za programski jezik PHP Standard za komentarisanje PHP koda Omogućava generisanje

More information

PROGRAMIRANJE. Amir Hajdar

PROGRAMIRANJE. Amir Hajdar PROGRAMIRANJE Amir Hajdar Teme 2 Klase i objekti u Javi Primjer kroz klasu Krug Atributi i metode Inicijalizacija objekata (konstruktori) Polymorphism Statičke varijable i metode This Klase i objekti u

More information

SVEUČILIŠTE U ZAGREBU FAKULTET PROMETNIH ZNANOSTI

SVEUČILIŠTE U ZAGREBU FAKULTET PROMETNIH ZNANOSTI SVEUČILIŠTE U ZAGREBU FAKULTET PROMETNIH ZNANOSTI Mateja Jasak USPOREDBA PROTOKOLA IPv4 I IPv6 ZAVRŠNI RAD Zagreb, 2016. Sveučilište u Zagrebu Fakultet prometnih znanosti ZAVRŠNI RAD USPOREDBA PROTOKOLA

More information

Prva recenica. Druga recenica.

Prva recenica. Druga recenica. Algoritmi i programiranje Predavanje 4 METODE LOKALNE, GLOBALNE VARIJABLE I KONSTANTE METODA je imenovani izdvojeni slijed naredbi koji rješava određeni zadatak i po potrebi se poziva jednom ili više puta

More information

Uputstvo za korišćenje logrotate funkcije

Uputstvo za korišćenje logrotate funkcije Copyright AMRES Sadržaj Uvod 3 Podešavanja logrotate konfiguracionog fajla 4 Strana 2 od 5 Uvod Ukoliko je aktivirano logovanje za RADIUS proces, može se desiti da posle određenog vremena server bude preopterećen

More information

JavaScript i HTML DOM

JavaScript i HTML DOM 4. vježbe iz WEB programiranja četvrtak, 22. ožujka 2012. JavaScript 1. dio JavaScript i Što je DOM? Kako JS koristi DOM? Pristup elementima dokumenta Promjena i učitavanje vrijednosti tagova Primjer 1.

More information

NASLOV SEMINARSKOG RADA (16 pt, Bold) Seminarski rad. (16 pt, Bold)

NASLOV SEMINARSKOG RADA (16 pt, Bold) Seminarski rad. (16 pt, Bold) Sveučilište u Zagrebu (12 pt, Bold) Ekonomski fakultet (12 pt, Bold) Naziv diplomskog studija (12 pt, Bold) NASLOV SEMINARSKOG RADA (16 pt, Bold) Seminarski rad (16 pt, Bold) Ime i prezime studenta/studentice,

More information

Sistemska programska podrška. Programska podrška. MS Windows. MS Windows NT

Sistemska programska podrška. Programska podrška. MS Windows. MS Windows NT Programska podrška Sistemska Namijenjena je pokretanju računala i zatim što djelotvornijem iskorištenju. Aplikativna Namijenjena je rješavanju konkretnih korisničkih poslova Sistemska programska podrška

More information

1. Uvod. Evolucija Interneta.

1. Uvod. Evolucija Interneta. Sadržaj 1. Uvod...2 2. Ethernet...3 2.1.Osnove Ethernet mreža...4 2.1.1. Adresiranje u Ethernet mrežama...4 2.1.2. Ethernet okviri...5 2.1.3. Pretvaranje IP adresa u Ethernet adrese...6 2.2.Topologije

More information

Sveučilište Jurja Dobrile u Puli. Odjel za informacijsko-komunikacijske tehnologije KRISTIJAN BABIĆ. USPOREDBA IPV4 I IPV6 PROTOKOLA Završni rad

Sveučilište Jurja Dobrile u Puli. Odjel za informacijsko-komunikacijske tehnologije KRISTIJAN BABIĆ. USPOREDBA IPV4 I IPV6 PROTOKOLA Završni rad Sveučilište Jurja Dobrile u Puli Odjel za informacijsko-komunikacijske tehnologije KRISTIJAN BABIĆ USPOREDBA IPV4 I IPV6 PROTOKOLA Završni rad Pula, rujan 2017. Sveučilište Jurja Dobrile u Puli Odjel za

More information

Uputstva za instaliranje čitača Datalogic Skorpio u operativnom sistemu Windows 7 i višim POM-NA-XX-46, V3.0

Uputstva za instaliranje čitača Datalogic Skorpio u operativnom sistemu Windows 7 i višim POM-NA-XX-46, V3.0 POM - Pomoć korisnicima Uputstva za instaliranje čitača Datalogic Skorpio u operativnom sistemu Windows 7 i višim POM-NA-XX-46, V3.0 IZUM, 2016 COBISS, COMARC, COBIB, COLIB, IZUM su zaštićeni znaci u posedu

More information

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1 NIZOVI Niz deklarišemo navođenjemtipa elemenata za kojim sledi par srednjih zagrada[] i naziv niza. Ako je niz višedimenzionalni između zagrada[] se navode zarezi, čiji je broj za jedan manji od dimenzija

More information

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end.

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end. NAREDBA CIKLUSA SA PREDUSLOVOM WHILE 1.Odrediti vrednosti s i p nakon izvrsenja sledecih naredbi za dato a=43, a=34, a=105 program p1; var a,s,p:integer; write('unesite a:');readln(a); p:=a; s:=0; while

More information

Operacijski sustavi. Laboratorijska vježba 2. Petra Lončar, mag. ing. el., asistent FESB, 2016.

Operacijski sustavi. Laboratorijska vježba 2. Petra Lončar, mag. ing. el., asistent FESB, 2016. Operacijski sustavi Laboratorijska vježba 2 Petra Lončar, mag. ing. el., asistent ploncar@fesb.hr FESB, 2016. Linux procesi procesi su programi koji se izvršavaju i pritom zauzimaju sredstva sustava (spremnik,

More information

Lab. vježba PROGRAMIRANJE ZA INTERNET. Upute za laboratorijske vježbe. (izradio: Marin Bugarić) CSS3

Lab. vježba PROGRAMIRANJE ZA INTERNET. Upute za laboratorijske vježbe. (izradio: Marin Bugarić) CSS3 Lab. vježba 6 PROGRAMIRANJE ZA INTERNET Upute za laboratorijske vježbe (izradio: Marin Bugarić) CSS3 P R O G R A M I R A N J E Z A I N T E R N E T Općenito Posljednja verzija Cascading Style Sheetsa, verzija

More information

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Sustavi za praćenje i vođenje procesa Seminarski rad LOGIČKI ANALIZATOR (PC kao instrument) 26. svibnja 2007. Ivan Grubišić 0036404380 1. Logički analizator Logički

More information

Case Study Hrvatska pošta: Korisničko iskustvo iz snova. Tomislav Turk Samostalni sistem inženjer, Combis d.o.o. Zagreb,

Case Study Hrvatska pošta: Korisničko iskustvo iz snova. Tomislav Turk Samostalni sistem inženjer, Combis d.o.o. Zagreb, Case Study Hrvatska pošta: Korisničko iskustvo iz snova Tomislav Turk Samostalni sistem inženjer, Combis d.o.o. Zagreb, 27.12.2018. Sadržaj Hrvatska pošta prije projekta Izazovi projekta Tehnologije korištene

More information

SMARTPHONE TO MICROCONTROLLER COMMUNICATION ANDROID FRAMEWORK FOR STUDENTS

SMARTPHONE TO MICROCONTROLLER COMMUNICATION ANDROID FRAMEWORK FOR STUDENTS DOI: 10.19279/TVZ.PD.2016-4-3-11 SMARTPHONE TO MICROCONTROLLER COMMUNICATION ANDROID FRAMEWORK FOR STUDENTS SUSTAV ZA IZRADU ANDROID APLIKACIJE ZA KOMUNIKACIJU S MIKROUPRAVLJAČEM NAMIJENJEN STUDENTIMA

More information

/*#include <iostream> // Prvi zadatak sa integralnomg ispita

/*#include <iostream> // Prvi zadatak sa integralnomg ispita /*#include // Prvi zadatak sa integralnomg ispita 27.01.2015 #include using std::setw; using std::cout; const int red(5), kolona(4); void unos(int[]); void ispis(int[][kolona]); float

More information

QRadar & StealthINTERCEPT

QRadar & StealthINTERCEPT QRadar & StealthINTERCEPT Windows Security Intelligence Nađa Halebić security Sadržaj QRadar QRadar arhitektura StealthINTERCEPT Scenariji zaštite 8.6.2015 security 2 QRadar SIEM nove generacije Prije

More information

Računarske mreže treći razred

Računarske mreže treći razred Tehnička škola 9. maj Bačka Palanka Računarske mreže treći razred I P a d r e s e IP adresa IP adresa predstavlja jedinstveni identifikator određenog čvora ili uređaja u IP mreži. IPv4 adresa ima dužinu

More information

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0.

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0. Kontrolne naredbe Primjeri: Opšti oblik razgranate strukture (if sa ) if (uslov) Naredba 1 ili blok naredbi1 Naredba 2 ili blok naredbi2 Učitati broj x i štampati vrijednost double x, z; Scanner in=new

More information

Vežba 3 Mrežni protokoli

Vežba 3 Mrežni protokoli Računarska tehnika i računarske komunikacije Osnovi računarskih mreža 1 2017-2018 Vežba 3 Mrežni protokoli Mrežni protokoli definišu format i redosled poruka koje se razmenjuju između dva ili više komunikacionih

More information

Geant2 - JRA1. Upravljanje mjerenjem i performansama mreža (perfsonar, baza multi-domain nadzorne usluge) Danijel Matek (Srce)

Geant2 - JRA1. Upravljanje mjerenjem i performansama mreža (perfsonar, baza multi-domain nadzorne usluge) Danijel Matek (Srce) Geant2 - JRA1 Upravljanje mjerenjem i performansama mreža (perfsonar, baza multi-domain nadzorne usluge) Danijel Matek (Srce) 21.11.2007, CUC2007, Rijeka Što je to JRA1? Glavni zadatak JRA1 (Performance

More information

9. RAD S DATOTEKAMA PODATAKA

9. RAD S DATOTEKAMA PODATAKA Rad s datotekama 7-1 9. RAD S DATOTEKAMA PODATAKA U programiranju se često radi sa skupovima podataka koji se čuvaju na jedinicama perfernih memorija, a koji se organizuju u posebne cjeline koje nazivamo

More information

Računalne mreže 5. LOKALNE MREŽE

Računalne mreže 5. LOKALNE MREŽE 5. LOKALNE MREŽE Povijest lokalnih mreža (engl. LAN - Local Area Network) počinje 1973.g. razvojem lokalne mreže Ethernet u kompaniji Rank Xerox i od tada je njihov razvoj veoma brz. Lokalna mreža je komunikacijska

More information

FAT32 datotečni sustav

FAT32 datotečni sustav SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Seminarski rad u okviru predmeta Računalna forenzika 2016/2017 FAT32 datotečni sustav Ivan Blažeković Zagreb, siječanj, 2017. Sadržaj 1. Uvod...

More information

u Zagrebu PMF Matematički odjel Sveučilište Mreže računala Vježbe 01 Matko Botinčan Zvonimir Bujanović Igor Jelaska Maja Karaga

u Zagrebu PMF Matematički odjel Sveučilište Mreže računala Vježbe 01 Matko Botinčan Zvonimir Bujanović Igor Jelaska Maja Karaga Sveučilište u Zagrebu PMF Matematički odjel Mreže računala Vježbe 01 Matko Botinčan Zvonimir Bujanović Igor Jelaska Maja Karaga Osnovne informacije o kolegiju Termini predavanja: PON 08-10h [Luka Grubišić]

More information

Sadržaj. Verzija 03/2017 Primjenjuje se od 20. novembra godine

Sadržaj. Verzija 03/2017 Primjenjuje se od 20. novembra godine Sadržaj 1 Web hosting 3 2 Registracija domena 3 3 Internet marketing 3 4 E mail paketi 4 5 Virtuoz 4 6 Internet Security servis 5 7 Kolokacija servera 6 8 Cloud usluge 6 9 Aktivni servisi koji nijesu u

More information

Cjenovnik usluga informacionog društva

Cjenovnik usluga informacionog društva Cjenovnik usluga informacionog društva Verzija: 01/2018 Sadržaj 1 Web hosting 3 2 Registracija domena 3 3 Internet marketing 3 4 E mail paketi 4 5 Virtuoz 4 6 Internet Security servis 5 7 Kolokacija servera

More information

2. Linijska algoritamska struktura

2. Linijska algoritamska struktura Univerzitet u Nišu Građevinsko-arhitektonski fakultet Informatika 2 2. Linijska algoritamska struktura Milica Ćirić Blokovi za prikaz algoritma Algoritam se vizuelno može prikazati pomoću blok dijagrama,

More information

GUI - događaji (Events) i izuzeci. Bojan Tomić

GUI - događaji (Events) i izuzeci. Bojan Tomić GUI - događaji (Events) i izuzeci Bojan Tomić Događaji GUI reaguje na događaje (events) Događaj je neka akcija koju korisnik programa ili neko drugi izvrši korišćenjem perifernih uređaja (uglavnom miša

More information

Računarska tehnika i računarske komunikacije Osnovi računarskih mreža 1. Vežba 7 Wireshark

Računarska tehnika i računarske komunikacije Osnovi računarskih mreža 1. Vežba 7 Wireshark Računarska tehnika i računarske komunikacije Osnovi računarskih mreža 1 2017-2018 Vežba 7 Wireshark Za bolje razumevanje mrežnih protokola, najbolje je posmatrati protokol u akciji, odnosno posmatrati

More information

KINEMATIČKA ANALIZA MEHANIZAMA INDUSTRIJSKIH ROBOTA KORIŠTENJEM PROGRAMSKOG JEZIKA MATLAB

KINEMATIČKA ANALIZA MEHANIZAMA INDUSTRIJSKIH ROBOTA KORIŠTENJEM PROGRAMSKOG JEZIKA MATLAB 10 th International Scientific Conference on Production Engineering DEVELOPMENT AND MODERNIZATION OF PRODUCTION KINEMATIČKA ANALIZA MEHANIZAMA INDUSTRIJSKIH ROBOTA KORIŠTENJEM PROGRAMSKOG JEZIKA MATLAB

More information

Upute za VDSL modem BiPAC 8700VNXL R3

Upute za VDSL modem BiPAC 8700VNXL R3 Upute za VDSL modem BiPAC 8700VNXL R3 Default Login Details LAN IP Address User Name Password http://192.168.2.1 user user Funkcionalnost lampica LED Stanje Opis Power LAN 1-4 WLAN WPS USB Crvena svijetli

More information

FRAME RELAY komunikacijski protokol

FRAME RELAY komunikacijski protokol SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA FRAME RELAY komunikacijski protokol Barbara Šmit 0036391196 Sadržaj 1. UVOD 2 2. FRAME RELAY KOMPONENTE..3 3. VIRTUALNE VEZE.3 4. MEHANIZMI KONTROLE

More information

dr. sc.. Josip Musić Originalne slideove izradio:

dr. sc.. Josip Musić Originalne slideove izradio: Uvod u programiranje Programiranje 1 (450) Poglavlje 1 Uvod u računala, Microsoft.NET i VB.NET (dio 2 od 2): Pregled.NET platforme dr. sc.. Josip Musić jmusic@fesb.hr 1 Originalne slideove izradio: Teo

More information

Single Sign-On s Officeom 365 na Kineziološkom fakultetu Sveučilišta u Zagrebu

Single Sign-On s Officeom 365 na Kineziološkom fakultetu Sveučilišta u Zagrebu Single Sign-On s Officeom 365 na Kineziološkom fakultetu Sveučilišta u Zagrebu Stipe Gorenjak, Kineziološki fakultet Sveučilišta u Zagrebu e-mail: stipe.gorenjak@kif.hr Sponzori Ugasite mobitele. Hvala.

More information

za praćenje i vođenje procesa

za praćenje i vođenje procesa Sustavi za praćenje i vođenje procesa Branko Jeren i Predrag Pale Fakultet elektrotehnike i računarstva Zavod za elektroničke sustave i obradbu informacija Internet Što je Internet? nije organizacija infrastruktura

More information

SVEUČILIŠTE U MOSTARU FAKULTET PRIRODOSLOVNO-MATEMATIČKIH I ODGOJNIH ZNANOSTI BAZE PODATAKA 2. Doc.dr.sc. GORAN KRALJEVIĆ BAZE PODATAKA 2 1

SVEUČILIŠTE U MOSTARU FAKULTET PRIRODOSLOVNO-MATEMATIČKIH I ODGOJNIH ZNANOSTI BAZE PODATAKA 2. Doc.dr.sc. GORAN KRALJEVIĆ BAZE PODATAKA 2 1 SVEUČILIŠTE U MOSTARU FAKULTET PRIRODOSLOVNO-MATEMATIČKIH I ODGOJNIH ZNANOSTI BAZE PODATAKA 2 Doc.dr.sc. GORAN KRALJEVIĆ BAZE PODATAKA 2 1 Baze podataka 2 Web: http://www.fpmoz.ba/gkraljevic Pitanja, primjedbe,

More information

Računalne mreže. Lokalne mreže: zahtjevi. Lokalne mreže: arhitektura. Lokalne mreže: zahtjevi. Upravljanje logičkom vezom, LLC (Logical Link Control)

Računalne mreže. Lokalne mreže: zahtjevi. Lokalne mreže: arhitektura. Lokalne mreže: zahtjevi. Upravljanje logičkom vezom, LLC (Logical Link Control) 2 Lokalne mreže: definicija i osnovne funkcije Računalne mreže Arhitektura računalnih mreža Lokalna mreža komunikacijska mreža koja omogućava međusobno povezivanje različitih uređaja koji razmjenjuju podatke

More information

PLANIRANJE MIGRACIJE S PROTOKOLA IPv4 NA IPv6

PLANIRANJE MIGRACIJE S PROTOKOLA IPv4 NA IPv6 SVEUČILIŠTE U ZAGREBU FAKULTET PROMETNIH ZNANOSTI Lidija Belužić PLANIRANJE MIGRACIJE S PROTOKOLA IPv4 NA IPv6 ZAVRŠNI RAD ZAGREB, 2017. Sveučilište u Zagrebu Fakultet prometnih znanosti ZAVRŠNI RAD PLANIRANJE

More information

Uvod u računarstvo. Preddiplomski studij elektrotehnike 2008/2009. prof.dr.sc. Ivo Ipšić UUR 2008/2009

Uvod u računarstvo. Preddiplomski studij elektrotehnike 2008/2009. prof.dr.sc. Ivo Ipšić UUR 2008/2009 Uvod u računarstvo Preddiplomski studij elektrotehnike 2008/2009 prof.dr.sc. Ivo Ipšić 1 Saržaj kolegija Uvod u Uvod i razvoj računala računarstvo Zapis podataka i kodiranje informacija u računalu Građa

More information

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa Uvod u programiranje - vežbe Kontrola toka izvršavanja programa Naredbe za kontrolu toka if, if-else, switch uslovni operator (?:) for, while, do-while break, continue, return if if (uslov) naredba; if

More information

PROTOKOLI ZA NADZOR I KONFIGURACIJU MREŽE RAČUNALA

PROTOKOLI ZA NADZOR I KONFIGURACIJU MREŽE RAČUNALA SVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Marko Stojanović PROTOKOLI ZA NADZOR I KONFIGURACIJU MREŽE RAČUNALA Diplomski rad Voditelj rada: prof. dr. sc. Robert Manger

More information

Jezik Baze Podataka SQL. Jennifer Widom

Jezik Baze Podataka SQL. Jennifer Widom Jezik Baze Podataka SQL SQL o Jezik koji se koristi u radu sa relacionim bazama podataka o Nije programski jezik i manje je kompleksan. o Koristi se isključivo u radu za bazama podataka. o SQL nije case

More information

ANALIZA KORIŠTENJA REDUNDANTNIH POVEZNICA SA SVRHOM POVEĆANJA UKUPNOG KAPACITETA

ANALIZA KORIŠTENJA REDUNDANTNIH POVEZNICA SA SVRHOM POVEĆANJA UKUPNOG KAPACITETA SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA DIPLOMSKI RAD br. 3032 ANALIZA KORIŠTENJA REDUNDANTNIH POVEZNICA SA SVRHOM POVEĆANJA UKUPNOG KAPACITETA Ivan Sokol Zagreb, rujan 2008. Mentor

More information

Visoka tehnička škola strukovnih studija Novi Sad. seminarski rad na temu: Modbus protokol. dr. Velibor Pjevalica

Visoka tehnička škola strukovnih studija Novi Sad. seminarski rad na temu: Modbus protokol. dr. Velibor Pjevalica Visoka tehnička škola strukovnih studija Novi Sad seminarski rad na temu: Modbus protokol Mentor: dr. Velibor Pjevalica Student: Ivica K Zadatak Napisati Windows aplikaciju u programskom jeziku Python,

More information

progecad NLM Korisničke upute

progecad NLM Korisničke upute progecad NLM Korisničke upute Sadržaj Uvod... 2 Kako započeti... 2 progecad NLM Server instalacija... 2 progecad NLM Server registracija... 2 Dodavanje licenci i aktivacija... 3 progecad instalacija i

More information

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA. SMTP autentikacija

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA. SMTP autentikacija SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINARSKI RAD IZ PREDMETA SUSTAVI ZA VOĐENJE I UPRAVLJANJE PROCESIMA SMTP autentikacija Dejan Božić 0036376981 Zagreb, 05.06.2005. SADRŽAJ 1.

More information

PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I POLIMORFIZAM

PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I POLIMORFIZAM PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I 1. Definicija svake klase sadrzi kljucnu rec iza koje se navodi ime klase: class public extends 2. Kada je funkcija clanica definisana izvan

More information

16. Sigurnije programiranje

16. Sigurnije programiranje 16. Sigurnije programiranje 16.1 Pretvorba tipova Pretvorba realnog broja u cijeli broj se može izvršiti naredbama: int i; double d; ili: i = (int) d; i = int(d); U cilju bolje kontrole pretvorbe tipova

More information

Računalne mreže. Analiza Grafičkog mrežnog simulatora GNS3

Računalne mreže. Analiza Grafičkog mrežnog simulatora GNS3 Sveučilište u Zagrebu Fakultet prometnih znanosti Vukelićeva 4, Zagreb Programski zadatak iz predmeta: Računalne mreže Tema: Analiza Grafičkog mrežnog simulatora GNS3 Mentor: Ivan Grgurević, dipl. ing.

More information

Mašinska vizija. Dr Nenad Jovičić tnt.etf.rs/~mv

Mašinska vizija. Dr Nenad Jovičić tnt.etf.rs/~mv Mašinska vizija Dr Nenad Jovičić 2017. tnt.etf.rs/~mv Linearne 2D geometrijske transformacije 2D geometrijske transformacije Pretpostavka: Objekti u 2D prostoru se sastoje iz tačaka i linija. Svaka tačka

More information

Fcheck IDS alat CCERT-PUBDOC

Fcheck IDS alat CCERT-PUBDOC Fcheck IDS alat CCERT-PUBDOC-2000-11-06 Sigurnosni problemi u računalnim programima i operativnim sustavima područje je na kojem CARNet CERT kontinuirano radi. Rezultat toga rada ovaj je dokument koji

More information

Predavanje 10. Odjel za matematiku 1 IP NETWORKING. Detaljnije o domenama, hostovima, socketima, TLSu, SSLu

Predavanje 10. Odjel za matematiku 1 IP NETWORKING. Detaljnije o domenama, hostovima, socketima, TLSu, SSLu Predavanje 10 Odjel za matematiku 1 IP NETWORKING Detaljnije o domenama, hostovima, socketima, TLSu, SSLu Predavanje 10 Odjel za matematiku 2 Imena hostova (posluţitelja) i imena domena Top-level domain

More information

namespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); }

namespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); } Spojnice using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO;

More information

Numeričke metode i praktikum

Numeričke metode i praktikum Numeričke metode i praktikum Aleksandar Maksimović IRB / 23/03/2006 / Str. 1 vektori Vektor u 3D prostoru. C: int v1[3]; v1[0]=a;v1[1]=b;v1[2]=c; Fortran: INTEGER V1(3) V1(1)=a V1(2)=b V1(3)=c Skalarni

More information

for i:=2 to n do if glasovi[i]>max then begin max:=glasovi[i]; k:=i {*promenljiva k ce cuvati indeks takmicara sa najvise glasova *} end;

for i:=2 to n do if glasovi[i]>max then begin max:=glasovi[i]; k:=i {*promenljiva k ce cuvati indeks takmicara sa najvise glasova *} end; {*Na Evroviziji je ucestvovalo n izvodjaca. Koji od njih je osvojio najvise glasova publike?*} program Evrovizija; glasovi:array[1..50] of integer; max,k:integer; writeln('unosi se broj izvodjaca:'); writeln('unose

More information

VII Lokalne mreže LAN SNA Digital

VII Lokalne mreže LAN SNA Digital VII Lokalne mreže Sigurno najpoznatiji i najrašireniji način povezivanja više računara u jednu celinu predstavlja lokalna mreža - LAN (Local Area Network). One omogućavju brze mreže za razmenu podataka

More information

Programska podrška

Programska podrška Programska podrška Sadržaj operativni sustav (OS) pojmovi komponente os-a tipovi os-a datotečni sustav organizacija podataka Stranica 2/53 Operativni sustav Operativni sustav je svojevrsna baza na kojoj

More information

Usmjeravanje na Internetu

Usmjeravanje na Internetu Usmjeravanje na Internetu Stjepan Groš 1 Sadržaj Temeljni pojmovi iz mrežnog sloja Interneta Pojam i namjena usmjernika Proces proslijeđivanja Izrada tablica proslijeđivanja Podešavanje tablica proslijeđivanja

More information

Komunikacije i mreže

Komunikacije i mreže Komunikacije i mreže MARIJANA ZEKIĆ-SUŠAC EKONOMSKI FAKULTET U OSIJEKU 8-1 Što ćete naučiti u ovom poglavlju? Što su računalne mreže i kako su nastale Koji su načini klasifikacije računalnih mreža Koje

More information

Uvod u računarstvo. Preddiplomski studij elektrotehnike 2009/2010. prof.dr.sc. Ivo Ipšić UUR 2009/2010

Uvod u računarstvo. Preddiplomski studij elektrotehnike 2009/2010. prof.dr.sc. Ivo Ipšić UUR 2009/2010 Uvod u računarstvo Preddiplomski studij elektrotehnike 2009/2010 prof.dr.sc. Ivo Ipšić 1 Saržaj kolegija Uvod u Uvod i razvoj računala računarstvo Zapis podataka i kodiranje informacija u računalu Građa

More information

Lab. vježba PROGRAMIRANJE ZA INTERNET. Upute za laboratorijske vježbe. (izradio: Marin Bugarić) HTML5

Lab. vježba PROGRAMIRANJE ZA INTERNET. Upute za laboratorijske vježbe. (izradio: Marin Bugarić) HTML5 Lab. vježba 5 PROGRAMIRANJE ZA INTERNET Upute za laboratorijske vježbe (izradio: Marin Bugarić) HTML5 P R O G R A M I R A N J E Z A I N T E R N E T Općenito HTML5 je posljednja verzija HyperText Markup

More information