7
  Priprema za izv ođenje nastave iz predme ta Računari  - 1 - Operativni sistem – definicija i funkcije Operativni sistem (u daljem tekstu OS) objedinjuje raznorodne delove računara u skladnu celinu i sakriva od korisnika detalje funkcionisanja ovih delova koji nisu bitni za korišćenje računara.  OS radi sledeće:   Upravlja programima, podacima i delovima od kojih se računar sastoji (procesor, kontroleri, radna memorija), s ciljem da oni budu što celishodnije upotrebljeni  Obezbeđuje pristupačno radno okruženje za krajnjeg korisnika računa ra  U opštem smislu, operativni sistem se može definisati kao skup programa koji upravljaju resursima računarskog sistema i obezbeđuje interfejs ka korisniku.  Prva funkcija OS je upravljanje resursima računara ( resource management). Pod pojmom resurs  podrazumevamo sve što je programu potrebno za rad. Resursi mogu biti hardverski (procesor, memorija, I/O uređaji) i softverski (programi, podaci datoteke). Zadatak OS je da vodi računa o resursima računara tj. da zadovolji potrebe programa, da prati koji progra m koristi koje resurse itd. Ukratko rečeno, OS je skup sistemskih programa koji posreduju između korisnika računara i računarskog hardvera a cilj je da:   Izvršava korisničke programe i olakšava rešavanje korisničkih problema  Korišćenje računars kog sistema učini po desnijim za korisnika  Omogući što efikasnije iskorišćenje računarskog hardve ra OS se sastoji od više relativno nezavisnih celina. Svaki proizvođač računara ima svoje operativne sisteme, pa je teško da ti opštu strukturu OS. Hijerarhijski model OS je sastavljen od nivoa. Hijerarhijski model ima sledeći smisao: na posmatranom nivou OS -a mogu se zahtevati usluge samo od njegovih nižih nivoa, a nikako od viših. Najniži sloj je poznat kao jezgro OS-a ( kernel). Zbog odnosa veličine OS-a i radne memorije, većina OS-a ne može da stane u radnu memoriju. Zato se u memoriji uvek nalaze samo najvažniji delovi OS-a, takozvani rezidentni delovi, koji aktiviraju i izvršavaju korišničke programe, dodeljuju memoriju i datoteke i obavljaju I/O operacij e. Rezidentni deo OS-a mora da podržava mehanizam prekida, jer je on osnova višeprogramskog rada. Deo OS-a koji uvek mora da se nalazi u memoriji obično se naziva jezgro ili kernel. Funkcije koje koriste svi nivoi moraju se smestiti u jezgro OS-a. Ostali delovi se ubacuju u memoriju kada su potrebni i izbacuju kada više nisu  potrebni. Slika 1. Hijerarhijski model OS-a  K E R N E L H A R D V E R korisnik viši slojevi u hijerarhijskom modelu

Racunari Cas Operativni Sistemi Podela

Embed Size (px)

Citation preview

Priprema za izvoenje nastave iz predmeta Raunari

