UVOD Svaki složeni postupak koji se može izraziti pomoću algoritma sa konačnim brojem elementarnih operacija, može se predati računaru na izvršenje. J

Слични документи
UVOD Svaki složeni postupak koji se može izraziti pomoću algoritma sa konačnim brojem elementarnih operacija, može se predati računaru na izvršenje. J

Generated by Foxit PDF Creator Foxit Software For evaluation only. Operativni sistem U računarstvu, operativni sistem (OS

POSLOVNI INFORMACIONI SISTEMI I RA^UNARSKE

P1.0 Uvod

Računarski softver Da bi računarski sistem mogao da radi, pored hardvera mora biti opremljen i odgovarajućim programima koji će njime upravljati.ova k

Повезивање са интернетом

OPERATIVNI SISTEMI

PowerPoint Presentation

Microsoft PowerPoint - Topic02 - Serbian.ppt

Microsoft PowerPoint - Topic02 - Serbian.ppt

Slide 1

RAČUNARSKI SISTEM Ne postoji jedinstvena definicija pojma računarski sistem. Računarski sistem predstavlja skup mašina i pridruženih metoda (realizova

Microsoft PowerPoint - 06 Uvod u racunarske mreze.ppt

PowerPoint Presentation

I година Назив предмета I термин Вријеме II термин Вријеме Сала Математика : :00 све Основи електротехнике

I година Назив предмета I термин Вријеме II термин Вријеме Сала Математика : :00 све Основи електротехнике

I година Назив предмета I термин Вријеме II термин Вријеме Сала Математика : :00 све Основи електротехнике

Microsoft PowerPoint - 01 Uvod u operativne sisteme.ppt

I година Назив предмета I термин Вријеме Сала Математика :00 све Основи електротехнике :00 све Програмирање

Projektovanje informacionih sistema i baze podataka

RAČUNALO

UNIVERZITET UKSHIN HOTI PRIZREN FAKULTET RAČUNARSKIH NAUKA PROGRAM: TIT - BOS NASTAVNI PLAN-PROGRAM SYLLABUS Nivo studija Bachelor Program TIT-Bos Aka

KATALOG ZNANJA IZ INFORMATIKE

Funkcije predavač: Nadežda Jakšić

Broj: 01-12/2014 Datum: Direktor preduzeća Phoneco doo, Marko Burgić dipl. Oecc., objavljuje OPŠTE USLOVE USTUPANJA PRAVA NA KORIŠĆENJE POS

Увод у организацију и архитектуру рачунара 1

Nastavna cjelina: 1. Jezik računala Kataloška tema: 1.1. Bit 1.2. Brojevi zapisani četvorkom bitova Nastavna jedinica: 1.1. Bit   1.2. Brojevi zapisan

PowerPoint Presentation

Microsoft Word - 13-Mreze.doc

P11.3 Analiza zivotnog veka, Graf smetnji

SRV_1_Problematika_real_time_sistema

Zbirka resenih zadataka iz arhitekture racunara

06 Poverljivost simetricnih algoritama1

JEZGRO OPERATIVNOG SISTEMA I UPRAVLJANJE PROCESIMA 1. Šta je jezgro, a šta proces? Jezgro (nukleus ili kernel) je osnovni deo svakog operativnog siste

Microsoft PowerPoint - PRI2014 KORIGOVANO [Compatibility Mode]

Slide 1

PowerPoint Presentation

RA

4 dan - DWeb

Algoritmi i arhitekture DSP I

QFD METODA – PRIMER

Microsoft Word - Akreditacija 2013

Inženjering informacionih sistema

Microsoft Word - Master 2013

Prezentacija 1. i 2. cas

Microsoft Word - Akreditacija 2013

Microsoft Word - Akreditacija 2013

Microsoft Word - CAD sistemi

Microsoft Word - Akreditacija 2013

Softversko inženjerstvo

** Osnovni meni

Microsoft Word - 11 Pokazivaci

Microsoft PowerPoint - SEP-2013-CAS02

АНКЕТА О ИЗБОРУ СТУДИЈСКИХ ГРУПА И МОДУЛА СТУДИЈСКИ ПРОГРАМИ МАСТЕР АКАДЕМСКИХ СТУДИЈА (МАС): А) РАЧУНАРСТВО И АУТОМАТИКА (РиА) и Б) СОФТВЕРСКО ИНЖЕЊЕ

Microsoft PowerPoint - GR_MbIS_12_IDEF

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]

Microsoft Word - Master 2013

Microsoft PowerPoint - Topic04-Serbian.ppt

Z-15-85

Microsoft Word - privitak prijedloga odluke

P9.1 Dodela resursa, Bojenje grafa

Повезивање са интернетом

Microsoft Word - Smerovi 1996

НАСТАВНИ ПЛАН ОДСЕКА ЗА ТЕЛЕКОМУНИКАЦИЈЕ И ИНФОРМАЦИОНЕ ТЕХНОЛОГИЈЕ 2. година 3. семестар Предмет Статус Часови (П + В + Л) Кредити 3.1 Математика 3 O

