Os ideo

36

Transcript of Os ideo

Page 1: Os ideo
Page 2: Os ideo

Sistemski softver je opšti naziv za svaki računarski program koji je namenjen da omogući računaru samo pokretanje i izvršavanje osnovnih funkcija. Sistemski softver je zadužan za upravljanje pojedinačnim hardverskim delovima. Sistemski softver izvršava zadatke kao što je prijenos podataka sa memorije na disk, ispisivanja teksta na ekranu i tako dalje.

Sistemski softveri su:• Operativni sistemi• Drajveri• Programski alati• Kompajleri• Asembleri

Aplikativni program je namenjen rešavanju konkretnih problema korisnika i

izradjuje ih sam korisnik

(programer)

Page 3: Os ideo

Pod pojmom računarski resursi podrazumevamo SVE ŠTO JE PROGRAMU POTREBNO ZA RAD.

HARDVERSKI resursi procesori, operativna memorija, ulazno/izlazni uređaji, ...

SOFTVERSKI resursi programi, podaci (fajlovi),...

Page 4: Os ideo

System and Application Programs

Operating System

OS (operativni sistem) je skup sistemskih programa koji služi za upravljanje računarskim resursima i obezbeđuju interfejs ka korisniku.

Hardware

User 1 User 2 User n

Compile Text processor Database system

Page 5: Os ideo

Operativni sistem je obezbeđuje korišćenje HARDVERA.

Hardver računara predstavlja “sirovu” računarsku snagu, a zadatak OS je da hardverske mogućnosti učini dostupnim i udobnim za korisnika.

Dizajn i izrada OS je usko povezana sa hardverom kao osnovom na kojoj se operativni sistem izgrađuje, pa zato proizvođači hardvera često i proizvode operativne sisteme.

Korisnik vidi OS preko jezika OS (komandni jezik, kontrolno-upravljački jezik), a većina poslova koje obavlja OS za korisnika je nevidljiva, tj. on o njima ne mora voditi računa niti ih poznavati.

Page 6: Os ideo

Operativni sistem čine :

o KERNEL (jezgro) – program koji obavlja osnovne funkcije OS i uvek se nalazi u memoriji.

o Skup uslužnih sistemskih programa.

o SHELL (školjka) – komandni ili grafički korisnički interfejs (GUI) prema funkcijama OS.

Prema današnjim shvatanjima operativni sistem obuhvata sve ovo i još:

• luksuzan GUI• skup uslužnih aplikativnih programa• programi za Internet usluge• ...Dakle sve ono što proizvođač isporuči pod tim nazivom,...

Page 7: Os ideo

Najniži nivo svakog operativnog sistema je kernel (jezgro)

Kernel je prvi sloj softvera koji se učitava u računarsku memoriju pri pokretanju.

Kao prvi softverski sloj, on obezbeđuje svom ostalom softveru koji se potom učita u operativnu memoriju, zajedničke usluge jezgra.

Osnovne zajedničke usluge koje pruža jezgro su: pristup diskovima, upravljanje memorijom, upravljanje procesima pristup ostalim računarskim uređajima.

Page 8: Os ideo

Programi međusobno komuniciraju kroz aplikativni programski interfejs (API), slično kao što ljudi sa računarom komuniciraju kroz korisnički interfejs.

Ovo posebno važi u komunikaciji između korisničkih programa i operativnog sistema.

Zajedničkim uslugama jezgra operativnog sistema korisnički programi pristupaju kroz API. Time operativni sistem omogućuje komunikaciju između softvera i hardvera, to jest, programa i uređaja.

Page 9: Os ideo

Karakteristike OS su osobine koje OS ispoljava pri upotrebi.

Neke od osnovnih osobina su:

o Paralelizam – istovremenost (Concurrency)o Deljenje resursa (Sharing).o Pouzdanost (Reliability)o Sigurnost (Security)o Upotrebljivost (Usability)o Modularnost (Modularity)

Page 10: Os ideo

o Paralelizam