Operativni sistem definicija i funkcijeOperativni sistem (u daljem tekstu OS) objedinjuje raznorodne delove raunara u skladnu celinu i sakriva od korisnika detalje funkcionisanja ovih delova koji nisu bitni za korienje raunara. OS radi sledee: Upravlja programima, podacima i delovima od kojih se raunar sastoji (procesor, kontroleri, radna memorija), s ciljem da oni budu to celishodnije upotrebljeni Obezbeuje pristupano radno okruenje za krajnjeg korisnika raunara U optem smislu, operativni sistem se moe definisati kao skup programa koji upravljaju resursima raunarskog sistema i obezbeuje interfejs ka korisniku. Prva funkcija OS je upravljanje resursima raunara (resource management). Pod pojmom resurs podrazumevamo sve to je programu potrebno za rad. Resursi mogu biti hardverski (procesor, memorija, I/O ureaji) i softverski (programi, podaci datoteke). Zadatak OS je da vodi rauna o resursima raunara tj. da zadovolji potrebe programa, da prati koji program koristi koje resurse itd. Ukratko reeno, OS je skup sistemskih programa koji posreduju izmeu korisnika raunara i raunarskog hardvera a cilj je da: Izvrava korisnike programe i olakava reavanje korisnikih problema Korienje raunarskog sistema uini podesnijim za korisnika Omogui to efikasnije iskorienje raunarskog hardvera OS se sastoji od vie relativno nezavisnih celina. Svaki proizvoa raunara ima svoje operativne sisteme, pa je teko da ti optu strukturu OS. Hijerarhijski model OS je sastavljen od nivoa. Hijerarhijski model ima sledei smisao: na posmatranom nivou OS-a mogu se zahtevati usluge samo od njegovih niih nivoa, a nikako od viih. Najnii sloj je poznat kao jezgro OS-a (kernel). Zbog odnosa veliine OS-a i radne memorije, veina OS-a ne moe da stane u radnu memoriju. Zato se u memoriji uvek nalaze samo najvaniji delovi OS-a, takozvani rezidentni delovi, koji aktiviraju i izvravaju korinike programe, dodeljuju memoriju i datoteke i obavljaju I/O operacije. Rezidentni deo OS-a mora da podrava mehanizam prekida, jer je on osnova vieprogramskog rada. Deo OS-a koji uvek mora da se nalazi u memoriji obino se naziva jezgro ili kernel. Funkcije koje koriste svi nivoi moraju se smestiti u jezgro OS-a. Ostali delovi se ubacuju u memoriju kada su potrebni i izbacuju kada vie nisu potrebni.ko risn ik

v i i s lo je v i u h ije ra rh ijs ko m m o d e lu

K E R N E L H A R D V E R

Slika 1. Hijerarhijski model OS-a

- 1 -

Priprema za izvoenje nastave iz predmeta Raunari

Vrste operativnih sistemaPostoje brojne podele OS-a na osnovu razliitih kriterijuma: prema broju korisnika i/ili procesa, prema nainu obrade poslova, prema distribuciji procesorske snage i ostalih resursa, prema nameni i funkcionalnim osobinama. Klasifikacija prema broju korisnika i procesa Prema broju korisnika, OS se dele na: jednokorisnike (singleuser) viekorisnike (multiuser) Jednokorisniki sistemi obezbeuju virtuelnu mainu za samo jednog korisnika. To su rauinarski sistemi prilagoeni za jednu funkciju ili je re o slabijim i jeftinim konfiguracijama tipa mikroraunara.Uglavnom ih karakterie jeftin hardver, solidna pratea programska podrka, jednostavan sistem datoteka, jednostavan U/I sistem. Viekorisniki sistemi su kvalitetni OS koji zahtevaju jae hardverske konfiguracije. Tipian viekorisniki OS je UNIX, koji obezbeuje simultani pristup za vie korisnika istovremeno, pri emu korisnici pristupaju sistemu preko posebnih terminala. Prema broju simultanih aktivnosti tj. prema broju procesa koji se mogu izvravati paralelno ili kvaziparalelno, operativni sistemi se mogu podeliti na: jednoprocesne (singletasking, singleprocess) vieprocesne (multitasking, multiprocess) Na osnovu kombinovanog kriterijuma mogu se izdvojiti tri vrste operativnih sistema: jednokorisniki jednoprocesni (single-user, singletasking) kao to je MS-DOS jednokorisniki vieprocesni (single-user, multitasking) kao to su OS/2 i MS Windows 3.1/9x/Me viekorisniki vieprocesni (multiuser, multitasking) kao to je UNIX, ali uslovno se mogu prihvatiti i MS Windows 2000/XP/2003 ukoliko obezbeuju terminalske usluge Klasifikacija prema nameni i nainu obrade poslova Prema nameni, operativni sistemi se dele na: OS opte namene OS specijalne namene (slue za upravljanje procesima) Prema nainu obrade poslova OS se dele na: Sistemi sa grupnom obradom (batch) Interaktivni sistemi Kombinovani sistemi