UNIVERZITET U NOVOM SADU TEHNIČKI FAKULTET MIHAJLO PUPIN ZRENJANIN TEHNOLOGIJE DISTRIBUIRANIH INFORMACIONIH SISTEMA - Skripta za teorijski deo (RADNA

STUDIJA SLUČAJA: Konsolidacija informatičkog sustava Grada Raba siječanj, Informacijske tehnologije

Microsoft Word - Novi proizvod - Sistem za komunikaciju 720 v1.doc

Satnica.xlsx

Microsoft PowerPoint - 1. Osnovni pojmovi - prosireno - Compatibility Mode

vodič za os

Microsoft PowerPoint - podatkovni promet za objavu.pptx

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvrsnog_Programa [Compatibility Mode]

Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić

Projektovanje tehnoloških procesa

M-3-643

Microsoft PowerPoint - 6. CMS [Compatibility Mode]

Microsoft PowerPoint - Strukturni dijagrami, Gantogram - Planiranje [Compatibility Mode]

РЕПУБЛИКА СРБИЈА МИНИСТАРСТВО ПРИВРЕДЕ ДИРЕКЦИЈА ЗА МЕРЕ И ДРАГОЦЕНЕ МЕТАЛЕ Београд, Мике Аласа 14, ПП: 34, ПАК: телефон: (011)

Slide 1

Школа Ј. Ј. Змај Свилајнац МЕСЕЧНИ ПЛАН РАДА ЗА СЕПТЕМБАР Школска 2018 /2019. Назив предмета: Информатика и рачунарство Разред: 5. Недељни број часова

OPIS RAČUNARSKOG SISTEMA Računarski sistem se sastoji od procesora, operativne memorije, tajmera i terminala. Sve komponente računarskog sistema su me

Dijagrami sekvenci

CRNA GORA ZAVOD ZA STATISTIKU S A O P Š T E NJ E Broj: 281 Podgorica, 31. oktobar god. Prilikom korišćenja ovih podataka navesti izvor Upotreba

Универзитет у Београду Факултет организационих наука Распоред испита за предмете мастер академских студија Испитни рок: Јун Предмет Датум Време

Drugi kolokvij iz predmeta Operacijski sustavi 2. srpnja Napomene: PISATI ČITKO! Zadatke 7-10 rješavati na ovom papiru ili uz njih napisati "na

Classroom Expectations

Универзитет у Београду Факултет организационих наука Коначан распоред испита за предмете Мастер академских студија Испитни рок: ОКТОБАР Предмет

Microsoft Word - pravila RTGS-precišcen tekst2007 (2).doc

STRATEGIJSKI MENADŽMENT

12 Stanje

ZIS

Pojačavači

Satnica.xlsx

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br

РЕПУБЛИКА СРБИЈА МИНИСТАРСТВО ПРИВРЕДЕ ДИРЕКЦИЈА ЗА МЕРЕ И ДРАГОЦЕНЕ МЕТАЛЕ Београд, Мике Аласа 14, ПП: 34, ПАК: телефон: (011)

MV Merchandise visibility sistem

SRV_3_Ugradj_racun_sistemi_p [Compatibility Mode]

Slide 1

PowerPoint Presentation

Транскрипт:

UVOD Svaki složeni postupak koji se može izraziti pomoću algoritma sa konačnim brojem elementarnih operacija, može se predati računaru na izvršenje. Jedan od ključnih delova računarskog sistema koji omogućava prenošenja intelektualnog rada sa čoveka na računar jeste sistemski softver. Sistemski softver je posrednik između korisničkog(aplikativnog) softvera i hardvera koji korisniku omogućava da lakše, jednostavnije i efikasnije koristi resurse računarskog sistema. Glavni deo sistemskog softvera i osnova svakog računarskog sistema jeste operativni sistem. Poznavanje operativnih sistema je temelj znanja svih koji se ozbiljnije bave računarima i informacionim tehnologijama. Kao posledica masovne upotrebe računara u gotovo svim oblastima ljudske delatnosti, vidljiv je trend stalnog napretka i čestih promena informatičkih tehnologija. Ipak, fundamentalni koncepti su ostali nepromenjeni, a na njima će biti zasnovana predavanja. Podrazumeva se da učenici poznaju osnove arhitekture računara, operativnih sistema i računarskih mreža kao i osnovne strukture podataka i osnove programiranja na jeziku C koji je korišćen za ilustrovanje značajnih algoritama. Izučavanje operativnih sistema podrazumeva obradu sledećih poglavlja: Uvod u operativne sisteme Jezgro operativnih sistema i upravljanje procesima Raspoređivanje procesa i dodela procesora Sinhronizacija procesora Zastoj Upravljanje memorijom Virtuelna memorija Ulazno-izlazni podsistem Sekundarne itercijalne memorije Sistemi datoteka Mrežno okruženje Distrbuirani sistemi Zaštita i sigurnost Korisnički interfejs Uvod u operativne sisteme Računarski sistem je složen skup tehničkih uređaja (hardvera), programa koji zadaju instrukcije hardveru, i podataka koji se obrađuju. Ljudi koji koriste računare, bilo kao operateri, programeri ili projektanti, u radu se pridržavaju različitih formalnih i neformalnih procedura. Mnoge procedure se mogu pretočiti u programe, tako da ih obavljaju računari, a ne ljudi. Prevodioci (compilers) omogućavaju ljudima da programe pišu na jeziku koji razume čovek, i da ih zatim prevedu na mašinski jezik, tj. na jezik koji razume mašina. Povezivači (linkers) i punioci (loaders) omogućavaju sprezanje više mašinskih programa u jednu programsku celinu. Ta celina se 1

može upotrebiti više puta i uvek se smešta na razne lokacije u memoriji. Pri tome, treba odgovoriti na sledeća pitanja: Kako se više programa može istovremeno smestiti u memoriju? Ko će izabrati koji će program biti u memoriji? Koji će program i kada koristiti procesor? Kako ćemo obezbediti da svaki program dobije resurse? Operativni sistem sadrži odgovore na sva ova pitanja. Istorijat operativnih sistema Računari prve generacije (1945-1955) osnova su im vakuumske cevi (20 000 po računaru) ogromnih dimenzija veoma skupi vojska ih koristila veoma spori programiralo se na mašinskom jeziku simbolički jezici (uključujući i asembler) kao i operativni sistemi su u to vreme bili nepoznati. Ljudi koji su radili na tim računarima obavljali su sve poslove od programiranja do održavanja računara. Iskorišćenje računarskog sistema tj. njegovih najvažnijih resursa centralnog procesora i centralne memorije je bilo slabo. Računari druge generacije (1955 1965) osnova su im tranzistori pouzdaniji su, manji i jeftiniji koriste ih vojska, velike korporacije i unverziteti smešteni su u sobe koje imaju tri odvojene, funkcionalne celine: ulazna soba, centralni računar, i izlazna soba programeri su pisali programe na papiru(progr. jezik FORTRAN), zatim su se programi prenosili na bušene kartice, koje su se ostavljale u sobu gde je računar Operator sistema je uzimao bošene kartice i ubacivao u računar: prvo kartice sa prevodiocem FORTRAN-a, a zatim bušene kartice sa programom koji treba izvršiti. Glavni računar je obavljao posao i rezultat se dobijao na bušenim karticama kje su se prenosile u sobu sa rezultatima. Ovde se mnogo vremena trošilo na šetanje izmedju soba sa bušenim karticama.. Operativni sistem kao pojam još uvek nije postojao Dalje se kao poboljšanje uvodi paketna obrada(bach processing), zasnovana na upotrebi magnetne trake uređaja mnogo bržeg od bušenih kartica. Pri paketnoj obradi, u ulaznoj sobi s poslovima sakuplja se jedna količina sličnih programa(npr. svi programi koji zahtevaju prevodilac FORTRAN-a) koji se pomoću jeftinijeg računara(npr. IBM 1401) sa bušenih kartica prenose na magnetnu traku. Magnetna traka se zatim unosi u sobu sa glavnim računarom(moćnijim i skupljim npr. IBM 1401) predviđenim za izvršavanje programa. U glavni računar se učitava poseban program koji je zadužen da sa trake sa poslovim programe redom učitava i izvršava. Taj program se može smatrati pretkom operativnih sistema. Nakon izvršavanja programa, rezultati se snimaju na drugu magnetnu traku koju operater prenosi do trećeg računara, zaduženog za prebacivanje rezultata sa magnetne trake na bušene kartice. Karakteristike druge generacije računara su: 2

1. veća brzina rada centralnog procesora, 2. veći kapacitet centralne memorije i eksternih memorija 3. nove i brže ulazno-izlazne jedinice. 4. programi se pišu na simboličkom mašinskom jeziku, asembleru ili na višem programskom jeziku FORTRAN 5. Operater više nije u stanju da efikasno opsluži računarski sistem, jer su njegove reakcije isuviše spore. Jedino rešenje prebacivanje niza kontrolnih funkcija sa operatera na sam računarski sistem. tj. na posebne kontrolne programe Dakle, kod računara druge generacije razlikujemo dve vrste programa: kontrolni i korisnički Računari treće generacije (1965-1980) prave se od integrisanih kola (IC). Početkom šezdesetih većina proizvođača pravi dve vrste računara: jednu bržu verziju(kao IBM 7094) i jednu slabiju (kao IBM 1401) što je skup poduhvat. Novi korisnici računara najpre žele slabije modele koji su jeftiniji, dok će im jači, brži i skuplji modelibiti potrebni tek nakon izvesnog vremena. IBM taj problem pokušava da reši uvođenjem klase računara IBM System 360. To je serija kompatibilnih računara različitih snaga. Svaki od ovi računara je pogodan i za naučnu i za poslovnu namenu čime je nestala podela računara na one dve vrste. Ovaj koncept su preuzeli i drugi proizvođači računara. Računari su radili pod operativnom sistemom OS/360 koji je bio veoma glomazan i prepšun grešaka. S razvojem discipline poznate pod imenom softversko inženjerstvo (software engineering), uvode se nove funkcije: multiprogramiranje (multiprogamming); višestruke ulazne-izlazne(u/i) operacije (spool) podela računarskog vremena (engl. time sharing) multiprogramiranje - Kada neki program čeka rezultate ulazno-izlaznih operacija, procesor je neiskorišćen, pa se gubi procesorsko vreme. Ovaj problem nije izražen kod programa koji retko zahtevaju ulazno-izlazne operacije (na primer, naučno orijentisani programi), ali jeste kod poslovnih programa. Multiprogramiranje je tehnika kojom se postiže bolje iskorišćenje procesora: memorija se deli na particije u koje se učitavaju različiti programi, to jest poslovi(jobs). Dok neki program čeka na ulazno/izlaznu operaciju, procesor može izvršavati drugi program. Na taj način, ako imamo dovoljan broj programa u memoriji, procesor se stalno upotrebljava. Spuling (engl. Spool Simultaneous Perpheral Operation On Line) jeste tehnika koja omogućava da se nedovoljna brzina ulazno-izlaznih uređaja kompenzuje upotrebom brzih uređaja kao što su trake, a naročito diskovi. Na taj način se omogućava istovremeno izvršenje više ulazno-izlaznih operacija. Brzi uređaj prihvata sve sa ulaza, a zatim se ulaz ka procesoru realizuje sa brzog uređaja. Ulaz se realizuje prebacivanjem sadržaja bušenih kartica na disk(traku) pomoću posebnog uređaja, a bez korišćenja procesora. To znači da se disk paralelno puni novim poslovima dok procesor izvršava programe u memoriji. Kada jedan program završi rad učitava se drugi program sa diska. 3

Slično,sve što se šalje na izlaz, prvo se prenosi na brzi uređaj, a zatim sa njega na spore uređaje. time-sharing jeste tehnika koja omogućava da svaki korisnik radi sa računarom interaktivno. Podela vremena je poseban oblik multiprogramiranja, gde svakom terminalu pripada dozvoljeno procesorsko vreme. Posle isteka vremenskog kvantuma tj. dodeljene količine procesorskog vremena, procesor se dodeljuje drugom terminalu. Ukoliko je terminal blokiran zbog čekanja na ulazno-izlazne operacije, procesor se i pre isteka kvantuma dodeljuje drugom terminalu. Kod treće generacije računara treba istaći pojavu dva operativna sistema MULTICS i UNIX. MULTICS neuspela ideja kompanije MIT, Bell Labs i General Electric da se napravi moćan računar i operativni sistem koji bi bio u stanju da radi sa velikim brojem terminala. Ovaj model se može smatrati pretečom Interneta i računarskih mreža. UNIX je uprošćena vrijanta MULTICS sistema koja je doživela praktičnu realizaciju i ekspanziju do današnjih dana. Računari treće generacije su se nazivali mini računari. U trećoj generaciji računarskog sistema, zbog pojave multiprogramiranja i porasta brzina, veličine memorije i broja ulazno izlaznih jedinica, još više kontrolno-upravljačkih funkcija se prebacuje sa čoveka na računar tj. računarski sistem, odnosno na pojedine sistemske programe. Skup svih tih programa se naziva operativni sistem. Programer se oslobađa niza složenih rutinskih poslova i pruža mu se mogućnost većeg angažovanja na kreativnom delu posla. Sem kontrolno-upravljačkih programa kod ovih računara je razvijen i niz uslužnih programa čiji je zadatak da olakšaju i uproste upotrebu računarskih sistema. Tako je nastala podela softvera na: sistemski i korisnički(aplikativni). U četvrtoj generaciji računara(1980-1990), prvi put se pojavljuju personalni računari. Razvoj personalnih računara započinje pojavom LSI čipova visokog stepena integracije(large Scale Integration). Računari su bili dovoljno jeftini, tako da su ih mogli priuštiti i više odseka iste firme ili univerziteta, dok su personalni računari postali dovljno jeftini da ih mogu imati pojedinci. Ovde spadaju Spectrum, Commodore, Atari, IBM PC, Apple Maciontosh itd. U prve operativne sisteme za personalne računare spadaju MS DOS i UNIX. Sem klasičnih operativnih sistema javljaju se i dve nove vrste: mrežni operativni sistemi(koriste ih računari povezani u mrežu. Visok stepen autonomnosti - svaki računar ima svoj operativni sistem a pomoću odgovarajućih protokola u mogućnosti su da međusobno razmenjuju podatke) i distributivni operativni sistemi(mnogo ozbiljnija varijanta u mrežnom okruženju, zato što osim deljenja i migracije datoteka i štampača omogućavaju i deljenje procesa tj. programa) 4

Definicija i funkcije operativnog sistema Operativni sistem objedinjuje raznorodne delove računara u skladnu celinu i sakriva od korisnika detalje funkcionisanja ovih delova koji nisu bitni za korišćenje računara. Operativni sistem radi sledeće: upravlja programima, podacima i delovima od kojih se računar sastoji (procesor, kontroleri, radna memorija), sa ciljem da oni budu što celishodnije upotrebljeni; obezbeđuje pristupačno radno okruženje za krajnjeg korisnika računara, tako što računar kao mašinu koja rukuje bitovima, bajtovima i blokovima pretvara u mašinu koja rukuje datotekama i procesima. 1. Koji su osnovni ciljevi koje je neophodno da operativni sistem postigne pri posredovanju između korisnika i računarskog sistema? Ukratko rečeno, operativni sistem je skup sistemskih programa koji posreduje između korisnika računara i računarskog hardvera, a cilj mu je da: izvršava korisničke programe i olakša rešavanje korisničkih problema; korišćenje računarskog sistema učini podesnijim za korisnika; omogući što efikasnijeiskorišćenje računarskog hardvera 2. Prikaži hijerarhijski model operativnog sistema Operativni sistem je jedan od najvažnijih i najsloženijih delova računarskog sistema i sastoji se od više relativno nezavisnih celina. Pošto svaki proizvođač računara ima svoje operativne sisteme 5

teško je dati opštu strukturu operativnog sistema. Na slici je prikazan hijerarhijski model operativnog sistema. Pojedini slojevi predstavljaju nivoe operativnog sistema. Hijerarhijski model ima sledeći smisao: na posmatranom nivou operativnog sistema mogu se zahtevati usluge samo od njegovih nižih nivoa, a nikako od viših. Najniži sloj je poznat kao jezgro operativnog sistema(engl. nukleus, kernel). Ne postoje čvrsto definisana pravila koja regulišu raspodelu funkcija operativnog sistema po nivoima. Zbog odnosa veličine operativnog sistema i radne memorije, većina operativnih sistema ne može da stane u radnu memoriju. Zato se u memoriji uvek nalaze samo najvažniji delovi operativnog sistema, tzv. rezidentni delovi, koji aktiviraju i završavaju korisničke programe, dodeljuju memorije i datoteke, i obavljaju ulazno-izlazne operacije. Rezidentni deo operativnog sistema mora obavezno podržavati mehanizam prekida, jer je on osnova višeprogramskog rada i komuniciranja računara sa spoljnim svetom. DEO OPERATIVNOG SISTEMA KOJI MORA UVEK POSTOJATI uu RADNOJ MEMORIJI OBIČNO SE NAZIVA JEZGRO ILI NUKLEUS. Funkcije koje koriste svi nivoi moraju se smestiti u jezgro operativnog sistema. Ostali delovi se ubacuju u memoriju kada su potrebni i izbacuju kada više nisu potrebni. Korisnik Viši slojevi u hijerarhijskom modelu Korisnički interfejs (komandni interpreter ili grafičko radno okruženje) JEZGRO HARDVER sl 2. hijerarhijski model operativnog sistema 6

Funkcije operativnog sistema Funkcije koje treba da obavlja operativni sistem mogu se izvesti na osnovu očekivanih funkcija jednog računarskog sistema, kao što su: 3. Nabroj očekivane funkcije koje treba da obavi operativni sistem Automatsko funkcionisanje računarskog sistema OS mora da obezbedi funkcionisanje računarskog sistema bez intervencije operatera, iz prostog razloga ljudske intervencije su mnogo sporije od računara. Mogućnost planiranja i raspoređivanja poslova, i postojanje jezika za upravljanje poslovima Ovde se podrazumeva određivanje koji će se posao koji je spreman za rad izvršavati tj. kome će se dodeliti procesor. Ovde se uvodi jezik za upravljanje poslovima (job control) koji se interpretira preko operativnog sistema. Multiprogramiranje tehnika za pokretanje više programa na istom računaru istovremeno, tako što svaki dobije deo memorije, a procesor se dobija prema funkciji za raspoređivanje poslova Eliminisanje zavisnosti U/I operacija Kako su U/I operacije mnogo sporije od procesora, operativni sistem mora da izoluje U/I operacije od procesora, što se postiže upotrebom brzog medijuma za privremeno memorisanje svih U/I podataka. Taj uređaj u prošlosti je bila traka, a danas je to po pravilu disk. U cilju efikasnosti, U/I operacije po mogućstvu treba što više preklapati ili kombinovati sa drugim procesorskim poslovima. U tom kontekstu su realizovane dve hardverske strukture: kanal(channel) i tehnika prekida (engl. interrupt). Pod kanalom se podrazumeva uređaj koji kontroliše jedan ili više periferijskih uređaja, a sposoban je da prenosi podatke između periferijskih uređaja i memorije bez intervencije glavnog procesora. Tehnika prekida je univerzalna metoda za obaveštavanje operativnog sistema da se neka akcija, tj. U/I komanda završila. 4. Navedite osnovne funkcije operativnog sistema Na osnovu definicije operativnog sistema i očekivane funkcionalnosti računarskog sistema zaključujemo da operativni sistem mora obavljati sledeće funkcije: upravljanje poslovima (sekvenciranje i raspoređivanje poslova) i interpretacija komandnog jezika; rukovanje ulazno izlaznim operacijama; rukovanje greškama i prekidima; upravljanje resursima; omogućavanje višestrukog pristupa; 7

zaštita resursa od zlonamernih napada, slučajnih grešaka korisnika, grešaka u korisničkim programima i samom operativnom sistemu; obezbeđivanje dobrog intrfejsa za operatora i korisnika; obračun korišćenja računarskih resursa; Karakteristike operativnih sistema 5. Nabroj karakteristike operativnog sistema i ukratko objasni svaku karakteristiku. (ovde može i pet pitanja: nabrajanje k-ka i o svakoj karakteristici ponaosob) Karakteristike operativnih sistema su:0,, Konkurentnost (engl. concurrency) - je postojanje više simultanih, paralelnih aktivnosti. Primeri su preklapanje U/I operacija i operacija izračunavanja ili koegzistencija više programa u memoriji. Konkurentnost izaziva probleme pri prelasku sa jedne na drugu aktivnost, probleme zaštite jedne aktivnosti od druge i sinhronizacije aktivnosti koje su međusobnopovezane. Deoba resursa Konkurentne aktivnosti mogu da zahtevaju deljenje(engl. sharing) resursa ili informacija. Razlozi za deljenje resursa su višestruko (npr. cena obezbeđivanje dovoljnih resursa za svakog korisnika je preskupo. Zato je poželjno nadovezivanje rada jednog korisnika na rad drugog korisnika, deljenje podataka tj. korišćenje istih podataka između različitih programa i otklanjanje redundanse resursa. postojanje dugotrajne memorije Potreba za deljenjem programa i podataka implicira potrebu za trajnim skladištenjem podataka s mogućnošću brzog pristupa (engl. long-term storage). To omogućavaju uređaji velikog kapaciteta tj. sekundarne memorije koji su uglavnom magnetni. Ovde je potrebno rešiiti sledeće probleme: obezbeđivanje jednostavnog pristupa podacima, zaštita od štetnih uticaja bilo kakve vrste(zlonamernih ili nehotičnih i zaštita od grešaka samog sistema. Nedeterminizam Operativni sistem mora biti deterministički orijentisan znači, kada izvršava isti program sa istim podacima, mora dati isti rezultat, bez obzira da li će se to raditi danas, sutra ili za mesec dana. Na drugoj strani, operativni sistem mora karakterisati nedeterminističko ponasanje(engl. nondeterminancy), što znači da mora da odgovori na masu zahteva i događaja koji se mogu desiti na nepredvidiv način(zahtevi za resursima, greške u toku izvršavanja programa, prekidni signal perifernih uređaja). Operativni sistem ne može predvideti sve situacije koje mogu nastupiti i mora biti spreman za sve moguće sekvence događaja. 8

Poželjne osobine operativnog sistema U poželjne osobine operativnog sistema spadaju: 1. Visok nivo efikasnosti Efikasnost operativnog sistema se može precizno predstaviti samo pomoću više kriterijuma, pri čemu značaj svakog kriterijuma u globalnoj predstavi zavisi od vrste i namene operativnog sistema. Kriterijumi su sledeći: srednje vreme između poslova; vreme neiskorišćenosti operativnog sistema; vreme prolaska(engl. turn-around time) za paketnu obradu; vreme odziva (engl. response time) za interaktivne sisteme; iskorišćenost rersursa (engl. resource utilisation); propusna moć (broj poslova po satu, tj. ukupna veličina posla koji može biti obavljen interaktivno u nekom vremenu) Neka je e merilo efikasnosti (engl. efficiency): e=t korisno /t ukupno gde je t korisno vreme kada procesor radi korisne stvari u nekom poslu t ukupno vreme za koje se posao obavi. e se mora nalaziti u intervalu: 0<e<1 ; Ovde se uvodi i definicija merila gubitka vremena (o) (engl. overhead) o=t odrzavanje /t ukupno gde je t odrzavanje vreme kada procesor radi poslove vezane za održavanje samog sistema (engl.housekeeping) 0<o<1 ; Ovde važi: e+o=1. 2. visok nivo pozdanosti Idealno, operativni sistem bi trebalo da bude bez grešaka, ali to u realnosti nije moguće. Merilo pouzdanosti je je broj grešaka tj. srednje vreme između dve greške ili dva otkaza. 3. Jednostavnost održavanja Treba omogućiti da sistem održava što manje ljudi. da bi se to postiglo, potrebna je modularna struktura, sa jasno definisanim interfejsima među modulima i, naravno sa dobrom pratećom dokumentacijom 4. Prihvatljiva veličina 9

Operativni sistem treba da zauzme što manje prostora u memoriji mada sa povećanjem kapacitivnosti savremenih memorijskih sistema - to gubi važnost. Na drugoj strani veliki sistemi su podložni greškama, a i njihov razvoj traje duže. -------- U prošlosti, operativni sistemi su pisani na asemblerskom jeziku, što je imalo svoje prednosti mane. Prednosti su svakako u kompaktnosti izvršnog koda, koji je minimalan, a po preformansama optimalan. Mane se ogledaju u tome što realizacija koda zahteva mnogo programerskog vremena. Zahvaljujući jeziku C i UNIX sistemu, operativni sistemi se danas pišu na višim programskim jezicima. Implementacija u u višem programskom jeziku donosi mnoge prednosti: izvorni kod se mnogo brže piše; izvorni kod je mnogo kompaktniji; kod se mnogo lakše razume i lakše se otklanjaju greške (engl. debug) operativni sistem napisan na višem programskom jeziku se mnogo lakše prenosi na drugu računarsklu arhitekturu, tj. na drugu vrstu procesora. 5. Navedite razloge zbog kojih se operativni sistemi najčešće pišu na programskom jeziku C? Izvorni kod se mnogo brže piše i kompaktniji je. Kod je čitljiviji tako da se greške mogu lakše otkloniti. Operativni sistem se može lakše preneti na drugu računarsku arhitekturu. 6. Jedna od poželjnih osobina operativnog sistema je visoka efikasnost. U kom slučaju se može dozvoliti da operativni sistem pregazi ovaj princip i nepotrebno 2 pojede resurse? Na jednokorisničkim sistemima iskorišćenje sistema se uvećava uvođenjem grafičkog korisničkog interfejsa(gui graphical user interface). GUI dodatno opterećuje procesor i memoriju, ali optimizuje interakciju između korisnika i sistema i kao takav se smatra prihvatljivim gubitkom. VRSTE OPERATIVNIH SISTEMA 1. Kako se mogu klasifikovati operativni sistemi? Operativni sistemi se mogu klasifikovati prema različitim kriterijumima: prema broju korisnikai/ili procesa prema načinu obrade poslova prema distribuciji procesorske snage i ostalih resursa prema nameni i funkcionalnim osobinama Klasifikacija prema broju korisnika i procesa 2. Kako se dele operativni sistemi prema broju korisnika: 10

Operativni sistemi se prema broju korisnika dele na: jednokorisničke sisteme (single user) višekorisničke (multiuser) 3. Šta obezbeđuju jednokorisnički operativni sistemi? Oni obezbeđuju virtuelnu mašinu za samo jednog korisnika. To su ili računarski sistemi za jednu funkciju ili se radi o slabijim i jeftinijim konfiguracijamatipa mikroračunara. 4. Šta su višekorisnički operativni sistemi? To su kvalitetni operativni sistemi koji zahtevaju jače hardverske konfiguracije. Tipičan višekorisnički sistem je UNIX, koji obezbeđuje simultani pristup za više korisnika istovremeno pri čemu korisnici sistemu pristupaju preko posebnih terminala. 5. Kako se dele operativni sistemi prema broju simultanih aktivnosti, tj. prema broju procesa koji se mogu izvršavati paralelno ili kvaziparalelno? Dele sa na jednoprocesne(singletasking, singleprocess) i višeprocesne(multitasking, multiprocess). 6. Kako se dele operativni sistemi prema kombinovanom kriterijumu tj. prema broju korisnika i procesa? Na osnovu kombinovanog kriterijuma se operativni sistemi dele na tri vrste: jednokorisnički jednoprocesni(single user, singletasking) kao što je MS-DOS; jednokorisnički višeprocesni (single user, multitasking) kao što su OS/2 i MS Windows 3.x/9x/ME; višekorisnički višeprocesni (multiuser, multitasking) kao što je UNIX, ali uslovno se mogu prihvatiti i MS Windows 2000/XP/2003 ukoliko obezbeđuju terminalske usluge (terminal services) Klasifikacija prema nameni i načinu obrade poslova 7. Kako se operativni sistemi dele prema nameni? Dele se na: operativne sisteme opšte namene (general purpose systems) mogu da obavljaju razne poslove, kao što su obrada teksta i slike operativne sisteme specijalne namene - služe, uglavnom, za upravljanje procesima 8. Kako se operativni sistemi dele prema načinu obrade? Dele se na: 1) Sisteme sa grupnom obradom (batch) 11

2) interaktivne sisteme(interactive systems) 3) kombinovane sisteme 9. Opiši sisteme sa grupnom obradom Grupna(serijska, paketna) obrada je takav način rada računara u kome korisnici predaju svoje poslove na izvršavanje posredstvom ulaznih jedinica i koji se zatim odvijaju jedan za drugim u nizu, pri čemu korisnik nema mogućnost komuniciranja sa svojim poslom. 10. Opiši interaktivne sisteme Interaktivne sisteme (nazivaju se i time sharing sistemi) karakteriše postojanje terminala za svakog korisnika, preko kojih korisnici zadaju poslove i komuniciraju sa svojim poslovima. Paralelnost u radu se postiže tako što se svakom korisničkom programu dodeljuje jedan kvantum vremena centralnog procesora, pa se na svaku poruku korisnika odaziva u roku od nekoliko sekundi. Po isteku vremenskog kvantuma dodeljenog jednom procesu, on se prekida, bilo da je završio sa radom ili nije, a procesor se dodeljuje sledećem procesu u redu čekanja. 11. Opiši kombinovane sisteme Za kombinovane sisteme je karakteristično postojanje mogućnosti istovremenog obavljanja interaktivnih poslova i paketne obrade. Na primer, korisnik može u pozadini pokrenuti nekoliko vremenski zahtevnih poslova koji ne zahtevaju interakciju sa njim; dok čeka na njihovo izvršenje može čitati elektronsku poštu i Web stranice. Klasifikacija prema funkcionalnim osobinama računarskog sistema 12. Kako se operativni sistemi dele prema funkcionalnim osobinama računarskog sistema za koji su namenjeni? Dele se na: operativne sisteme za velike računarske sisteme (mainframe systems) operativne sisteme za sisteme sa deljenjem vremena(time-sharing systems) operativne sisteme za stone računare(desktop systems) operativne sisteme za višeprocesorske sisteme (multiprocessor systems) mrežne operativne sisteme (network systems) distribuirane sisteme (distributed systems) udružene sisteme (clustered systems) operativne sisteme za upravljanje u realnom vremenu(real-time systems) ručne sisteme (handlheld systems) 13. opiši operativne sisteme za velike računarske sisteme 12