Paralelizam u radu podrazumeva uporedno odvijanje više procesa u računarskom sistemu. Ovu karakteristiku poseduju oni OS koji su u stanju da odjednom započnu rešavanje više zadataka i omoguće njihovo istovremeno odvijanje. Sa strane korisnika, izvršava se više programa istovremeno, ali sa interne strane računarskog sistema (procesora) u datom trenutku izvršava se tačno jedan proces.

(proces je programa u stanju izvršavanja)

Page 11: Os ideo

Deljenje resursa (Sharing).

Deljenje resursa posledica je paralelizma koji postoji u računarskom sistemu. Razume se, deliti se mogu samo resursi kojima to njihova konstrukcija dopušta.

Uređaji mogu biti: - deljivi (sharable) kao npr. operativna memorija jer može više procesa istovremeno da bude smešteno u njoj; - nedeljivi (nonsharable) kao npr. disk jer ne može više procesa da istovremeno pristupa disku (ali nijedan proces ne “drži” disk sve vreme izvršavanja nego između dva uzastopna pristupa istog procesa može biti proizvoljan broj pristupa drugih procesa) i - monopolski (dedicated) su takođe nedeljivi, ali kod njih između uzastopnih pristupa jednog procesa ne sme biti pristupa drugih procesa (npr. Štampač, Skener, ...), tj. oni se ne oslobađaju

dok proces sa njima ne završi.

Page 12: Os ideo

Pouzdanost (Reliability)

Pouzdanost je karakteristika OS koja govori o učestalosti grešaka ili zastoja. Pouzdanost sistema zavisi ne samo od operativnog sistema, već i od spoljašnjih događaja i zahteva poput: režima korišćenja, konfiguracije sistema, zahteva korisnika i slično.

Nprimer kod nekih real time sistema neophodno je obezbediti neprekidno pouzdano funkcionisanje bez havarijskih situacija ili prekidanje kontrole pri otkazu pojedinih uređaja.

Page 13: Os ideo

Sigurnost (Security)

Sigurnost sistema je osobina koja omogućava OS da zaštiti od neovlašćenog pristupa one delove u računarskom sistemu koje korisnik želi da zaštiti. Najčešće se radi o zaštiti podataka i programa. Operativni sistem mora da zaštiti i samog sebe od ostalih programa u sistemu.

Page 14: Os ideo

Upotrebljivost (Usability)

Upotrebljivost je karakteristika koja podrazumeva da se funkcije operativnog sistema moraju što jednostavnije koristiti.To se pre svega odnosi na komunikaciju između OS i korisnika, odnosno na kontrolno upravljački jezik. Međutim, pod upotrebljivošću OS podrazumevamo i druge aspekte korišćenja kao što su: podržavanje raznih režima rada, mogućnost izvršenja više programa, različite mogućnosti pristupa i slično.

Page 15: Os ideo

Modularnost (Modularity)

Modularnost je karakteristika koja ukazuje na modularan pristup izgradnji samog operativnog sistema.OS je NAPRAVLJEN (programiran) od delova – MODULA

Ova karakteristika omogućava proizvođaču da ga modifikuje u delovima koje treba ili želi da promeni, a da se pri tom ne menja čitav sistem, a takođe i samom korisniku da ga nadograđuje.

Page 16: Os ideo

Funkcije sistema su zadaci koje sistem mora da realizuje.

OS su napravljeni (programirani) tako da predstavljaju skup modula.

Modul je posebna programska celina koja realizuje jednu funkciju OS.

Pojedini moduli mogu funkcionisati nezavisno jedan od drugog, ali i pozivati jedan drugog. Funkcije modula se nadovezuju jedna na drugu, a obično postoji modul koji koordinira akcije svih ostalih.

Page 17: Os ideo

Osnovne funkcije koje moraju biti rešene u svakom OS su funkcije upravljanja resursima:

• Upravljanje procesorima• Upravljanje operativnom memorijom• Upravljanje perifernim uređajima• Upravljanje podacima