Sistemi sa grupnom obradom (batch) Grupna (serijska, paketna) obrada je takav nain rada raunara u kome korisnici predaju svoje poslove na izvrenje posredstvom ulaznih jedinica i koji se zatim odvijaju jedan za drugim u nizu, pri emu korisnik nema mogunost komuniciranja sa svojim poslom

- 2 -

Priprema za izvoenje nastave iz predmeta Raunari

Interaktivni sistem Interaktivne sisteme (time-sharing sistemi) karakterie postojanje terminala za svakog korisnika, preko kojih korisnici zadaju zadatke i poslove i komuniciraju sa svojim poslovima. Paralelnost u radu se postie tako to se svakom korisnikom programu dedeljuje 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 zavrio sa radom ili nije , a procesor se dodeljuje sledeem procesu u redu ekanja. Kombinovani sistem Kombinovane sisteme karakterie mogunost istovremenog obavljanja interaktivnih poslova i paketne obrade. Npr korisnik moe u pozadini pokrenuti nekoliko vremenski zahtevnih poslova koji ne zahtevaju interakciju sa njim, a ok eka moe itati elektronsku potu ili Web stranice. Klasifikacija prema funkcionalnim osobinama raunarskog sistema Prema funkcionalnim osobinama raunarskog sistema za koji su namenjeni, OS se dele u sledee kategorije: OS za velike raunarske sisteme (mainframe systems) OS za sisteme sa deljenim vremenom (time-sharing systems) OS za stone raunare (desktop systems) OS za vieprocesorske sisteme (multiprocessor systems) Mreni operativni sistemi (network OS) Distribuirani sistemi (distributed systems) OS za upravljanje u realnom vremenu (real-time systems) OS za velike raunarske sisteme Na velikim raunarskim sistemima (mainframe system) prvi put su se pokretale mnoge komercijalne i naune aplikacije. U svoje vreme bile su to fiziki ogromne maine kojima se upravljalo preko konzole. Zajedniki ulazni ureaji su bili itai buenih kartica i magnetne trake, a izlazni takoe buene kartice , trake ili tampai. Uvodi se tehnika multiprogramiranja, a sa njom i automatsko sekvenciranje poslova, koje bez operatera prebacuje kontrolu sa jednog posla na drugi. Da bi OS mogao da funkcionie, njegov osnovni deo mora da bude uvek u memoriji. Taj deo bira posao koji e se trenutno izvravati. Po zavretku posla ili nakon blokade zbog ekanja na I/O operacije, OS opet preuzima upravljanje i dodeljuje kontrolu drugom poslu. OS sistemi za sisteme sa deljenim vremenom Sistemi sa deljenim vremenom nastali su kao specijalna klasa velikih sistema u kojoj je svakom korisniku omoguena on-line komunikacija sa svojim poslom i operativnim sistemom. Vreme odziva se uvodi kao kriterijum za ocenu efikasnosti ove klase sistema. Opet imamo tehniku multiprogramiranja to znai vie 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 saeka svoje novo vreme. Ove sisteme delimo na dve posebne klase: upitne sisteme (file interrogation systems) i transakcione sisteme (transaction processing) Kod upitnog sistema, kao to su razni informacioni sistemi koji rade sa velikim bazama podataka, veoma je bitno da vreme odziva za postavljeni upit bude veoma kratko. Transakcioni sistemi su relativno slini upitnim s tim to se kod njih esto (npr nekoliko puta u sekundi) modifikuju baze podataka. Primer su sistemi za rezervaciju karata i bankarsko poslovanje. Aurnost baze podataka je za transakcione sisteme veoma bitna.

- 3 -

Priprema za izvoenje nastave iz predmeta Raunari