Na velikim računarskim sistemima u početku su se pokretale mnoge komercijalne i naučne aplikacije. To su tada bile fizički ogromne mašine kojima se upravljalo preko konzole. Ulazni uređaji su bili čitači bušenih kartica i magnetne trake, a izlazni uređaji su takođe bile bušene kartice magnetne trake ili štampači. Radi povećanja brzine sistema srodni poslovi su se grupisali i na taj način zajednički obrađivali. Uvodi se tehnika multiprogramiranja a sa njom automatsko sekvenciranje poslova koje bez operatera prebacuje kontrolu sa jednog posla na drugi. Da bi operativni sistem mogao da funkcioniše, njegov fundamentalni deo mora uvek biti u memoriji. Taj deo bira koji će posao biti urađen. 14. Opiši operativni sistem sa deljenjem vremena Ovi sistemi su nastali kao specijalna klasa velikih sistema u kojoj je svakom korisniku omogućeno on-line komunikacija sa svojim poslom i operativnim sistemom. Vreme odziva se uvodi kao kriterijum efikasnosti ove klase sistema. Opet imamo tehniku multiprogramiranja što znači više poslova koji se u memoriji nalaze istovremeno i tehniku deljenja vremena, gde posle isteka vremenskog kvantuma svaki posao mora da preda kontrolu drugom poslu i sačeka svoje vreme. Ovi sistemi se dele na dve posebne klase: Upitni sistemi (file interrogation systems) razni informacioni sistemi koji rade sa velikim bazama podataka. Ovde je veoma bitno da vreme odziva za svaki postavljeni upit bude veoma kratko. Obično postoji dodatni sloj na vrhu operativnog sistema za upravljanje bazama podataka. transakcioni sistemi (transsaction processing systems) realativno su slični upitnim, s tim što se kod njih često (nekoliko puta u sekundi) modifikuju baze podataka. Primer su sistemi za rezervaciju karata i bankarski sistemi. 15. Opiši operativne sisteme za stone računare Stoni računari su mali računarski sistemi namenjeni jednom korisniku. Prve verzije ovih računara su imale skromne performanse (mala količina memorije, diskovi malog kapaciteta). Razvojem pogodnih grafičkih interfejsa poboljšane su karakteristike ovih računara tj. ostvarena je ergonomičnost prilagođenost korisniku. Za razliku od velikih računarskih sistema, ova klasa je veoma fleksibilna i prilagodljiva novim tehnologijama, novim procesorima, novim memorijama, novim multimedijalnim i perifernim uređajima. Ovu klasu karakteriše realizacija više vrsta operativnih sistema (DOS, MS Windows, Novell NetWare, UNIX, Linux). 16. Opiši operativne sisteme za višeprocesorske sisteme 13

