Os ideo

1,359 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,359
On SlideShare
0
From Embeds
0
Number of Embeds
389
Actions
Shares
0
Downloads
28
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Os ideo

  1. 1. Aplikativni program je namenjen rešavanju konkretnih problema korisnika i izradjuje ih sam korisnik (programer)Sistemski softver je opšti naziv za svaki računarski program koji jenamenjen da omogući računaru samo pokretanje i izvršavanje osnovnihfunkcija.Sistemski softver je zadužan za upravljanje pojedinačnim hardverskimdelovima. Sistemski softver izvršava zadatke kao što je prijenos podatakasa memorije na disk, ispisivanja teksta na ekranu i tako dalje. Sistemski softveri su:• Operativni sistemi• Drajveri• Programski alati• Kompajleri• Asembleri
  2. 2. 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),...
  3. 3. User 1 User 2 User n Compile Text processor Database system System and Application Programs Operating System HardwareOS (operativni sistem) je skup sistemskih programa koji služi za upravljanje računarskim resursima i obezbeđuju interfejs ka korisniku.
  4. 4. Operativni sistem je obezbeđuje korišćenje HARDVERA. Hardver računara predstavlja “sirovu” računarsku snagu, azadatak OS je da hardverske mogućnosti učini dostupnim iudobnim za korisnika. Dizajn i izrada OS je usko povezana sa hardverom kaoosnovom na kojoj se operativni sistem izgrađuje, pa zatoproizvođ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 jenevidljiva, tj. on o njima ne mora voditi računa niti ih poznavati.
  5. 5. Operativni sistem čine :o KERNEL (jezgro) – program koji obavlja osnovne funkcije OS iuvek 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,...
  6. 6. 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.
  7. 7. 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.
  8. 8. Karakteristike OS su osobine koje OS ispoljava priupotrebi.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)
  9. 9. o ParalelizamParalelizam u radu podrazumeva uporedno odvijanjeviše procesa u računarskom sistemu. Ovu karakteristikuposeduju oni OS koji su u stanju da odjednom započnurešavanje više zadataka i omoguće njihovo istovremenoodvijanje. Sa strane korisnika, izvršava se više programaistovremeno, ali sa interne strane računarskog sistema(procesora) u datom trenutku izvršava se tačno jedanproces.(proces je programa u stanju izvršavanja)
  10. 10. Deljenje resursa (Sharing).Deljenje resursa posledica je paralelizma koji postoji uračunarskom sistemu. Razume se, deliti se mogu samoresursi kojima to njihova konstrukcija dopušta.Uređaji mogu biti:- deljivi (sharable) kao npr. operativna memorija jer može više procesaistovremeno da bude smešteno u njoj;- nedeljivi (nonsharable) kao npr. disk jer ne može više procesa daistovremeno pristupa disku (ali nijedan proces ne “drži” disk sve vremeizvršavanja nego između dva uzastopna pristupa istog procesa može bitiproizvoljan broj pristupa drugih procesa) i- monopolski (dedicated) su takođe nedeljivi, ali kod njih izmeđuuzastopnih 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.
  11. 11. Pouzdanost (Reliability)Pouzdanost je karakteristika OS koja govori o učestalostigrešaka ili zastoja. Pouzdanost sistema zavisi ne samo odoperativnog sistema, već i od spoljašnjih događaja i zahtevapoput: režima korišćenja, konfiguracije sistema, zahtevakorisnika i slično.Nprimer kod nekih real time sistema neophodno je obezbeditineprekidno pouzdano funkcionisanje bez havarijskih situacija iliprekidanje kontrole pri otkazu pojedinih uređaja.
  12. 12. Sigurnost (Security)Sigurnost sistema je osobina koja omogućava OSda zaštiti od neovlašćenog pristupa one delove urač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 odostalih programa u sistemu.
  13. 13. Upotrebljivost (Usability)Upotrebljivost je karakteristika koja podrazumeva da sefunkcije operativnog sistema moraju što jednostavnijekoristiti.To se pre svega odnosi na komunikaciju izmeđuOS i korisnika, odnosno na kontrolno upravljački jezik.Međutim, pod upotrebljivošću OS podrazumevamo i drugeaspekte korišćenja kao što su: podržavanje raznih režimarada, mogućnost izvršenja više programa, različitemogućnosti pristupa i slično.
  14. 14. Modularnost (Modularity)Modularnost je karakteristika koja ukazuje namodularan pristup izgradnji samog operativnog sistema.OS je NAPRAVLJEN (programiran) od delova – MODULA Ova karakteristika omogućava proizvođaču da gamodifikuje u delovima koje treba ili želi da promeni, a dase pri tom ne menja čitav sistem, a takođe i samomkorisniku da ga nadograđuje.
  15. 15. 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.
  16. 16. 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
  17. 17. Upravljanje procesorimaRadi 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.
  18. 18. Upravljanje operativnom memorijomJe vežano za efikasno korišćenje operativne memorije. Ono je neraskidivo vezano sa dodelom procesora i upravljanjem perifernim uređajima.
  19. 19. Upravljanje perifernim uređajimaodnosi 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.
  20. 20. 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
  21. 21. Da bi realizovao upravljanje računarskim resursima OSkoristi 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.
  22. 22. Kontroleri ulazno/izlaznih uređaja :OS koristi kontrolere ulazno/izlaznih uređaja da bi realizovao I/Ooperacije za korisnika. Kontroleri mogu biti: - obični ( prenos podataka sa memorijom se obavlja preko procesora) - sa direktnim pristupom memoriji – DMA (prenos podataka samemorijom zaobilazi procesor i vrši se preko DMA sklopa i njenogizdvojenog kanala za prenos.Kanal (channel) ima mogućnost direktnog pristupa memoriji sa jedne strane, a sadruge je priključen na kontrolnu jedinicu (DMA) na koju može biti priključenoviše I/O uređaja.Kanala, naravno, može biti više u sistemu, a dele se na dve vrste: selektorski (radesa brzim jedinicama, tj. eksternim memorijama, i selektuju jednu od jedinica kojuzatim poslužuju u određenom vremenskom intervalu) i multiplekserski (rade sasporim jedinicama, npr. štampačima, ali mogu simultano da poslužuju višejedinica).
  23. 23. Prekidi:OS reaguje na prekide (interrupts). Obrada prekida su sastavni deo OS, tj. jezgra (potrebnisu samo delovi u jezgru jer deo prekida može obraditiproces ili čak korisnički program; međutim, neki delovi se ineophodno nalaze u jezgru jer mora neko da "aktivira"proces).
  24. 24. Časovnik:(čekanje)To je zapravo jedan običan programabilan brojač u koji seupisuje vrednost, a zatim (nezavisno od CPU)dekrementira i pri dolasku na nulu izazove prekid. Postoji i rešenje da časovnik bude sastavni deo CPU.
  25. 25. Privilegovani režim rada:OS radi u sistemskom - privilegovanom režimu rada (svenaredbe izvršive), a korisnički procesi se izvršavaju u korisničkom(neprivilegovanom) režimu rada. Tu se neke naredbe neizvršavaju (npr. za promenu režima rada, za rad saprivilegovanim registrima, za I/O...) jer bi inače OS mogaoostati bez "kontrole".
  26. 26. Postoje brojne podele operativnih sistema na osnovu različitih kriterijuma:prema broju korisnika i/ili procesa, prema načinu obrade poslova, premadistribuciji procesorske snage i ostalih resursa, prema nameni i funkcionalnimosobinama.Monokorisnički (single user):Čine najjednostavniju klasu OS, to su OS za računare sasamo jednim korisnikom na kojima se u datom trenutkuizvrš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...).
  27. 27. Multikorisnički multiprogramski:To je najopštija klasa OS. U takvim OS različiti korisniciizvršavaju različite programe. Izvršavanje je konkurentno(kvaziparalelno). Znači, više programa je istovremenoprisutno u memoriji. Multiprogramski OS je uvekmultiprocesni jer se za svaki program koji učestvuje umultiprogramskom režimu rada formira bar jedan proces.Nasuprot tome, monoprogramski sistem ne mora bitimonoprocesni jer se program može razbiti na delove i zasvaki od tih delova formirati proces. Zbog toga sepojavljuju i Monokorisnički multiprocesni OS.
  28. 28. Multiprogramiranjeje uvedeno da bi se povećala iskorišćenost resursa, a time icelog računarskog sistema.Suština multiprogramskog rada obuhvata paraleni radperiferijskih uređaja i procesora (centralnog, tj. CPU). Ideja jeda se CPU dodeli drugom programu (procesu) dokperiferijska jedinica radi za neki program (proces), tj. dok ončeka na I/O. Time možemo jedan program da paralelizujemou više procesa i izvršavanje će se ubrzati (ukupno vreme ćebiti manje) jer dok jedan proces (deo programa) čeka, drugiproces 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.
  29. 29. Savremeni OS su u velikom broju slučajeva sistemi saraspodeljenim vremenom (time-sharing).To se odnosi prvenstveno na multiprogramske sisteme. Dajedan program (odnosno jedan korisnik), ne bi uzurpiraliprocesor 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 časovnikau koji se upisuje kvant vremena kada proces dobije CPU. Dokse proces izvršava, časovnik se autonomno dekrementira dokne dođe na nulu. Tada se generiše prekid. OS zatim dodeljujeCPU drugom procesu. Savremeni sistemi raspodeljenogvremena su po pravilu multiprogramski, odnosnomultiprocesni.
  30. 30. OS u realnom vremenuKod ovih sistema zahteva se reakcija u nekom fiksiranomvremenskom intervalu. U suprotnom slučaju mogu bitiizgubljeni neki vitalni podaci i nastati katastrofalne posledice.To su uglavnom sistemi koji upravljaju procesima ilimašinama, pa je vremenski interval odgovora određenkarakteristikama procesa, odnosno mašine. Dakle, zahteva sereakcija u zadatom intervalu koji ne mora uvek biti tako mali.Većinom su to namenski (dedicated) sistemi. Dešava se čestoda nemaju diskove nego podatke uzimaju sa mernihuređaja. Npr. upravljanje raketama je jedan takav sistem.
  31. 31. Mrežni operativn isistemiMrežne operativne sisteme karakterišu računari povezani umrežu. Ovi računari zadržavaju relativno visok stepenautonomije – svaki računar ima svoj operativni sistem – a umogućnosti su da međusobno razmenjuju podatke pomoćuodgovarajućih protokola. Operativni sistemi mogu bitirazličiti, potreban je samo zajednički protokol, tj. zajedničkijezik za komunikaciju. Korisnik jednog računara može seprijaviti na drugi, preuzeti neke datoteke itd. Korisnik zna danije sam u mreži, tj. svestan je različitih računara s kojimakomunicira preko mreže..
  32. 32. Distributivni operativn isistemisu mnogo ozbiljnija varijanta u mrežnom okruženju, zato što osimdeljenja i migracije datoteka i štampača omogućavaju i deljenjeprocesa, tj. programa. Korisnici ovaj sistem vide kaojednoprocesorski sistem, ali se, u stvari, radi o operativnomsistemu namenjenom za rad s više procesora koji su fleksibilnopovezani preko mreže. To znači da postoji više računara povezanihu mrežu, ali samo jedan operativni sistem, upravlja svim resursimau mreži. U pravom distribuiranom sistemu, korisnik ne treba davodi računa o tome gde su smeštene njegove datoteke ili gde seizvršava njegov program – to je posao distribuiranog operativnogsistema. Distribuirani operativni sistem se, dakle, ponaša kaojedinstvena celina. Korisnik ne mora znati da je umrežen s drugimračunarima – on ceo sistem vidi kao jedan računar.
  33. 33. Da bi se upravljalo složenošću operativnih sistema i da bi se omogućilonjihovo brže projektovanje, lakše modifikovanje i nadogradnja, bilo jeneophodno dobro osmisliti strukturu softvera. Korišćenje modularnogpristupa kod OS čiji kodovi imaju više miliona instrukcija nije bilo dovoljno,pa su moduli grupisani u hijerarhijske nivoe. Generalno, možemo reći dajednostavni operativni sistemi mogu imati monolitnu strukturu, a većislojevitu hijerarhijsku realizaciju.Monolitni sistemiJednostavni mali OS imaju monolitnu strukturu, tj.predstavljaju skup programa koje poziva korisnički programi koji se međusobno pozivaju, bez ikakvih ograničenja.Korisnički programi upotrebljavaju servise operativnog sistema na sledeći način: parametrisistemskog poziva se smeštaju na određena mesta, kao što su registri procesora ili stek, nakon čegasledi pozivanje jezgra operativnog sistema. Ova operacija prebacuje procesor iz korisničkog režimarada u sistemski režim rada i kontrolu predaje operativnom sistemu. U sistemskom režimu radadostupne su privilegovane komande kojima se ne može pristupiti iz korisničkog režima. Poslepozivanja jezgra, operativni sistem preuzima kontrolu i na osnovu parametara poziva određujekoju sistemsku proceduru treba pozvati. Nakon izvršenja procedure, kontrola se vraćakorisničkom programu.
  34. 34. Slojevita (hijerarhijska) realizacijaZa veće OS takva struktura je nepogodna, pa se preporučujeslojevita struktura. Programi su grupisani u slojeve inumerisani 0, 1, 2... Pritom, moduli sa sloja n pozivaju samomodule sa sloja n-1 (postoje i odstupanja, ali se trudi da ihbude malo).Primer 1: 5-fajl sistem, 4-upravljanje I/O uređajima, 3-gornji nivo upravljanjaprocesima, 2-upravljanje operativnom memorijom, 1-donji nivo upravljanjaprocesima, 0-hardver. Iznad vrha ovoga su korisnički programi. Sve se ovo zovejezgro 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 OSsadrži samo module koji upravljaju procesima. Nije svejedno šta je u jezgru jer, popravilu, programi jezgra rade u privilegovanom dok svi ostali programi rade ukorisničkom (neprivilegovanom) režimu.
  35. 35. Klijent-server strukturaTreći, najnoviji, pristup je klijent-server koncepcija. Funkcije OS realizujuse pomoću procesa koji se nazivaju serveri, a korisnički programi suklijenti (pozivaju te funkcije i dobijaju rezultate). Jezgro pritom služi samoza organizaciju komunikacija između klijenata i servera. Dakle, OS se deliu celine od kojih svaka servisira neku funkciju sistema kao npr. fajlservisi, terminal servisi ili memorijski servisiPrednosti: ovakvog pristupa su: modularnost (npr, greška u fajl serveruonemogućava samo funkcije fajl servera, a ostatak operativnog sistemaradi normalno), prilagodljivost distribuiranim sistemima (servisi moguda budu obezbeđeni na udaljenim računarima) i mogućnost da se koristepodsistemi okruženja (tako npr. Windows 2000 može da izvršavaaplikacije napisane za druge OS)..

×