OS za stone raunare Stoni raunari (desktop systems) jesu mali raunarski sistemi namenjeni jednom korisniku i dostupni po pristupanim cenama. Ovu klasu karakterie vie vrsta operativnih sistema (DOS, MS Windows, Novell NetWare, UNIX, Linux) OS za vieprocesorske sisteme Vieprocesorski sistemi (multiprocessor systems) jesu sistemi sa vie procesora koji su vrsto povezani zatvorenim komunikacionim linijama a nalaze se u istom kuitu. Pominju se pod imenom paralelni sistemi. Procesori dele istu memoriju i sistemski asovnik. Komunikacija i sinhronizacija izmeu procesora se obavlja preko deljive memorije. Prednosti vieprocesorskih sistema su poveanje brzine, ekonominosti i pouzdanosti. to se tie poveanja brzine, N procesora bi u idealnom sluaju radilo N puta bre, ali je zbog meuprocesorske sinhronizacije to poveanje manje od N. Ekonominost se postie zato to se dele isti hardverski resursi, memorija, asovnik, DMA kanali, prekidni kontroleri i jedan izvor napajanja. Poveanje pouzdanosti se postie tako to e sistem nastaviti da radi i ukoiko otkae jedan ili vie procesora. Postoje 2 koncepta za realizaciju vieprocesorskih sistema: simetrino multiprocesiranje (symmetric multiprocessing, SMP) i asimretino multiprocesiranje (asymmetric multiprocessing). U sluaju simetrinomg multiprocesiranja svaki procesor izvrava istu kopiju operativnog sistema, pri emu te kopije komuniciraju jedna sa drugom kad god je to potrebno. Svi procesori su ravnopravni, pa nema odnosa nadreeni/podreeni. U idealnom sluaju svakom procesoru se dodeljuje jedan proces i oni se izvravaju nezavisno, bez slabljenja performansi. Veina modernih operativnih sistema podrava SMP. U sluaju asimetrinog multiprocesiranja svakom procesoru je dodeljen specifian posao. Postoji jedan glavni procesor (master) koji potpuno kontrolie ceo sistem i koji dodeljuje poslove ostalim procesorima (slave). Mreni OS Mreni OS obezbeuju okruenje u kome korisnici sa svojih lokalnih maina mogu pristupiti resursima udaljenih maina na dva naina: procedurom daljinskog prijavljivanja na sistem (remote login) ili razmenom datoteka sa u udaljenim sistemom (fremote file transfer). Posebnu, mnogo kvalitetniju klasu mrenih operativnih sistema predstavljaju distribuirani sistemi, kod kojih se gubi koncept lokalne i udaljene mree. Distribuirani OS Distribuirani sistemi predstavljaju kolekciju procesora tj raunara koji ne dele zajedniki memoriju i sistemski asovnik. Umesto toga svaki procesor tj raunar ima sopstvenu lokalnu memoriju, a meusobna komunikacija se ostvaruje putem mree realizovane kao LAN ili WAN. Osim podatka, datoteka i tampaa distribuiraju se i prcesi. etiri glavne prednosti distribuiranih sistema su deljenje resursa, ubrzavanje izraunavanja, pouzdanost i komunikacije. Distribuirani sistemi zahtevaju mrenu infastrukturu i mogu biti realizovani kao klijent/server ili kao ravnopravni raunarski sistemi koji dele resurse na mrei (peer-to-peer systems). U klijent/server arhitekturi postoje raunari koji predstavljaju servere i raunari koji koriste njihove usluge klijenti. OS za upravljanje u realnom vremenu Sistemi za upravljanje u realnom vremenu (real-time systems) spadaju u klasu specijalnih oprativnih sistema. Glavna karakteristika ovih sistema je davanje odziva u propisanom vremenskom intervalu i precizno definisana vremenska ogranienja u kojima se moraju dogoditi odzivi. Glavni izvori podataka su senzorski ureaji, razni prekidai, AD i DA konvertori. To su sistemi koji kontroliu aplikacije specijlane namene , kao to su: specijalni grafiki sistemi, sistemi za medicinsku grafiku,

- 4 -

Priprema za izvoenje nastave iz predmeta Raunari