Višeprocesorski sistemi imaju više procesora koji su povezani zatvorenim komunikacionim linijama, a nalaze se u istom kućištu. U literaturi se opisuju pod imenom paralelni sistemi. Za ove sisteme je karakteristično da procesori dele istu memoriju i isti časovnik. Komunikacija i sinhronizacija između procesora obično se odvija preko deljive memorije. Prednosti višeprocesorskih sistema su povećanjebrzine (N procesora bi radilo N puta brže ali zbosinhronizacije brzina je manja), pouzdanosti(sistem će nastaviti da radi i ako otkaže jedan ili više procesora) i ekonomičnosti(dele se isti hardverski resursi, memorija, časovnik, DMA kanali, prekidni kontroleri i izvor napajanja). Postoje dva koncepta za realizaciju višeprocesorskih sistema: simetrično multiprocesiranje (symmetric multiprocessing, SMP) svaki procesor izvršava istu kopiju operativnog sistema, pri čemu te kopije međusobno komuniciraju kad god je potrebno. Svi procesori su ravnopravni tj. ne postoji nadređen/podređen(master/slave). Procesor Procesor Procesor Memorija U idealnom slučaju, svakom procesoru se dodeljuje jedan proces i oni se izvršavaju nezavisno bez slabljenja performansi. Većina modernih operativnih sistema je SMP. asimetrično multiprocesiranje svakom procesoru je dodeljen specifičan posao. Postoji jedan glavni procesor (master) koji potpuno kontroliše ceo sistem i koji dodeljuje poslove ostalim procesorima (slaves). Ova koncepcija se uglavnom koristi u ekstremno brzim i velikim sistemima. 17. Opiši mrežne operativne sisteme Mrežni operativni sistemi obezbeđuju okruženje u kome korisnici sa svojih lokalnih mašina mogu pristupiti resursima udaljenih mašina na dva načina: procedurom daljinskog prijavljivanja na sistem(remote login) razmenom datoteka sa udaljenim sistemom (remote file transfer) Mnogo kvalitetniji mrežni operativni sistem distrbuirani sistemi. 14

