uvod - racunari44.files.wordpress.com · zbog odnosa veličine operativnog sistema i radne...

22
1 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

Upload: others

Post on 15-Oct-2019

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UVOD - racunari44.files.wordpress.com · 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

1

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

Page 2: UVOD - racunari44.files.wordpress.com · 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

2

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:

Page 3: UVOD - racunari44.files.wordpress.com · 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

3

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.

Page 4: UVOD - racunari44.files.wordpress.com · 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

4

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)

Page 5: UVOD - racunari44.files.wordpress.com · 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

5

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

Page 6: UVOD - racunari44.files.wordpress.com · 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

6

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

sl 2. hijerarhijski model operativnog sistema

JEZGRO

Korisnički interfejs (komandni interpreter ili grafičko radno okruženje)

Viši slojevi u hijerarhijskom modelu

HARDVER

Page 7: UVOD - racunari44.files.wordpress.com · 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

7

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;

Page 8: UVOD - racunari44.files.wordpress.com · 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

8

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.

Page 9: UVOD - racunari44.files.wordpress.com · 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

9

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=tkorisno/tukupno gde je tkorisno – vreme kada procesor radi korisne stvari u nekom poslu

tukupno – 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=todrzavanje/tukupno gde je todrzavanje – 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

Page 10: UVOD - racunari44.files.wordpress.com · 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

10

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:

Page 11: UVOD - racunari44.files.wordpress.com · 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

11

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)

Page 12: UVOD - racunari44.files.wordpress.com · 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

12

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

Page 13: UVOD - racunari44.files.wordpress.com · 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

13

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

Page 14: UVOD - racunari44.files.wordpress.com · 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

14

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).

▪▪▪▪▪▪▪▪

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.

Procesor Procesor Procesor

Memorija

Page 15: UVOD - racunari44.files.wordpress.com · 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

15

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.

▪▪▪▪▪

19. Opiši udružene sisteme

Klijent Klijent Klijent

Klijent

Server

Page 16: UVOD - racunari44.files.wordpress.com · 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

16

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

Page 17: UVOD - racunari44.files.wordpress.com · 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

17

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 real-time 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

Page 18: UVOD - racunari44.files.wordpress.com · 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

18

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);

Page 19: UVOD - racunari44.files.wordpress.com · 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

19

č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)

Page 20: UVOD - racunari44.files.wordpress.com · 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

20

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?

Page 21: UVOD - racunari44.files.wordpress.com · 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

21

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),

Arhitektura mikrojezgra

35. Šta predstavlja mikrojezgro?

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.

Page 22: UVOD - racunari44.files.wordpress.com · 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

22

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.