Page 18: Os ideo

Upravljanje procesorima

Radi sledeće: • odlučuje kojem procesu će dodeliti procesor za

izvršavanje• koliko dugo sme proces držati procesor, • koliko procesa može konkurisati za procesor i sl.

Page 19: Os ideo

Upravljanje operativnom memorijom

Je vežano za efikasno korišćenje operativne memorije.

Ono je neraskidivo vezano sa dodelom procesora i upravljanjem perifernim uređajima.

Page 20: Os ideo

Upravljanje perifernim uređajima

odnosi se na celokupan rad oko ulaznih, odnosno izlaznih uređaja od njihovog dodeljivanja do izvršavanja zahteva sa pojedinim ulazno/izlaznim operacijama.

Upravljanje podacima odnosi se na rukovanje podacima na spoljašnjim memorijama : način smeštanja na eksterne memorije, pristup podacima, upisivanje i čitanje podataka iz datoteka, kreiranje, održavanje i brisanje datoteka, upravljanje eksternim memorijama i drugo.

Page 21: Os ideo

Zajedničko za module koji realizuju navedene funkcije OS je:

• vođenje evidencije o resursu• donošenje odluke o dodeli resursa• alokaciju (zauzimanje) resursa i

• dealokaciju (oslobađanje) resursa

Page 22: Os ideo

Da bi realizovao upravljanje računarskim resursima OS koristi razne hardverske komponente računarskog sistema. Najvažnije od njih su:

kontroleri ulazno/izlaznih uređaja sistem prekida časovnik realnog vremena privilegovan način rada.

Page 23: Os ideo