sistemi za industrijsku kontrolu. Dele se na vrste sisteme za rad u realnom vremenu i meke sisteme za raad u realnom vremenu. vrsti realni sistemi garantuju da e se svi vani poslovi obaviti na vreme. Po pravilu, nemaju sekundarnu memoriju, tj diskove, jer najee rade u tekim uslovima, a kompletan kd i operativnog sistema i aplikacije se uva u ROM memoriji. Sam operativni sistem je ogranien, tako da mnoge funkcije operativnih sistema opte namene ne postoje. Meki realni sistemi su manje zahtevni i obezbeuju 2 klase procesa, a to su obini procesi i procesi u realnom vremenu koji imaju apsolutni prioritet. To je meavina sistema za rad u relanom vremenu i operativnih sistema opte namene. Meki realni sistemi su sve vrste UNIX i Linux sistema, zatim Windows 2000/XP/2003.

Opti pregled strukture operativnih sistemaUpravljanje osnovnim resursima raunarskog sistema obezbeuje vie funkcionalnih grupa programa namenjenih za: Upravljanje procesorom Upravljenje memorijom Upravljanje ulazom i izlazom Upravljanje podacima Upravljanje sekundarnom memorijom Umreavanje Zatitu Korisniki interfejs

Koncepcije projektovanja operativnih sistemaU nastavku teksta opisane su koncepcije projektovanja OS, a to su monolitna organizacija, slojevita, organizacija i arhitektura mikrojezgra.

Monolitni sistemiU prolosti su monolitni sistemi predstavljali najeu organizaciju OS-a. (velika zbka big mess). Onje realizovan kao skup procedura koje se po potrebi mogu meusobno pozivati , bez ikakvih ogranienja. Korisniki programi upotrebljavaju service operativnog sistemana sledei nain: parametri sistemskog poziva se smetaju na odreena mesta (registri procesora, stek), nakon ega sledi pozivanje jezgra operativnog sistema. Ova operacija prebacuje procesor iz korisnikog reima u sistemski reim rada i kontrolu predaje operativnom sistemu. U sistemskom reimu rada dostupne su neke komande procesora kojima se ne moe pristupiti iz korisnikog reima. Posle pozivanja jezgra, OS preuzima kontrolu i na osnovu parametara poziva odreuje koju sistemsku proceduru treba pozvati. Nakon izvrenja procedure , kontrola se vraa korisnikom programu. Operativni sistem ima sledeu strukturu, sastavljenu od 3 osnovna skupa programa: Glavni program koji obrauje sistemske pozive Skup sistemskih procedura koje se pozivaju prilikom sistemskih poziva Skup pomonih procedura koje koriste sistemske procedure

- 5 -

Priprema za izvoenje nastave iz predmeta Raunari

