48
6/17/2011 1 Operativni sistemi

Operativni sistemi - leda.elfak.ni.ac.rsleda.elfak.ni.ac.rs/education/PES/predavanja/2011/04 (PES... · Operativni sistem zadužen je da obavlja dva ... a u prvi plan su ... Tako

  • Upload
    vandung

  • View
    237

  • Download
    1

Embed Size (px)

Citation preview

6/17/2011

1

Operativni Operativni sistemi

6/17/2011

2

Podela softvera:

6/17/2011

3

Podela softvera:

korisnik

sistemski softveraplikativni softver

korisni čki prog.

korisni čki prog.

6/17/2011

4

Odnos korisnika i delova računara

6/17/2011

5

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

25

Hijerarhijski model operatrivnog sistema

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.