Kontroleri ulazno/izlaznih uređaja : OS koristi kontrolere ulazno/izlaznih uređaja da bi realizovao I/O operacije za korisnika. Kontroleri mogu biti: - obični ( prenos podataka sa memorijom se obavlja preko procesora) - sa direktnim pristupom memoriji – DMA (prenos podataka sa memorijom zaobilazi procesor i vrši se preko DMA sklopa i njenog izdvojenog kanala za prenos.

Kanal (channel) ima mogućnost direktnog pristupa memoriji sa jedne strane, a sa druge je priključen na kontrolnu jedinicu (DMA) na koju može biti priključeno više I/O uređaja. Kanala, naravno, može biti više u sistemu, a dele se na dve vrste: selektorski (rade sa brzim jedinicama, tj. eksternim memorijama, i selektuju jednu od jedinica koju zatim poslužuju u određenom vremenskom intervalu) i multiplekserski (rade sa sporim jedinicama, npr. štampačima, ali mogu simultano da poslužuju više jedinica).

Page 24: Os ideo

Prekidi:

OS reaguje na prekide (interrupts). Obrada prekida su sastavni deo OS, tj. jezgra (potrebni su samo delovi u jezgru jer deo prekida može obraditi proces ili čak korisnički program; međutim, neki delovi se i neophodno nalaze u jezgru jer mora neko da "aktivira" proces).

Page 25: Os ideo

Časovnik: (čekanje)

To je zapravo jedan običan programabilan brojač u koji se upisuje vrednost, a zatim (nezavisno od CPU) dekrementira i pri dolasku na nulu izazove prekid.

Postoji i rešenje da časovnik bude sastavni deo CPU.

Page 26: Os ideo

Privilegovani režim rada:

OS radi u sistemskom - privilegovanom režimu rada (sve naredbe izvršive), a korisnički procesi se izvršavaju u korisničkom (neprivilegovanom) režimu rada. Tu se neke naredbe ne izvršavaju (npr. za promenu režima rada, za rad sa privilegovanim registrima, za I/O...) jer bi inače OS mogao ostati bez "kontrole".

Page 27: Os ideo

Postoje brojne podele operativnih sistema na osnovu različitih kriterijuma: prema broju korisnika i/ili procesa, prema načinu obrade poslova, prema distribuciji procesorske snage i ostalih resursa, prema nameni i funkcionalnim osobinama.

Monokorisnički (single user): Čine najjednostavniju klasu OS, to su OS za računare sa samo jednim korisnikom na kojima se u datom trenutku izvršava samo jedan program (npr. MS-DOS)

Multikorisnički monoprogramski:

U takvim OS više korisnika koristi usluge istog programa (npr. bankarski sistemi, rezervacija avionskih karata...).

Page 28: Os ideo

Multikorisnički multiprogramski:

To je najopštija klasa OS. U takvim OS različiti korisnici izvršavaju različite programe. Izvršavanje je konkurentno (kvaziparalelno). Znači, više programa je istovremeno prisutno u memoriji. Multiprogramski OS je uvek multiprocesni jer se za svaki program koji učestvuje u multiprogramskom režimu rada formira bar jedan proces. Nasuprot tome, monoprogramski sistem ne mora biti monoprocesni jer se program može razbiti na delove i za svaki od tih delova formirati proces. Zbog toga se pojavljuju i Monokorisnički multiprocesni OS.

Page 29: Os ideo

Multiprogramiranje

je uvedeno da bi se povećala iskorišćenost resursa, a time i celog računarskog sistema.Suština multiprogramskog rada obuhvata paraleni rad periferijskih uređaja i procesora (centralnog, tj. CPU). Ideja je da se CPU dodeli drugom programu (procesu) dok periferijska jedinica radi za neki program (proces), tj. dok on čeka na I/O. Time možemo jedan program da paralelizujemo u više procesa i izvršavanje će se ubrzati (ukupno vreme će biti manje) jer dok jedan proces (deo programa) čeka, drugi proces se izvršava. Npr. dok korisnik unosi znake sa tastature (prilično sporo u odnosu na operacije sa diskom), može se, pri čekanju da znak bude pritisnut, CPU koristiti za, recimo, čitanje ili pisanje u cilju keširanja diska.

Page 30: Os ideo

Savremeni OS su u velikom broju slučajeva sistemi sa raspodeljenim vremenom (time-sharing). To se odnosi prvenstveno na multiprogramske sisteme. Da jedan program (odnosno jedan korisnik), ne bi uzurpirali procesor predviđeno je kvantovanje, tj. raspodela vremena: svakom programu, tj. procesu se dodeljuje kvant vremena. Kada on istekne procesor se dodeljuje drugom procesu. Ovo se realizuje korišćenjem posebnog intervalnog časovnika u koji se upisuje kvant vremena kada proces dobije CPU. Dok se proces izvršava, časovnik se autonomno dekrementira dok ne dođe na nulu. Tada se generiše prekid. OS zatim dodeljuje CPU drugom procesu. Savremeni sistemi raspodeljenog vremena su po pravilu multiprogramski, odnosno multiprocesni.

Page 31: Os ideo

OS u realnom vremenu

Kod ovih sistema zahteva se reakcija u nekom fiksiranom vremenskom intervalu. U suprotnom slučaju mogu biti izgubljeni neki vitalni podaci i nastati katastrofalne posledice. To su uglavnom sistemi koji upravljaju procesima ili mašinama, pa je vremenski interval odgovora određen karakteristikama procesa, odnosno mašine. Dakle, zahteva se reakcija u zadatom intervalu koji ne mora uvek biti tako mali. Većinom su to namenski (dedicated) sistemi. Dešava se često da nemaju diskove nego podatke uzimaju sa mernih uređaja. Npr. upravljanje raketama je jedan takav sistem.

Page 32: Os ideo

Mrežni operativn isistemi

Mrežne operativne sisteme karakterišu računari povezani u mrežu. Ovi računari zadržavaju relativno visok stepen autonomije – svaki računar ima svoj operativni sistem – a u mogućnosti su da međusobno razmenjuju podatke pomoću odgovarajućih protokola. Operativni sistemi mogu biti različiti, potreban je samo zajednički protokol, tj. zajednički jezik za komunikaciju. Korisnik jednog računara može se prijaviti na drugi, preuzeti neke datoteke itd. Korisnik zna da nije sam u mreži, tj. svestan je različitih računara s kojima komunicira preko mreže..

Page 33: Os ideo

Distributivni operativn isistemi

su 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. Korisnici ovaj sistem vide kao jednoprocesorski sistem, ali se, u stvari, radi o operativnom sistemu namenjenom za rad s više procesora koji su fleksibilno povezani preko mreže. To znači da postoji više računara povezanih u mrežu, ali samo jedan operativni sistem, upravlja svim resursima u mreži. U pravom distribuiranom sistemu, korisnik ne treba da vodi računa o tome gde su smeštene njegove datoteke ili gde se izvršava njegov program – to je posao distribuiranog operativnog sistema. Distribuirani operativni sistem se, dakle, ponaša kao jedinstvena celina. Korisnik ne mora znati da je umrežen s drugim računarima – on ceo sistem vidi kao jedan računar.

Page 34: Os ideo

Da bi se upravljalo složenošću operativnih sistema i da bi se omogućilo njihovo brže projektovanje, lakše modifikovanje i nadogradnja, bilo je neophodno dobro osmisliti strukturu softvera. Korišćenje modularnog pristupa kod OS čiji kodovi imaju više miliona instrukcija nije bilo dovoljno, pa su moduli grupisani u hijerarhijske nivoe. Generalno, možemo reći da jednostavni operativni sistemi mogu imati monolitnu strukturu, a veći slojevitu hijerarhijsku realizaciju.

Monolitni sistemi

Jednostavni mali OS imaju monolitnu strukturu, tj. predstavljaju skup programa koje poziva korisnički program i koji se međusobno pozivaju, 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. Ova operacija prebacuje procesor iz korisničkog režima rada u sistemski režim rada i kontrolu predaje operativnom sistemu. U sistemskom režimu rada dostupne su privilegovane komande 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.

Page 35: Os ideo

Slojevita (hijerarhijska) realizacija

Za veće OS takva struktura je nepogodna, pa se preporučuje slojevita struktura. Programi su grupisani u slojeve i numerisani 0, 1, 2... Pritom, moduli sa sloja n pozivaju samo module sa sloja n-1 (postoje i odstupanja, ali se trudi da ih bude malo).

Primer 1: 5-fajl sistem, 4-upravljanje I/O uređajima, 3-gornji nivo upravljanja procesima, 2-upravljanje operativnom memorijom, 1-donji nivo upravljanja procesima, 0-hardver. Iznad vrha ovoga su korisnički programi. Sve se ovo zove jezgro OS (kernel).

Primer 2: 4-file system, 3-upravljanje I/O uređajima, 2-upravljanje memorijom, 1- kernel (upravljanje procesima), 0-hardver. U najjednostavnijoj varijanti jezgro OS sadrži samo module koji upravljaju procesima. Nije svejedno šta je u jezgru jer, po pravilu, programi jezgra rade u privilegovanom dok svi ostali programi rade u korisničkom (neprivilegovanom) režimu.

Page 36: Os ideo

Klijent-server struktura Treći, najnoviji, pristup je klijent-server koncepcija. Funkcije OS realizuju se pomoću procesa koji se nazivaju serveri, a korisnički programi su klijenti (pozivaju te funkcije i dobijaju rezultate). Jezgro pritom služi samo za organizaciju komunikacija između klijenata i servera. Dakle, OS se deli u celine od kojih svaka servisira neku funkciju sistema kao npr. fajl servisi, terminal servisi ili memorijski servisi

Prednosti: ovakvog pristupa su: modularnost (npr, greška u fajl serveru onemogućava samo funkcije fajl servera, a ostatak operativnog sistema radi normalno), prilagodljivost distribuiranim sistemima (servisi mogu da budu obezbeđeni na udaljenim računarima) i mogućnost da se koriste podsistemi okruženja (tako npr. Windows 2000 može da izvršava aplikacije napisane za druge OS)..