18. Opiši distribuirane sisteme Distribuirani sistemi predstavljaju kolekciju procesora tj. računara koji ne dele zajedničku memoriju i sistemski časovnik. Umesto toga svaki procesor, tj. računar, ima sopstvenu lokalnu memoriju, a međusobna komunikacija se ostvaruje putem mreže realizovane kao LAN (lokalna mreža) ili WAN (mreža šireg područja). Osim podataka, datoteka i štampača, distribuiraju se i procesi. Četiri glavne prednosti distribuiranih sistema jesu: deljenje resursa ubrzavanje izračunavanja, pouzdanost i komunikacije Distribuirane vrste karakterišu tri vrste migracija: migracija podataka migracija izračunavanja migracija procesa Distribuirani sistemi zahtevaju mrežnu infrastrukturu i mogu biti realizovani kao klijent/server arhitektura kao ravnopravni računarski sistemi koji dele resurse na mreži (peer-to-peer systems) U klijent/server arhitekturi postoje računari kojei predstavljaju servere i računari koji koriste njihove usluge klijenti. Postoje dve vrste servera: serveri za izračunavanje (computing servers) kojima klijenti šalju zahteve na obradu i serveri datoteka (file servers) koji služe za smeštanje datoteka. Postoji i treća vrsta servera a to su serveri za štampu (print servers) koji omogućavaju klijentima da obave štampanje. Klijent Klijent Klijent Klijent Server 19. Opiši udružene sisteme 15

