Post on 01-Feb-2018
6/17/2011
3
Podela softvera:
korisnik
sistemski softveraplikativni softver
korisni čki prog.
korisni čki prog.
6/17/2011
6
Ciljevi razvoja operativnih sistema su:
• Obezbedjenje udobnog rada • Obezbedjenje udobnog rada korisniku.
• Obezbedjenje efikasnijeg koriš´cenja raˇcunarskih resursa.
6/17/2011
7
Operativni sistem zadužen je da obavlja dva medusobno protivure čna zadatka, a zavisno od korisnika bitniji je jedan ili drugi zadatak:1. Prvobitna ideja pri stvaranju operativnih
sistema bila je da se što bolje iskoristi sam sistem(procesor i periferni uredjaji). Prvi ra čunari bili su veoma skupi tako da se težilo stvaranju takvih algoritama koji bi omogucili 100% iskoriš ćenja procesora . Iz ovog ugla operativni sistem se procesora . Iz ovog ugla operativni sistem se posmatra na njegovom najnižem nivou kada kao nadzornik pazi na disk, tastaturu, monitor ištampa č.2. Pad cena hardverskih komponenti u činio je ovu
preokupaciju manje zna čajnom , a u prvi plan su došle odgovornosti operativnog sistema na višem nivou, jer je on jedino sredstvo koje omogu ćava korisniku komunikaciju sa ra čunarom .
6/17/2011
8
Operativni sistem sačinjava skup algoritama koji pojedinim
Definicija:
algoritama koji pojedinim procesima dodeljuju sredstva potrebna za njihovo izvodjenje.
6/17/2011
9
Programi koji vode ra čuna o sredstvimapodeljeni su na slede će grupe :
- programi za upravljanje procesorom(procesorima),
- programi za upravljanje memorijom ,- programi za upravljanje uredjajima, - programi za upravljanje informacijama.
6/17/2011
10
Funkcije operativnog sistema:
- da prati i pamti stanje sredstava kojima upravlja,- da uskladjuje delovanje u smislu definisanja ko, kada, kako i koja dobija sredstva, - dodeljuje sredstva na zahtev , - dodeljuje sredstva na zahtev , - oslobadja sredstva na zahtev.
Na osnovu ovakvog posmatranja, operativni sistem može se definisati kao skup sistemskih primitiva ko je organizuju skup hardverskih komponenata u radnu celinu pogodnu za efikasno koriš ćenje.
6/17/2011
11
Tipovi operativnih sistema - redosled nastajanja i migracija koncepata u operativnim sist emima:
6/17/2011
12
� startovanje ra čunara
� zaštita sistema
� kontrola u mreži
� pristup Web-u
� startovanje ra čunara
� zaštita sistema
� kontrola u mreži
� pristup Web-u
� nadgledanje performansi i kućni nadzor ra čunara
� utvr ñivanje redosleda poslova i konfiguracija ureñaja
� nadgledanje performansi i kućni nadzor ra čunara
� utvr ñivanje redosleda poslova i konfiguracija ureñaja
� upravljanje memorijom
� upravljanje programima
� korisni čki interfejs
� upravljanje memorijom
� upravljanje programima
� korisni čki interfejs
Koje su funkcije operativnog sistema?
6/17/2011
13
Prvenstveni zadatak operativnih sistema danas je da omogu će programeru da se koncentri še na probleme struktura podataka koncentri še na probleme struktura podataka i programskih jezika, umesto da se bavi detaljima realizacije funkcionisanja pojedinog ra čunara .
6/17/2011
14
Iznad nivoa operativnog sistema slede nivoi programske podrške. Programska podrška se generalno može podeliti na
sistemsku (koja se bavi samim hardverom ) i
korisni čku (koja re šava probleme korisnika )korisni čku (koja re šava probleme korisnika )
Sistemsku programsku podršku čine komandni interpreter, prevodioci, interpreteri, editori, itd .
6/17/2011
15
Programska nadgradnja se, prema uslovnoj podeli, deli na korisni čke i polukorisni čke programe, i programske jezike
Korisni čki programi - procesori teksta, grafi čki editori , tabelarni programi i baze podataka .editori , tabelarni programi i baze podataka .
Polukorisni čki programi – CAD, programi namenjeni velikim TV i muzi čkim studijima ili firmama koje rade animirane filmove i reklame i generišu filmske trikove, ...
6/17/2011
16
Procesi su osnovni elementi koji se koriste pri gradji operativnog sistema . Operativni
Procesi
pri gradji operativnog sistema . Operativni sistem se sastoji od skupa asinhronih procesa koji moraju medjusobno da komuniciraju i sinhronizuju svoje aktivnosti.
6/17/2011
17
Proces
Svaki programski zadatak u izvodjenju naziva se procesom , a parcijalnim uredjenjem zadataka definisan je vrememski redosled iniciranja procesa. U svakom trenutku proces poseduje jednozna čno definisano trenutku proces poseduje jednozna čno definisano stanje, i može se posmatrati kao asinhrona sekvenci jalna aktivnost, koja nakon što je inicirana, nastavlja diskretnim koracima svoje delovanje sve do završetk a.
6/17/2011
18
Svaka pojedina čna aktivnost sistema može se prikazati kao proces . Tako se, na primer, korisni čki program pretvara u skup pocesa koji se mogu izvoditi sekvencijalno ili pak uporedno.
Na isti na čin se i svaka U /I operacija može posmatrati Na isti na čin se i svaka U /I operacija može posmatrati kao proces koji se izvodi delimi čno u procesoru, a delimi čno u periferijskom uredjaju. Proces se inicira U/I naredbom , a završava prekidnim signalom koji šalje U/I aredaj. Na osnovu ovakvog pristupa, U/I procesi mog u se posmatrati na isti na čin kao i unutarnji procesi.
6/17/2011
19
Pri uporednom izvodenju, više procesa takmi či se za dodeljivanje ograni čenog broja sredstava. Kada mu je dodeljen procesor, proces postavlja zahteve za sredstvima koja su mu potrebna za izvodjenje, a ako su ta sredstva trenutno zauzeta, proces prelazi u stan je čekanja. Pri tome se može dogoditi da proces nikada ne dobije zahtevano sredstvo, pošto sredstvo drže proc esi koji takodje čekaju na ispunjenje istih uslova koji nikako da se ostvare, itd...
6/17/2011
20
Zavisni i nezavisni procesi
Procesi su uporedni ako se njihovo izvodjenje vremenski preklapa. Dozvoljeno je uporedno izvodjenje procesa ako su akcije unutar njih nezavisne, tj. ukoliko izlazni p odaci(IP) jednog procesa ne predstavljaju ulazne podatke(UP) drugog procesa i obrnuto . (UP) drugog procesa i obrnuto .
6/17/2011
21
Zavisni i nezavisni procesi
Za nezavisnost procesa mora biti ispunjen uslov:
IPi ∩∩∩∩ (UPj ∪∪∪∪ IPj) = 0 iIPj ∩∩∩∩ (UPi ∪∪∪∪ IPi) = 0
Ako je IPi ∩∩∩∩ UPj ≠≠≠≠ 0 ili je IPj ∩∩∩∩ UPi ≠≠≠≠ 0 ili je pak IPi ∩∩∩∩IPj ≠≠≠≠ 0 , tada sadržaji IPi, IPj, IPi ∩∩∩∩ IPj zavise od IPj ≠≠≠≠ 0 , tada sadržaji IPi, IPj, IPi ∩∩∩∩ IPj zavise od redosleda izvodenja akcija procesa Pi i Pj te mogu d a poprime i razli čite vrednosti. Stoga razli čiti pristupi preklapanju akcija pojedinih procesa ne će biti funkcionalno ekvivalentni. Dakle, ako pojedine akcije (a i b) unutar posmatranih procesa nisu nezavisne, za njih se mora uvesti odgovaraju ći redosled delovanja, tj. mora biti ispunjen uslov a < b iii b > a.
6/17/2011
22
Primer:
a = x+y;b = z+1;c = a-b;d = c+l;
Naredbu c=a-b nije mogu će izvesti pre nego promenljive a i b dobiju odgovaraju će vrednosti. Takodje, naredbu d=c+1 mogu će je izvesti tek pošto promenljiva c dobije vrednost. Sa druge strane, naredbe a=x+y i b=z+1 mogu se izvoditi nezavisno jedna od druge.
6/17/2011
23
Sinhronizovanja procesa
Problemi sinhronizovanja procesa nastaju kao direktna posledica deljenja ograni čenog kao direktna posledica deljenja ograni čenog skupa sredstava izmedju uporednih procesa.
Medjusobna isklju čivost podrazumeva da se proces koji je pristupio zajedni čkom sredstvu ne sme prekidati.
6/17/2011
24
Kod takmi čenja više procesa za koriš ćenje ograni čenog skupa sredstava trebalo bi poštovati sledeća pravila:- u posmatranom trenutku sredstvo može koristiti samo jedan proces;- kada se istovremeno pojavi više zahteva za koriš ćenjem sredstva, ono će se dodeliti jednom od procesa za neki kona čan vremenski period ;od procesa za neki kona čan vremenski period ;- kada proces dobije sredstvo, mora ga predati u nekom kona čnom vremenu;- dok čeka dodelu sredstva, proces ne troši vreme procesoraMedusobno isklju čivanie izvodenja procesa u vremenu izražava se sa "operacije A i B ne smeju se izvesti istovremeno”.
6/17/2011
26
Operativni sistemi u principu dele na tzv. superstrukturu koja obuhvata grupu uporednih aktivnosti, i jezgro (kernel), čiji zadatak je da obezbedi uslove u kojima se zadatak je da obezbedi uslove u kojima se konkurentne aktivnosti mogu nesmetano odvijati.
6/17/2011
27
Sistemski programi mogu se podeliti na grupe :- Manipulisanje datotekama (fajlovima) . Ovi programi kreiraju, brišu1 kopiraju, preimenuju, štampaju i obavijaju i ostale sli čne operacije na datotekama.- Informacije o stanju . U toku izvodenja programa mogu se pojaviti zahtevi za ta čnim vremenom , preostalom koli činom slobodnog prostora u radnoj memoriji ili na disku , trenutnom broju korisnika memoriji ili na disku , trenutnom broju korisnika sistema i sl.- Podrška izvodenju viših programskih jezika .Prevodioci, asembleri i interpreteri za ve ćinu standardnih programskih jezika (Fortran, Cobol, Pascal, Basic) uglavnom su sastavni deo operativnog sistema. Osim toga, danas se uz operativne sisteme isporu čuju i prekompajleri, tekst-editori i tekst -procesori , grafi čki paketi , baze
6/17/2011
28
Jezgro (kernel)
Sve operacije definisane na procesima kontrolisane su od dela operativnog sistema koji se naziva jezgrom (core, nucleus, kernel). Jezgro predstavlja samo manji deo operativnog sistema , predstavlja samo manji deo operativnog sistema , ali je i naj češće u upotrebi. Stoga, jezgro se stalno nalazi u radnoj memoriji , dok se ostali delovi operativnog sistema (superstruktura) mogu po potrebi prebacivati sa spoljašnje memorije.
6/17/2011
29
Jezgro ima dva glavna zadatka
Ono simulira konkurentno izvodjenj e procesa na nivou superstrukture, a istovremeno predstavlja i medjuspoj sa hardverskom podrškom .
Procesi se izvode u kvaziparalelnom modu, dok jezgro rasporedjuje ograni čeni skup sredstava izmedu procesa koji čine superstrukturu i uskladjuje njihov rad.
6/17/2011
30
Uobičajene funkcije jezgra su:
- obrada prekida,- kreiranje i uklanjanje procesa,- promena stanja procesa,- rasporedjivanje procesa,- privremeno uklanjanje i ponovno aktiviranje proces a,- sinhronizacija procesa,- omogu ćavanje komuniciranja medju procesima ,- omogu ćavanje komuniciranja medju procesima ,- manipulisanje deskriptorom procesa,- podržavanje ulazno/izlaznih operacija,- podrška raspodeli radne memorije,- podrška organizovanju datoteka,- podrška mehanizmima za poziv procedura,- podrška odgovaraju ćim nadzornim funkcijama sistema,- itd...
6/17/2011
31
PROCESI
Jezgro
PozivProcedura AktiviranjeJezgra procesa
PrekidSat
P1 P2 P3 . . . Pn
Jezgro
Pristup jezgru
Jezgro
Procesor
SatPrekid Aktiviranje
U/I operacije
U/I1 U/I2 U/I3 . . . U/In
JezgroProcesor
6/17/2011
32
Izlaz iz jezgra rezultuje uvek aktiviranjem nekog od procesa. Ukoliko trenutno nema pripravnog procesa, aktivira će se latentni proces .proces .
6/17/2011
33
Uobičajeni sistemski pozivi su:
1. Kontrola procesakraj, prekidnapuni, izvedikreiraj proces, dovrši procesdefiniši svojstva procesa , pro čitaj svojstva definiši svojstva procesa , pro čitaj svojstva procesačekaj na istek vremenačekaj na pojavu dogadaja
6/17/2011
34
2. Rad sa datotekamakreiraj datoteku, izbriši datotekuotvori datoteku, zatvori datotekupro čtaj, upiši, postavi pokaziva č
definiši svojstva datoteke, pro čitaj svojstva datotekedatoteke
3 Upravljanje uredjajimazatraži uredaj, oslobodi uredjajpro čitaj, upiši, postavi pokaziva č
definiši svojstva, pro čitaj svojstva
6/17/2011
35
Ulaz_u_jezgro
Ulazna_operacija
Prepoznavanjezahteva
Operacija Operacija … Operacijajezgra jezgra jezgra
Izlaz_iz_jezgra
Izlazna_operacija
6/17/2011
36
Jezgro operativnog sistema je kontrolni program čiji zadatak je da odgovara na hardverske prekide i zahteve procesa na višim nivoima. Funkcije operativnog sistema mogu se koristiti ili putem operativnog sistema mogu se koristiti ili putem sistemskih programa ili putem poziva sistema.
6/17/2011
37
Sistemski pozivi predstavljaju medjuspoj izmedju korisni čkog programa u izvodjenju i operativnog sistema. Uobičajeno je da se ovi pozivi realiziraju u asemblerskom jeziku, a dele se u tri grupe:
- pozivi za kontrolu procesa ili poslova;- pozivi za manipulisanje uredjajima ili datotekama ;- pozivi za manipulisanje uredjajima ili datotekama ;- pozivi za pružanje informacija.
6/17/2011
38
Zadatak jezgra je da sredstva racionalno rasporedju je i da rešava sukobe koji nastaju kada se više procesa tak miči za isto sredstvo.Procedure jezgra koje vode ra čuna o sredstvima podeljene su u slede će grupe:- procedure za upravijanje memorijom- procedure za upravijanje procesorom (procesorima)- procedure za upravijanje uredajima- procedure za upravijanje informacijama- procedure za upravijanje informacijamaSvaka od ovih procedura vodi ra čuna o sredstvima, rasporedjuje ih, dodeljuje i oduzima na osnovu skup a unapred utvrdjenih pravila.Hardverska (fizi čka) sredstva uklju čuju procesor, memoriju i U/I uredjaje. Procesorom se upravija putem rasporedjiva ča, dok spoljašnjim uredjajima upravljaju posebni kontrolni programi, tzv. drajveri uredjaja ( device driver) .
6/17/2011
39
Upravljanje procesorom
Tokom svog postojanja proces prolazi kroz niz diskretnih stanja. Prelazak procesa iz jednog stanj a u drugo uzrokovan je razli čitim dogadjajima. Akcije koje omogu ćavaju da proces predje iz jednog stanja u drugo su :u drugo su :
- započni proces- izvršavaj proces- završi proces- istisni proces- čekaj
6/17/2011
40
Prelazak iz aktivnog stanja u pripravno stanje vrši se kada je isteklo vreme predvidjeno za izvodjenje pro cesa, ili kada proces sa višim prioritetom zahteva dodelu procesora.
Osnovni uzrok prelaska sistema iz aktivnog stanja u stanje blokiranosti i pripravnosti je vremenska stanje blokiranosti i pripravnosti je vremenska koordinacija. Proces je blokiran ukoliko postavi zahtev koji se u tom trenutku ne može ispuniti.
6/17/2011
41
Procedure rasporediva ča menjaju stanje procesa iz aktivnog u stanje čekanja, i iz stanja čekanja u pripravno stanje.
Zadatak jezgra je i da utvrdi za koje bi se sve pro cese ova promena stanja trebalo da sprovede. Mehanizmi jezgra na višim nivoima manipulišu flegovima regist ra stanja u kontrolnim strukturama podataka, prihvataj u i obradjuju programske i hardverske zahteve za prekid i obradjuju programske i hardverske zahteve za prekid i inicijalizuju nove procese. Pri tome se radi o prom eni konteksta odgovaraju ćeg procesa, ažuriranju povezanih lista i njihovom pretraživanju, kao i manipulisanju programskim nizom .
6/17/2011
42
PONOVO PRIVREMENO PRIVREMENO
RASPOREDI
PRIPRAVAN AKTIVAN
RASPOREDI
PONOVO PRIVREMENO PRIVREMENOAKTIVIRAJ UKLONI UKLONI
PRIVREMENOUKLONJEN
KREIRAJ
6/17/2011
43
Upravljanje memorijom
Problemi upravljanja memorijom nadovezuju se na upravljanje procesorom , jer je logi čno da se memorija dodeljuje samo onim procesima koji koriste procesor .
Savremeni operativni sistemi podržavaju koncept virtuelne memorije , koji omogu ćava korisniku da virtuelne memorije , koji omogu ćava korisniku da radnu i sekundarnu memoriju posmatra kao celinu.Dakle, za korisnika je memorija kantinualni adresni prostor u koji se smeštaju programi bez obzira da l i se oni trenutno nalaze u radnoj memoriji ili na dis ku. Procedure jezgra prebacuju informacije izmedju radne memorije i diska prema zahtevima procesa u izvodjenju.
6/17/2011
44
Upravljanje U /I uredjajima
Zahvaljuju ći sistemskim prekidima, operativni sistem je u stanju da pruži korisniku veliki broj usluga. Svoj zahtev za prekidom spoljašnji uredjaj šalje procesoru prek o sabirnice. Pre izvršavanja neke instrukcije, proces or proverava prekidnu liniju i ako pronadje zahtev za prekid, poziva sistemsku proceduru koja će upravljati tim poziva sistemsku proceduru koja će upravljati tim prekidom . Po povratku iz prekidne procedure, kontrola nad procesorom opet se predaje procesu koji se izvršavao pre zahteva za prekid, kao da se u medjuvremenu ništa nije dogodilo.
6/17/2011
45
P r o c e s i
OdgovoriZahtevi zaopsluživanje
Prekidi Upravljanjeperiferijama
JEZGRO
PERIFERIJA
6/17/2011
46
Strukture podataka su važan činilac u ve ćini operativnih sistema. Informacione strukture sastoje se od podataka potrebnih da bi se program izveo i kontrolnih struktura koje sadrže podatke o kontrolnih struktura koje sadrže podatke o trenutnom stanju sredstava potrebnih za izvodjenje procesa.
6/17/2011
47
Deskriptor procesa
Svaki proces je unutar jezgra predstavljen skupom podataka koji se naziva deskriptorom (context block) . U deskriptoru su sadržani svi bitni podaci o procesu, kao što su:jednozna čno ime procesatrenutno stanje procesatrenutno stanje procesaprioritet procesapokaziva či na memorijski prostor dodeljen procesupokaziva či na sredstva koja su dodeljena procesupodru čje programskog steka procesastanje i statistika rasporedjivanjaotvorene datotekeprivilegije procesa
6/17/2011
48
Takodje, u deskriptoru se mora predvideti i mesto z a pokaziva če pomo ću kojih se deskriptori povezuju u složenije strukture podataka kao što su liste i rep ovi.
Rasporedjivanje procesa zahteva često pomicanje i preuredjivanje razli čitih lista čiji sadržaj su mali, nenegativni celi brojevi koji predstavljaju nenegativni celi brojevi koji predstavljaju identifikatore procesa. Od toga kako se organizuje sadržaj deskriptora procesa, u velikoj meri zavisi efikasnost jezgrovih procedura.