Download - 01 Operativni Sistemi - Nedelja I
Operativni sistemi
Operativni sistemi
Predmetni nastavnik: Ranko Popović
(konsultacije: ponedeljak od 16,00 do 17,00)
Predmetni asistent:Dušan Stamenković
(konsultacije: sreda od 12,00 do 13,00)
Stranica predmeta:http://predmet.singidunum.ac.rs/course/view.php?id=108
Literatura:[1] Silberschatz A., Galvin P. B., Gagne G., Operating System Concepts, John Wiley & Sons, 7th ed., 2005.
[2] Tanenbaum A. S., Modern Operating Systems, Prentice Hall, 3rd ed., 2007.
[3] W. Stallings Operating Systems: Internals and Designs Principles, Fift ed., Prentice Hall, 2005.
[4] R. Love, Linux Kernel Development, Second Ed., Novell Press, 2005.
[5] R. Popović, I. Branović, M. Šarac, Operativni sistemi, Univerzitet Singidunum, 2011.
Operativni sistemi
Prvo poglavlje: Uvod
• Šta operativni sistemi rade
• Organizacija računarskih sistema
• Arhitektura računarskih sistema
• Struktura operativnog sistema
• Operacije operativnog sistema
• Upravljanje procesima
• Upravljanje memorijom
• Upravljanje skladištenjem
• Zaštita i bezbednost
• Distribuirani i paralelni sistemi
• Sistemi specijalne namene
• Računarska okruženja
Operativni sistemi
Šta je operativni sistem (OS)?
• Program koji deluje kao posrednik između korisnika i računarskog hardvera.
• Ciljevi operativnog sistema:– Izvršavanje korisničkih programa i lakše rešavanje korisničkih
programa.
– Učiniti pogodnim za korisnika korišćenje računarskog sistema.
• Korišćenje računarskog hardvera na efikasan način.
Operativni sistemi
Struktura računarskog sistema
• Računarski sistem se može podeliti na četiri komponente– Hardver – obezbeđuje osnovne računarske resurse
• CPU, memoriju, I/O uređaje
– Operativni sistem• Kontroliše i koordinira korišćenje hardvera između različitih
aplikacija i korisnika
– Aplikacioni programi – definišu načine na koje se sistemski resursi koriste za rešavanje računarskih problema korisnika
• Word procesori, kompajleri, web browsers (čitači), sistemi baza podataka, video igre
– Korisnici• Ljudi, mašine, drugi računari
Operativni sistemi
Četiri komponente računarskih sistema
Korisnički interfejs
(API) Interfejs
sistemskih poziva
Operativni sistemi
Definicija operativnog sistema
• OSalocira (dodeljuje) resurse– Upravlja svim resursima
– Odlučuje između konfliktnih zahteva uzimajući u obzir efikasnost i fer korišćenje resursa
• OS jekontrolni program– Kontroliše izvršenje programa i preventivno deluje zbog
grešaka i neodgovarajućeg korišćenja računara
Operativni sistemi
Definicija operativnog sistema (nastavak)
• Nema univerzalno prihvaćene definicije
• “Sve što prodavac isporuči kada korisnik naruči operativni sistem” je samo “dobra” aproksimacija
• “Program koji radi sve vreme na računaru” je jezgro (kernel) operativnog sistema. Sve ostalo je ili sistemski program (isporučen sa operativnim sistemom) ili aplikacioni program
Operativni sistemi
Istorijski pregled
• Prva generacija 1945 - 1955– Elektronske cevi, table sa prekidačima – korisnik sam radi sa prekidačima,
nema operativnih sistema• Druga generacija 1955 - 1965
– Tranzistori, sistemi sa grupnom-paketnom obradom sa automatskim procesiranjem poslova, gde je lista poslova smeštena na magnetskim trakama
• Treća generacija 1965 - 1980– Integrisana kola– Rad sa više programa – interakcija korisnika (vremenska raspodela)– Spooling (Simultaneous Peripheral Operation On Line)– OS/360 (IBM), Multics (MIT, Bell Labs, General Electric)
• Četvrta generacija 1980 - danas– Personalni računari i radne stanice – GUI– (CP/M, MS-DOS, Windows, Mac OS, Unix)– Mrežni OS (Unix) – Fajl servisi i računarski servisi– Web bazirani sistemi – džepni računari, celularni telefoni, cloud computing, ...
Operativni sistemi
Migracija OS koncepata i karakteristika
Operativni sistemi
Startovanje računara
• bootstrap program se učitava kod podizanja sistema ili kod ponovnog startovanja (reboot)– Tipično je uskladišten u ROM-u ili EEPROM-u, generalno poznatom
kao firmware (upravljački softver smešten u čipu)
– Inicijalizuje sve aspekte sistema
– Učitava (loads) kernel operativnog sistema i startuje izvršenje
Operativni sistemi
Arhitektura računarskog sistema
• Rad računarskog sistema– Jedan ili više CPU-a, kontrolera uređaja povezanih zajedničkom
magistralom (bus-om) obezbeđuju pristup deljenoj memoriji
– Konkurentan rad CPU-a i uređaja koji se takmiče za memorijske cikluse
Operativni sistemi
Rad računarskog sistema
• I/O uređaji i CPU mogu da rade konkurentno – treba voditi računa da se termini konkurentno i paralelno razlikuju
• Svaki kontroler uređaja ima lokalni bafer.
• CPU pomera podatke iz/ka glavnoj memoriji ka/iz lokalnih bafera
• Kontroler uređaja informiše CPU da je završio svoj rad prouzrokujući prekid (interrupt).
Operativni sistemi
Zajedničke funkcije prekida
• Prekid u opštem slučaju transferuje kontrolu interrupt servisnoj rutini, kroz interrupt vektor, koji sadrži adrese svih servisnih rutina.
• Interrupt arhitektura mora da sačuva adresu prekinute instrukcije.• Dolazeći interapti su onemogućeni dok se drugi interapt
procesira.• Operativni sistem je interrupt-om pobuđen (kontrolisan).• Operativni sistem čuva stanje CPU-a skladišteći sadržaj registara
i programskog brojača.• Trap je softverski generisan interrupt prouzrokovan ili greškom
ili korisničkim zahtevom.
Operativni sistemi
I/O struktura
• Sinhroni rad: Nakon startovanja I/O, kontrola se vraća korisničkom programu samo nakon kompletiranja I/O.
• Asinhroni rad: Nakon starta I/O, kontrola se vraća korisničkom programu bez čekanja na kompletiranje I/O.
Operativni sistemi
DMA – Direct Memory Access struktura(Direktan pristup memoriji)
• Koristi se za I/O uređaje velikih brzina koji su sposobni za prenos informacija brzinom koja je blizu brzine memorije
• Kontroler uređaja prenosi blokove podataka iz bafera direktno u glavnu memoriju bez intervencije CPU-a.
Operativni sistemi
Struktura skladištenja
• Glavna memorija – jedini veliki medijum skladištenja kome CPU može da pristupi direktno.
• Sekundarno skladištenje – proširenje glavne memorije koje obezbeđuje veće kapacitete postojanog-nepromenljivog skladištenja.
• Magnetski diskovi – nesavitljiva metalna ili staklena ploča diska pokrivena magnetskim materijalom za snimanje– Površina diska je logički podeljena na staze, koje su podeljene na sektore.
– Kontroler diska određuje logičku interakciju između uređaja i računara.
Operativni sistemi
Hijerarhija uređaja za skladištenje
• Sistemi skladištenja organizovani su hijerarhijski po – brzini
– ceni
– nepromenljivosti
Operativni sistemi
Keširanje
• Cache - reč se izgovara "keš" i izvedena je iz francuske reči cacher što znači sakriti
• Važan princip, iskorišćen na mnogim nivoima u računaru (hardver, operativni sistem, softver)
• Informacije koje se koriste privremeno se kopiraju iz sporije u bržu memoriju. Prvo se proverava prvo da li su informacije u kešu– Ako jesu, informacije se koriste direktno iz keša– Ako nisu, podaci se kopiraju u keš i koriste odatle
• Princip lokaliteta (prostorni i vremenski)
Operativni sistemi
Radna memorija i stek
Operativni sistemi
Kako rade savremeni računari
Operativni sistemi
Računarski sistemi
• Jednoprocesorski sistemi• Multiprocesorski sistemi
– Sistemi sa više procesora (paralelni sistemi) koji direktno komuniciraju, dele magistralu, a ponekad i takt, memoriju i periferijske uređaje
– Simetrični i asimetrični
• Blejd serveri– svaki procesor se podiže nezavisno i ima sopstveni operativni sistem– sastoje se od nekoliko nezavisnih multiprocesorskih sistema
• Klaster sistemi– dele prostor za čuvanje podataka i blisko su povezani putem lokalne mreže.
Operativni sistemi
Arhitektura simetričnih multiprocesora
Operativni sistemi
Dizajn procesora sa dva jezgra
Intel® Core™ i7-3920XM Processor Extreme Edition (8M Cache, up to 3.80 GHz)
Operativni sistemi
Struktura operativnog sistema
• Multiprogramming (rad sa više programa) je potreban zbog povećanja efikasnosti
– Jedan korisnik ne može da drži CPU i I/O uređaje zauzete sve vreme– Multiprogramming organizuje poslove-zadatke (kod i podatke) tako da CPU uvek ima
jedan posao za izvršenje– Jedan posao se selektuje iz podskupa svih poslova u memoriji i stratuje preko job
scheduling-a– Kada treba da čeka (na primer, na I/O), OS se prebacuje na drugi posao
• Timesharing (multitasking) je logičko proširenje gde CPU prebacuje zadatke tako često da korisnik može da interaguje sa svakim zadatkom dok se on izvršava, kreirajući interaktivno računarsko izračunavanje
– Vreme odziva (response time)treba da bude što manje– Svaki korisnik ima najmanje jedan program koji se izvršava u memoriji�proces– Ako je više poslova (jobs) spremno za startovanje u isto vreme � CPU scheduling
(raspoređivanje)– Ako procesi ne mogu da stanu u memoriju, swapping (prebacivanje-zamena)ih
pomera van memorije i kasnije ih vraća u memoriju ponovo za izvršenje– Virtual memory dozvoljava izvršavanje procesa čiji se delovi ne nalaze potpuno u
memoriji
Operativni sistemi
Izgled memorije za 'multiprogrammed' sisteme
Operativni sistemi
Vrste operativnih sistema• Paralelni sistemi
– Jako spregnuti sistemi – dele zajedničku memoriju i sistemski sat
• Distribuirani sistemi– Slabo spregnuti sistemi - skup fizički razdvojenih, umreženih računarskih sistema koji
omogućuju pristup različitim resursima
• Mrežni operativni sistemi– obezbeđuju okruženja u kojima korisnici sa svojih lokalnih mašina mogu pristupati resursima
drugih računara
• Sistemi za rad u realnom vremenu– Operativni sistemi sa vremenski definisanim radom procesora ili toka podataka
• Multimedijski sistemi– Rade sa određenim multimedijalnim podacima
• Sistemi za džepne uređaje– Lični digitalni pomoćnik (PDA – Personal Digital Assistant)– “Pametni” mobilni telefon– Ograničeni resursi
• Cloud sistemi– pojednostavljeni operativni sistemi koji rade kao čitači Weba i obezbeđuju pristup različitim
Web aplikacijama
Operativni sistemi
Operacije operativnog sistema
• Interapt pobuđen hardverom• Softverska greška ili zahtev stvarajuexceptionili trap
– Deljenje sa nulom, zahteva servis operativnog sistema
• Kod drugih problema sa procesima koji uključuju beskonačnu petlju, procesi modifikuju jedni druge ili operativni sistem
• Rad udual-mode-u dopušta OS-u da zaštiti sebe i druge komponente sistema– User modei Sistemski(kernel) mode– Mode bit obezbeđuje hardver
• Pravi razliku kada sistem izvršava korisnički kod ili kernel kod.• Neke instrukcije su označene kao privilegovane, izvršavaju se samo u
sistemskom modu• Sistemski poziv postavlja mod na sistemski mod, a završetak poziva resetuje mod
na korisnički mod.
Operativni sistemi
Tranzicija od korisničkog ka sistemskom modu
• Tajmer sprečava pojavu beskonačne petlje kada proces drži resurse– Setuje interapt nakon određenog perioda
– OS uvećava brojač
– Kada je brojač nula generiše se interapt
– Postavlja se pre raspoređivanja procesa da bi se povratila kontrola ili završio program koji prelazi dodeljeno vreme
Operativni sistemi
Upravljanje procesom
• Proces je program u izvršenju. To je jedinica rada u sistemu. Program jepasivan entitet, proces je aktivan entitet.
• Proces treba resurse da bi izvršio svoj zadatak– CPU, memorija, I/O, fajlovi– Inicijalizacija podataka
• Završetak procesa zahteva vraćanje svakog resursa kako bi se ponovo mogao koristiti
• Proces sa jednom niti ima jedan programski brojač koji određuje lokaciju sledeće instrukcije koja se izvršava– Proces izvršava instrukcije sekvencijalno, u jednom trenutku jendu, do
kompletiranja• Proces sa više niti ima jedan programski brojač za svaku nit• Tipično sistem ima više procesa, više korisnika, više operativnih sistema
koji rade konkurentno na jednom ili paralelno na više CPU-a– Konkurentnost multipleksira CPU između procesa/niti
Operativni sistemi
Aktivnosti upravljanja procesom
Operativni sitem je odgovoran za sledeće aktivnosti kod upravljanja procesima:
• Kreiranje i brisanje i korisničkih i sitemskih procesa
• Suspenzija i nastavak procese
• Obezbeđivanje mehanizama za sinhronizaciju procesa
• Obezbeđivanje mehanizama za komunikaciju procesa
• Obezbeđivanje mehanizama za rukovanje deadlock-om (potpunim zastojem)
Operativni sistemi
Upravljanje memorijom
• Svi podaci su u memoriji pre i nakon procesiranja
• Sve instrukcije su u memoriji u cilju izvršenja
• Upravljanje memorijom određuje šta i kada je u memoriji– Optimizuje CPU iskorišćenje i odziv računara prema
korisnicima
• Aktivnosti upravljanja memorijom– OS vodi računa o tome koji delovi memorije se trenutno koriste
i ko ih koristi
– Odlučuje koji se procesi (ili delovi procesa) i podaci pomeraju u i van memorije
– Alociranje (dodela) i dealociranje memorije
Operativni sistemi
Upravljanje skladištenjem
• OS obezbeđuje uniformni, logički pogled na skladište informacija– Apstrahuje fizičke karakteristike na jedinicu logičkog skladištenja -fajl– Svaki medijum je kontrolisan od strane uređaja (tj. disk drajv, tejp drajv)
• brzina pristupa, kapacitet, brzina transfera podataka, metod pristupa (sekvencijalni ili slučajni)
• Upravljanje fajl sistemom– Fajlovi su obično organizovani kroz direktorijume– Kontrola pristupa određuje ko i gde može imati pristup – OS aktivnosti uključuju
• Kreiranje i brisanje fajlova i direktorijuma• Primitive za manipulaciju fajlovima i direktorijumima• Mapiranje fajlova na sekundarno skladište• Backup fajlova na stabilan (nepromenljiv) medijum skladištenja
Operativni sistemi
Upravljanje masivnim skladištenjem
• Obično diskovi služe za skladištenje podataka koji ne mogu da stanu u glavnu memoriju ili podataka koji mora da se čuvaju “duži” period vremena.
• Kompletna brzina rada računara zavisi od diska i njegovih algoritama
• OS aktivnosti– Upravljanje slobodnim prostorom
– Alokacija-dodeljivanje skladišta
– Raspoređivanje diska
• Neka skladišta ne mora da budu brza– Tercijarna skladišta uključuju optička skladišta, magnetske trake
Operativni sistemi
I/O podsistemi
• Jedna od svrha OS-a je da sakrije osobenosti hardverskih uređaja od korisnika
• I/O podsistem je odgovoran za– Upravljanje memorijom I/O uključujući bafering (skladištenje podataka
privremeno dok se ne transferuju), keširanje (skladištenje dela podataka u brže memorije), spooling (preklapanje izlaza jednog posla sa ulazom drugih poslova)
– Opšti interfejs drajvera uređaja
– Drajvere određenih hardverskih uređaja
Operativni sistemi
Zaštita i bezbednost
• Zaštita – bilo koji mehanizam za kontrolisanje pristupa procesa ili korisnika resursima definisan je od strane OS-a
• Bezbednost– odbrana sistema od unutrašnjih i spljašnjih napada– Ogroman opseg napada: denial-of-service, crvi, virusi ...
• Sistemi generalno prave razliku između korisnika da bi odredili ko može šta da radi– Identiteti korisnika (user IDs, security IDs) uključuju ime i
pridruženi broj, jedan po korisniku
– Korisnikov ID se onda pridružuje svim fajlovima, procesima tog korisnika da bi se odredila kontrola pristupa
– Grupni identifikator (group ID) je definisan za grupu korisnika, takođe je pridružen svakom procesu, fajlu
Operativni sistemi
Računarska okruženja
• Tradicionalni računari– Kancelarijsko okruženje
• PC-ji povezani u mrežu, terminali povezani sa mainframe iliminicomputers obezbeđujući rad sa paketnom obradom (batch) i vremenskom raspodelom (timesharing)
• Portali dozvoljavaju umreženim i udaljenim sistemima pristup istim resursima
– Mreže u stanu• Korišćene da bi bile usamljen sistem pa tek onda modemski povezane
• Firewall
Operativni sistemi
Računarska okruženja (nastavak)
� Klijent – server sistemi� Obični terminali zamenjeni pametnim PC-jima
� Mnogi sistemi sada serveri, odgovaraju zahtevima koje generišu klijenti
� Compute-serverobezbeđuje interfejs klijentu koji zahteva servise (tj. bazu podataka)
� File-serverobezbeđuje interfejs za klijente za skladištenje i ponovo pronalaženje fajlova
Operativni sistemi
Peer-to-Peer computing
• Drugi model distribuiranog sistema
• P2P ne razlikuje klijente i servere– Svi čvorovi imaju istu težinu
– Svaki čvor može da radi kao klijent, server ili oba
– Čvor mora da se pridruži P2P mreži• registruje svoj servis na centralnom serveru za pretraživanje na mreži, ili
• broadcast-uje zahtev za servisom i odgovori na zahteve za servisom preko discovery protocol-a
• Primeri: Napster, Gnutella ...
Operativni sistemi
Web-bazirani computing
• Web postaje svuda prisutan
• PC-ji su “najrasprostranjeniji” uređaji (?)
• Sve više uređaja se umrežava da bi im se omogućio pristup web-u
• Nova kategorija uređaja za kontrolu web saobraćaja između sličnih servera: load balancers
• Korišćenje operativnih sistema kao što je Windows 95, sa klijent strane, evaluirao je u Linux i Windows XP, koji mogu biti klijenti i serveri
Operativni sistemi
Open-Source operativni sistemi
• Izvorni kod operativnog sistema je na raspolaganju
• Uklonjeni su zaštita od kopiranja i Digital Rights Management (DRM)
• FondacijaFree Software Foundation (FSF), sa licencom GNU Public License (GPL)
• Primeri:GNU/Linux , BSD UNIX (uključujući jezgro odMac OS X), i Sun Solaris
Operativni sistemi
Dodatak A
Operativni sistemi
Kako je Bill Gates postao bogat …
1974: Intel je razvio 8080 procesor, za koji je bio potreban OS
Gary Kildall
Molim vas!
Razvijte jedan
OS
CP/M OS
42Operating Systems, 2012, Danny Hendler & Roie Zivan
Operativni sistemi
1974: Intel releases the 8080 processor, needs an OS
Gary Kildall
CP/M OS
Da li možete da mi dodelite prava na korišćenje CP/M?
Naravno!
Operating Systems, 2012, Danny Hendler & Roie Zivan43
Kako je Bill Gates postao bogat …
Operativni sistemi
1980: IBM je dizajnirao IMB PC, za koji je tražio OS
Gary Kildall
Da li možete da
nađete OS za naš PC?
Molim vas da se sastanete sa predstavnicima
IBM-a, potreban im je OS
44
Kako je Bill Gates postao bogat …
Operating Systems, 2012, Danny Hendler & Roie Zivan
Operativni sistemi
1980: IBM designs IMB PC, needs an OS
Kildall je zauzet. Molimo vas da razvijete OS!
Želeo bih da kupim DOS OS
Naravno, cena je $75,000
45
Kako je Bill Gates postao bogat …
Operating Systems, 2012, Danny Hendler & Roie Zivan
Operativni sistemi
1980: IBM designs IMB PC, needs an OS
Da li mogu da zadržim prava na
MS-DOS?
Naravno, zašto
ne!!
46
Kako je Bill Gates postao bogat …
Operating Systems, 2012, Danny Hendler & Roie Zivan
Operativni sistemi
Well, this is 20:20 hind vision…
47
Kako je Bill Gates postao bogat …
Operating Systems, 2012, Danny Hendler & Roie Zivan
Operativni sistemi
Dodatak B
August 28, 2012, Ion Stoica
http://inst.eecs.berkeley.edu/~cs162
Operativni sistemi
Primer: pretraživanje
• Složena interakcija
Datacenter
Loadbalancer
Ad Server
DNS Servers
SearchIndex
DNSrequest
createresultpage
Operativni sistemi
Ugrađeni računarski sistemi
Operativni sistemi
Moore-ov zakon
2X transistors/Chip Every 1.5 years
Called “Moore’s Law”
Moore’’’’s Law
Microprocessors have become smaller, denser, and more powerful.
Gordon Moore (co-founder of Intel) predicted in 1965 that the transistor density of semiconductor chips would double roughly every 18 months.
Operativni sistemi
Čipovi sa više jezgara
• “ManyCore” refers to many processors/chip– 64? 128? Hard to say exact boundary
• How to program these?– Use 2 CPUs for video/audio– Use 1 for word processor, 1 for browser– 76 for virus checking???
• Parallelism must be exploited at all levels
• Intel 80-core multicore chip (Feb 2007)– 80 simple cores– Two FP-engines / core– Mesh-like network– 100 million transistors
• Intel Single-Chip Cloud Computer (August 2010)– 24 “tiles” with two cores/tile – 24-router mesh network – 4 DDR3 memory controllers– Hardware support for message-passing
Operativni sistemi
Svet je paralelan!
• Intel Xeon E5-2660 Sandy Bridge EP
• 8 cores (16 hardware threads)
• 416mm die
• 2.263 billion transistors
• Caching– L1: 32K Inst, 32K Data
(3 clock access)
– L2: 256K (8 clock access)
– L3: 20MB
core core core core
core core core core
L3 cache
Operativni sistemi
Internet: .89 Billion Hosts888,239,420 (as of January, 2012)
888,239,420
Operativni sistemi
Internet: preko dve milijarde korisnika!
(izvor: http://www.internetworldstats.com/stats.htm)
Operativni sistemi
Veza ka Internetu
• Smartphone shipments now exceed PC shipments!
• 2011 shipments:– 487M smartphones
– 414M PC clients• 210M notebooks
• 112M desktops
• 63M tablets
– 25M smart TVs
• 4 billion phones in the world � smartphone over next decade
Operativni sistemi
Povećanje složenosti softvera
From MIT’’’’s 6.033 course
Operativni sistemi
Primer: robot na marsu(“Pathfinder”)(avgust 2012 Curiosity)
• Pathfinder hardware limitations/complexity:– 20Mhz processor, 128MB of DRAM, VxWorks OS – Cameras, scientific instruments, batteries,
solar panels, and locomotion equipment– Many independent processes work together
• Can’t hit reset button very easily!– Must reboot itself if necessary– Must always be able to receive commands from Earth
• Individual Programs must not interfere– Suppose the MUT (Martian Universal Translator) module is buggy– Better not crash antenna positioning software!
• Further, all software may crash occasionally– Automatic restart with diagnostics sent to Earth– Periodic checkpoint of results saved?
• Certain functions time critical:– Need to stop before hitting something– Must track orbit of Earth for communication
Operativni sistemi
Virtuelne mašine
• Software emulation of an abstract machine
– Give programs illusion they own the machine
– Make it look like hardware has features you want
• Two types of VMs
– System VM: supports the execution of an entire OS and its applications (e.g., VMWare Fusion, Parallels Desktop, Xen)
– Process VM: supports the execution of a single program; this functionality typically provided by OS
Operativni sistemi
Važno !
Ova prezentacija je nekomercijalna. Slajdovi mogu da sadrže materijale preuzete sa Interneta, stručne i naučne građe, koji su zaštićeni Zakonom o autorskim i srodnim pravima. Ova prezentacija se može koristiti samo privremeno tokom usmenog izlaganja nastavnika u cilju informisanja i upućivanja studenata na dalji stručni, istraživački i naučni rad i u druge svrhe se ne sme koristiti –Član 44 - Dozvoljeno je bez dozvole autora i bez plaćanja autorske naknade za nekomercijalne svrhe nastave:(1) javno izvođenje ili predstavljanje objavljenih dela u obliku neposrednog poučavanja na nastavi;- ZAKON O AUTORSKOM I SRODNIM PRAVIMA ("Sl. glasnik RS", br. 104/2009 i 99/2011).................................................................................................................................................................................Ranko Popović[email protected]