Sastoje se od udruženih računara, tj. od dva ili više udruženih računara koji dele diskove i čvrsto su povezani LAN mrežom. Svaki računar u udruženom sistemu se naziva čvor (node). Na svakom čvoru se izvršava jedan nivo softvera za udruživanje. Postoje dve vrste udruživanja: asimetrično i simetrično. U asimetričnom udruživanju jedan server (čvor) izvršava aplikaciju dok ostali prateći serveri - prate rad glavnog servera u budnom, ali neaktivnom stanju. U slučaju otkaza glavnog servera, jedan od pratećih servera će preuzeti njegovu ulogu. U simetričnom udruživanju svi serveri su aktivni i izvršavaju aplikaciju. Ovim se poboljšavaju performanse sistema, ali sistem mora da izdrži otkaz jednog ili više servera. 20. Opiši operativne sisteme za upravljanje u realnom vremenu Spadaju u grupu specijalnih operativnih sistema. Glavna karakteristika im je davanje odziva u propisanom vremenskom intervalu i precizno definisana vremenska ograničenja u kojima moraju da se dogode odzivi. Po pravilu, glavni izvori podataka su: senzorski uređaji razni prekidači A/D i D/A konvertori Ovi sistemi kontrolišu aplikacije specijalne namene, kao što su: specijalni grafički sistemi sistemi za medicinsku grafiku sistemi za industrijsku kontrolu sistemi za kontrolu naučnih eksperimenata itd. itd. Dele se na dve klase: čvrsti sistemi za rad u realnom vremenu (hard real-time systems) garantuju da će se svi važni poslovi obaviti na vreme. Nemaju sekundarnu memoriju, tj. diskove, jer najčešće rade u teškim uslovima, a kompletan kodoperativnog sistema i aplikacija se čuva u ROM memoriji. Ovaj sistem je ograničen zato što mnoge funkcije operativnih sistema opšte namene ne postoje. meki sistemi za rad u realnom vremenu (soft real-time systems) manje su zahtevni, obezbeđuju dve klase procesa, a to su obično procesi i procesi u realnom vremenu koji imaju apsolutni prioritet. Praktično, oni su mešavina sistema za rad u realnom vremenu i operativnih sistema opšte namene. Ovde spadaju UNIX i LINUX (sve vrste), Windows 2000/XP/2003 16