Slojevita (hijerarhijska) organizacijaU slojevitoj realizaciji (layered system), OS se deli na razliite slojeve. Slojevi su organizovani hijerarhijski: svaki sloj moe da poziva samo funkcije niih slojeva. Prvi slojeviti operativni OS, THE (Technische Hogeschool Eindhoven, E.W. Dijkstra), sastojao se od 6 slojeva. Slojevi od 0 do 3 predstavljaju jezgro operativnog sistema i rade u sistemskom reimu: Nulti sloj upravlja procesorom, tj dodeljuje procesor razliitim procesima Prvi sloj upravlja memorijom, tj dodeljuje potrebnu memoriju procesima Drugi sloj upravlja komunikacijom izmeu razliitih procesa i komandnog interpretera Trei sloj obavlja ulazno-izlazne operacije Na etvrtom sloju rade korisniki programi, koji se ne brinu o dodeli procesora, dodeljivanju memorije, komandnom interpreteru, I/O operacijama sve to obavljaju nii slojevi. Znai: OS monolitne strukture sastoji se od skupa procedura bez ikakvog grupisanja ili hijerarhije OS slojevite strukturedeli se na vie slojeva od kojih svaki ima tano odreenu funkciju i oslanja se iskljuivo na funkcije niih slojeva, kojima pristupa pomou poziva slinih sistemskom pozivu Generalno, slojeviti OS deli se na odreeni broj slojeva od kojih se svaki gradi na vrhu prethodnog sloja. Najnii sloj (layer 0) predstavlja hardver, dok je najvii (layer N) korisniki interfejs. Sa ovakvim modularnim konceptom, slojevi koriste iskljuivo funkcije i usluge niih slojeva. Slojeviti OS dozvoljava pozivanje (korienje) operacija stvaranja i unitavanja procesa samo iz sloja koji se u hijerarhiji nalazi iznad svih slojeva operativnog sistema. To znai da je postojanje procesa iskljuivo vezano za korisniki sloj. Iako su procesi locirani u korisnikom sloju, oni su meusobno razdvojeni zahvaljujui injenici da svaki od procesa poseduje zaseban adresni prostor korisniki prostor (user space). Na istom principu se i zasniva i razdvajanje procesa i operativnog sistema. Ali, razdvajanje korisnikog prostora (user space) od adresnog prostora operativnog sistema tj sistemskog prostora (kernel space), spreava da se pozivi operacija operativnog sistema zasnivaju na korienju poziva potprograma. Zato je neophodno uvoenje posebnog mehanizma sistemskih poziva koji omoguuje prelazak iz korisnikog prostora u sistemski prostor radi pozivanja operacija operativnog sistema. Sistemski pozivi zahtevaju korienje specifinih asemblerskih naredaba i zbog toga se sakrivaju unutar sistemskih potprograma. Sistemski potprogrami obrazuju sistemsku biblioteku. Prema tome, pozivanje sistemskih operacija svodi se na pozivanje potprograma iz sistemske biblioteke. Sistemska biblioteka se isporuuje uz operativni sistem kako bi se koristila u postupku povezivanja. U toku povezivanja, biblioteki potprogrami se vezuju za objektni oblik korisnikog programa radi stvaranja izvrnog oblika korisnikog programa koji tako postaje spreman za saradnju sa OS. Sistemski pozivi Aplikacioni programi komuniciraju sa OS pomou sistemskih poziva (system call) tj preko operacija (funkcija) koje definie OS. Sistemski pozivi se realizuju pomou sistema prekida: korisniki program postavlja parametre sistemskog poziva na odreene memorijske lokacije ili registre procesora, inicira prekid, operativni sistem preuzima kontrolu, uzima parametre, izvrava traene radnje, rezultat stavlja na odreene memorijske lokacije ili u registre i vraa kontrolu programu. Sistemske pozive esto podrava i hardver tj procesor, na taj nain to razlikuje 2 reima rada: korisniki reim (user mode) i sistemski reim (supervisor mode). Korisniki programi mogu iskljuivo da rade u korisnikom reimu rada procesora, sistemski reim rada je predvien za operativni sistem. Prilikom sistemskih poziva procesor prelazi iz korisnikog reima rada u sistemski, a vraa se u korisniki reim posle obrade poziva. Sistemski pozivi obezbeuju interfejs izmeu programa koji se izvrava i operativnog sistema. Generalno, realizuju se pomou asemblerskog jezika, ali i C i C++ takoe omoguavaju realizaciju sistemskih poziva. Program koji se izvrava moe proslediti parametre operativnom sistemu na tri naina:

- 6 -

Priprema za izvoenje nastave iz predmeta Raunari

Prosleivanjem parametara u registre procesora Postavljanjem parametara u memorijskoj tabeli, pri emu se adresa tabele prosleuje u registre procesora Postavljanjem parametara na vrh steka (push), koje oprativni sistem skida (pop)

Arhitektura mikrojezgraMikrojezgro (microkernel) 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 tzv korisniki prostor (user space). Korisniki moduli meusobno komuniciraju slanjem poruka (message passing). U dobre osobine arhitekture mikrojezgra spadaju: Jednostavno proirivanje i optimizacija jezgra Jednistavno dodavanje novih modula bez uticaja na osnovno jezgro Jednostavna prenosivost na drugu raunarsku arhitekturu Vea pouzdanost (manje koda se izvrava u reimu jezgra) Vea sigurnost

- 7 -