21. Opiši ručne sisteme Ovi sistemi uključuju PDA uređaje (Personal Digital Assistants) i mobilne telefone. Glavne karakteristike su: mobilnost (korisnici ih mogu nositi svuda sa sobom) mogućnost priključenja na mrežu Internet veoma slabi hardverski resursi (mala količina memorije (512 kb - 8 MB), procesori skromnih mogućnosti, mali ekrani) neki se mogu bežičnim putem priključiti na mrežu. Vrste računarskog okruženja 22. Nabroj i ukratko opiši vrste računarskog okruženja Postoje tri vrste računarskog okruženja: Tradicionalno (traditional computing) okruženje čine jednokorisnički računari ili sistemi sa deljenjem vremena, gde se korisnici preko svojih terminala povezuju na servere. Zasnovano na Web-u (Web based computing) Okruženje je zasnovano na umrežavanju po principima globalne mreže ( kao što je Internet) na kojoj postoje Web serveri i klijenti u vidu PC računara i malih mobilnih telefona. Ugrađeno okruženje (embedded computing) ovo okruženje je tipično za tvrde realtime sisteme koje odlikuje nepostojanje tastature, monitora i diskova. Aplikacija koja se izvršava u realnom vremenu dobija ulazne informacije preko uređaja kao što su senzori, dok se statusne i izlazne informacije prikazuju na LED diodama ili malom displeju. Opšti pregled strukture operativnih sistema 23. Šta obezbeđuje upravljanje osnovnim resursima računarskog sistema? Upravljanje osnovnim resursima računarskog sistema obezbeđuje više funkcionalnih grupa programa namenjenih za: upravljanje procesorom upravljanje memorijom upravljanje ulazom i izlazom upravljanje podacima upravljanje sekundarnom memorijom umrežavanje zaštita korisnički interfejs 17

Prve četiri grupe programa su fundamentalne. 24. Kako se upravljanje procesorom može podeliti? Može se podeliti u dva nivoa nivo neposredne dodele procesora nekom programu, tj. predaje kontrole nad procesorom nekom programu nivo razrešavanja prioriteta, tj. odlučivanja koji od mogućih programa ima najveći prioritet da bi postao proces i da bi u nekom sledećem trenutku dobio kontrolu nad procesorom. 25. Šta se podrazumeva pod upravljanjem memorijom? Podrazumeva se upravljanje radnom (glavnom) memorijom računara kojoj centralni procesor pristupa direktno, radi uzimanja instrukcija ili podataka. Upravljanje memorijom obuhvata sledeće radnje: realizacija određene strategije dodeljivanja memorije (redosled dodeljivanja memorije poslovima, statično ili dinamično dodeljivanje, principi dodeljivanja i sl.) dodeljivanje memorije (algoritmi izbora početne lokacije segmenta koji se dodeljuju) sprovođenje određene strategije oslobođanja memorije (ukrupnjivanje manjih oslobođenih delova memorije, oslobađanje delova memorije, redosled obrade zahteva za dodelu memorije) 26. Šta se podrazumeva pod upravljanjem uredjajima? Podrazumevaju se sledeće funkcije: obezbeđivanje nezavisnosti uređaja (programi treba da budu nezavisni od tipa uređaja koji se koriste za ulazno-izlazne operacije); obezbeđivanje efikasnog rada uređaja (pošto U/I operacije predstavljaju često usko grlo računarskog sistema, poželjno da seb što efikasnije preklapaju i izoluju od procesora); obezbeđivanje jedinstvenog koncepta analize rada svih uređaja računarskog sistema realizacija određene strategije dodeljivanja uređaja (npr. redosled dodeljivanja uređaja poslovima, način dodeljivanja uređaja: namenski, s deobom, kao virtuelni itd.); dodeljivanje uređaja (fizičko dodeljivanje uređaja, kontrolnih jedinica i kanala poslovima) realizacija određene strategije oslobađanja uređaja (npr. uređaj se oslobađa tek kada se posao kojem je dodeljen završi) 27. Šta se podrazumeva pod upravljanjem podacima? Upravljanje podacima podrazumeva realizaciju sledećih funkcija: formiranje i brisanje osnovnih struktura podataka (datoteka); 18

čitanje datoteka i upisivanje u datoteke; obezbeđivanje uslova za simboličko obraćanje datotekama (prema njihovim imenima); zaštita podataka od namernog i nenamernog uništavanja (usled otkaza sistema); zaštita podataka od neovlašćenog pristupa i korišćenja: deoba datoteka (podataka) između više poslova (korisnika). 28. Navedi tri koncepcije projektovanja operativnih sistema. To su: monolitna organizacija (monolithic systems) slojevita organizacija (layered systems) arhitektura mikrojezgra (microkernel) 29. Opiši monolitne sisteme tj. monolitnu organizaciju operativnih sistema. Ovakva organizacija u prošlosti bila najčešće zastupljena. Ovakva organizacija je dobila naziv velika zbrka (big mess). Monolitni opertativni sistem je realizovan kao skup procedura koje se po potrebi mogu međusobno pozivati, bez ikakvih ograničenja. Korisnički programi upotrebljavaju servise operativnog sistema na sledeći način: parametri sistemskog poziva se smeštaju na određena mesta, kao što su registri procesora ili stek, nakon čega sledi pozivanje jezgra operativnog sistema (kernel call). Ova operacija prebacuje procesor iz korisničkog režima rada i kontrolu predaje operativnom sistemu. U sistemskom režimu rada dostupne su neke komande procesora kojima se ne može pristupiti iz korisničkog režima. Posle pozivanja jezgra operativni sistem preuzima kontrolu i na osnovu parametara poziva određuje koju sistemsku proceduru treba pozvati. Nakon izvršenja procedure, kontrola se vraća korisničkom programu. Operativni sistem ima sledeću strukturu sastavljenu od tri osnovna skupa programa: glavni program koji obrađuje sistemske pozive skup sistemskih procedura koje se pozivaju prilikom sistemskih poziva skup pomoćnih procedura koje koriste sistemske greške Slojevita(hijerarhijska) organizacija 30. Šta je opšta karakteristika slojevite organizacije operativnog sistema? U slojevitoj realizaciji operativni sistem se deli na različite slojeve. Slojevi su organizovani hijerarhijski: svaki sloj može da poziva samo funkcije nižih slojeva. 31. Opiši prvi slojeviti operativni sistem THE (Technische Hogeschool Eindhoven) 19

Sastoji se od 6 slojeva. Slojevi od 0-3 predstavljaju jezgro operativnog sistema i rade u sistemskom režimu: nulti sloj upravlja procesorom tj. dodeljuje procesor različitim procesima; prvi sloj upravlja memorijom tj. dodeljuje potrebnu memoriju procesima; drugi sloj upravlja komunikacijom između različitih procesa i komandnog interpretera; treći sloj obavlja ulazno/izlazne operacije. Na četvrtom sloju rade korisnički programi, koji se ne brinu o prethodno opisanim radnjama sve te operacije rade niži slojevi (0-3) 32. Uporedite monolitne operativne sisteme sa slojevitim operativnim sistemima i napišite zaključak. Operativni monolitni sistemi se sastoje od skupa procedura bez ikakvog grupisanja i hijerarhije. Slojeviti operativni sistem se deli na više slojeva od kojih svaki ima tačno određenu funkciju (upravlja tačno određenim resursima) i oslanja se isključivo na funkcije nižih slojeva, kojima se pristupa pomoću poziva sličnih sistemskim pozivima. Generalno slojeviti operativni sistem se deli na određeni broj slojeva, od kojih se svaki gradi na vrhu prethodnog sloja. Najniži sloj (layer 0) predstavlja hardver, dok je najviši (layer N) korisnički interfejs. Sa ovakvim modularnim konceptom, slojevi koriste isključivo funkcije i usluge nižih slojeva. 33. Šta su sistemski potprogrami tj. sistemske biblioteke? Svaki sistemski potprogram je namenjen za pozivanje jedne od operacija operativnog sistema, namenjenih korisničkom sloju. Ovakve operacije se nazivaju sistemske, kako bi se razlikovale od ostalih (internih) operacija operativnog sistema, namenjenih samo za korišćenje unutar operativnog sistema. Sistemski potprogrami obrazuju sistemsku biblioteku. Prema tome, pozivanje sistemskih operacija se svodi na pozivanje potprograma iz sistemske biblioteke. sistemska biblioteka se isporučuje uz operativni sistem kako bi se koristila u postupku povezivanja. U toku povezivanja bibliotečki potprogrami se vezuju za objektni oblik korisničkog programa radi stvaranja izvršnog oblika korisničkog programa, koji tako postaje spreman za saradnju sa operativnim sistemom. Zahvaljujući sistemskim potprogramima tj. sistemskoj biblioteci, operativni sistem predstavlja de korisničkog programa, iako nije za njega direktno vezan. Sistemski pozivi Aplikacioni programi komuniciraju sa operativnim sistemom pomoću sistemskih poziva tj. preko operacija(funkcija) koje definiše operativni sistem. 34. Šta obezbeđuju sistemski pozivi? 20

Sistemski pozivi obezbeđuju interfejs između programa koji se izvršava i operativnog sistema. Generalno, realizuju se na asemblerskom jeziku, ali noviji viši programski jezici poput C i C++, takođe omogućavaju realizaciju sistemskog poziva. Program koji se izvršava može proslediti parametre operativnom sistemu na tri načina: prosleđivanjem parametara u registrima procesora; postavljanjem parametara u memorijskoj tabeli, pri čemu se adresa tabele prosleđuje u registru procesora; postavljanjem parametara na vrh steka (push), koje operativni sistem skida (pop), 35. Šta predstavlja mikrojezgro? Arhitektura mikrojezgra Mikrojezgro (mikrokernel) predstavlja veoma savremen koncept u realizaciji savremenih operativnih sistema. Osnovna zamisao je napraviti minimalno i pouzdano jezgro visokih performansi, a sve ostale funkcije jezgra potisnuti u takozvani korisnički prostor (user space). Korisnički moduli međusobno komuniciraju slanjem poruka (message passing). Dobre osobine arhitekture mikrojezgra su: jednostavno proširivanje i optimizacija jezgra jednostavno dodavanje novih modula bez uticaja na osnovno jezgro jednostavna prenosivost na drugu računarsku arhitekturu veća pouzdanost (manje koda se izvršava u režimu jezgra) veća sigurnost Virtuelne mašine Iako smo operativni sistem definisali kao virtuelnu mašinu, IBM je razvio posebnu softversku strukturu koja ima velike prednosti pri realizaciji novih operativnih sistema i koja se takođe naziva virtuelna mašina. 36. Kako IBM definiše strukturu virtuelnih mašina? IBM definiše strukturu virtuelnih mašina na sledeći način: na najnižem nivou se definiše hardver, a iznad hardvera monitor virtuelnih mašina, to jest poseban sistem koji obezbeđuje niz virtuelnih mašina (tačnih kopija hardvera). Zatim se nate virtuelne mašine mogu instalirati različiti operativni sistemi. Odgovarajući operativni sistemi primaju sistemske pozive korisničkih programa, a hardverske operacije koje ti operativni sistemi šalju prema svojim virtuelnim mašinama prihvata monitor virtuelnih mašina i realizuje ih u skladu sa hardverom ispod sebe. 21

Virtuelna mašina je zasnovana na slojevitoj organizaciji i tretira realni hardver i realno jezgro kao da su hardver za operativni sistem koji predstavljaju. Virtuelna mašine obezbeđuje identičan interfejs kao da je realni hardver ispod virtuelne mašine, a ne čitav niz slojeva softvera. Operativni sistem stvara iluziju o višestrukim procesima koji se izvršavaju na svom virtulnom procesoru i svojoj virtelnoj memoriji. Virtuelne mašine pružaju kompletnu zaštitu sistemskih resursa, pošto su sve virtuelne mašine međusobno izolovane i ne mogu direktno deliti resurse. Virtuelne mašine su perfektanrazvojni sistem za realizaciju novih operativnih sistema, jer se razvoj realizuje na virtuelnoj mašini, a ne na realnoj (lako se kontroliše, isparavljaju greške i sl. Sistem virtuelnih mašina se ne može lako realizovati zato što treba egzaktno simulirati hardver koji reprezentuje virtuelna mašina. Operativni sistemi UNIX i LINUX UNIX je stabilan, moćan i fleksibilan operativni sistem visokih performansi, pogodan za izvršavanje važnih aplikacija. UNIX je čvrsto povezan sa mrežnim servisima TCP/IP protokola, čime je praktično promenjena slika UNIX servera i radnog okruženja iz prošlosti. Umesto servera sa klasičnim serijskim terminalima, UNIX server se nalazi u mreži pri čemu sa radnim stanicama ostvaruje vezu preko LAN/WAN mreže i skupa protokola TCP/IP. Većina UNIX sistema poput IBM AIX i Sun Solaris je komercijalna korisnik mora da plati licencu za upotrebljavanje, a izvorni kod nije raspoloživ. To su razlozi narastajuće popularnosti operativnog sistema Linux. Linux zadržava većinu dobrih osobina sistema UNIX Linux se dodatno odlikuje raspoloživim izvornim kodom i praktično besplatnim korišćenjem Danas većina proizvođača računara, sem komercijalne verzije UNIX, nude i podršku za Linux. Linux se najčešće koristi kao operativni sistem na radnim stanicama ili serverima, u manjoj ili srednjoj klasi servera, a jedna od oblasti dominantne primene, u kojoj veliki broj korisnika podržava i promoviše Linux kao bazični servis, jesu Internet usluge. 22