I Osnovni pojmovi operativnih sistema OS ta emo

  • Slides: 44
Download presentation
I - Osnovni pojmovi operativnih sistema (OS)

I - Osnovni pojmovi operativnih sistema (OS)

Šta ćemo učiti • • Definicija i karakteristike OS Funkcije operativnih sistema Hardverske komponente

Šta ćemo učiti • • Definicija i karakteristike OS Funkcije operativnih sistema Hardverske komponente koje koristi OS Jezik OS Razvoj operativnih sistema Klasifikacija – vrste OS Struktura OS

Definicija i karakteristike OS • Softver se deli na sistemski i aplikativni (korisnički) •

Definicija i karakteristike OS • Softver se deli na sistemski i aplikativni (korisnički) • Sistemski programi su stalno prisutni u računarskom sistemu i omogućavaju lakse, jednostavnije i efikasnije korišćenje računarskih resursa. • Sistemski se dele na kontrolno-upravljački softver (OS) i uslužni softver. • Zašto postoje različite verzije OS? • Kako korisnici vide OS?

Definicija i karakteristike OS Office Baze podataka Igre Kompajleri Interpeteri Editori OS Korisnički programi

Definicija i karakteristike OS Office Baze podataka Igre Kompajleri Interpeteri Editori OS Korisnički programi Sistemski programi Mašinski jezik Mikro porogrami HARDVER Fizički uređaji Glavna funckcija OS: sakrivanje detalja ovih nižih nivoa od ostalih programa i pružanje niza jednostavnijih instrukcija za pristup hardveru.

Definicija OS • 60 -ih godina OS smo mogli definisati kao programska sredstva koja

Definicija OS • 60 -ih godina OS smo mogli definisati kao programska sredstva koja upravljaju hardverom • Danas – OS je skup programa, kako običnih tako i mikroprograma, koji obezbeđuju mogućnost korišćenja hardvera • OS – skup sistemskih programa koji služe za upravljanje računarskim resursima i obezbeđuju interfejs ka korisniku • računarski resursi, hardverski resursi, softverski resursi

Definicija OS • Zadatak OS je da se hardverske mogućnosti učine dostupnim i po

Definicija OS • Zadatak OS je da se hardverske mogućnosti učine dostupnim i po mogućnosti što lakšim za krajnjeg korisnika • Dizajn i izrada OS je usko povezana sa hardverom

OS čine: • Kernel (jezgro) – program koji obavlja osnovne funkcije OS i uvek

OS čine: • Kernel (jezgro) – program koji obavlja osnovne funkcije OS i uvek se nalazi u memoriji • Skup uslužnih sistemskih programa • Shell (školjka) – komandni ili grafički korisnički interfejs (GUI) prema funkcijama OS

Prema modernim shvatanjima OS obuhvata još i: • Luksuzan GUI • Skup uslužnih aplikativnih

Prema modernim shvatanjima OS obuhvata još i: • Luksuzan GUI • Skup uslužnih aplikativnih programa • Programi za internet usluge. . . • Tj. obuhvata sve ono što proizvođač isporuči pod tim nazivom (npr. Microsoft Windows)

Karakteristike OS • • Karakteristike OS – osobine koje ispoljava pri upotrebi: Istovremenost –

Karakteristike OS • • Karakteristike OS – osobine koje ispoljava pri upotrebi: Istovremenost – paralelizam (Concurrency) Zajedničko korišćenje, tj. deljenje resursa (Sharing) Pouzdanost (Reliability) Sigurnost (Security) Upotrebljivost (Usability) Deljivost – modularnost (Modularity)

Paralelizam • uporedno odvijanje više procesa (programa u stanju izvršavanja) u računarskom sistemu •

Paralelizam • uporedno odvijanje više procesa (programa u stanju izvršavanja) u računarskom sistemu • Međutim, u datom trenutku, jedan procesor izvršava samo jedan program. Gledajući sa strane korisnika, izvršava se više procesa istovremeno, ali sa interne strane računarskog sistema izvršava se onoliko programa koliko ima procesora u sistemu. Da bi se ostvario takav rad uvodi se pojam procesa – program u izvršavanju.

Zajedničko korišćenje, tj. deljenje resursa • posledica je paralelizma koji postoji u računarskom sistemu

Zajedničko korišćenje, tj. deljenje resursa • posledica je paralelizma koji postoji u računarskom sistemu • Mogu se deliti samo resursi kojima to njihova konstrukcija dopušta • Uređaji mogu biti: • Deljivi (sharable) – npr. operativna memorija – više procesa istovremeno može da bude smešteno u njoj • Nedeljivi (nonsharable) – npr. disk – ne može više procesa istovremeno da pristupa disku (ali nijedan proces ne drži disk sve vreme, njemu pristupaju drugi procesi između dva uzastopna pristupa istog procesa) • Monopolski (dedicated) – takođe nedeljivi, ali između uzastopnih pristupa jednog procesa ne sme biti pristupa drugih procesa (npr. štampač), tj. oni se ne oslobađaju dok sa njima proces ne završi

Pouzdanost • govori o učestalosti grešaka ili zastoja • Pouzdanost sistema ne zavisi samo

Pouzdanost • govori o učestalosti grešaka ili zastoja • Pouzdanost sistema ne zavisi samo od OS, već i od spoljnih uticaja i zahteva korisnika itd. • Npr. kod nekih real time sistema neophodno je omogućiti funkcionisanje bez mogućnosti prekidanja. To se postiže uvođenjem rezervnih uređaja i specijalnom logičkom organizacijom koja omogućava automatsku rekonfiguraciju sistema.

Sigurnost • zaštita od neovlašćenog pristupa onim delovima OS koje korisnik želi da zaštiti

Sigurnost • zaštita od neovlašćenog pristupa onim delovima OS koje korisnik želi da zaštiti • Najčešće se radi o zaštiti podataka i programa, ali OS mora da zaštiti i samog sebe od ostalih programa u sistemu.

Upotrebljivost • funkcije OS treba da se što jednostavnije koriste • Komunikacija između OS

Upotrebljivost • funkcije OS treba da se što jednostavnije koriste • Komunikacija između OS i korisnika treba da bude što jednostavnija, tj. Kontrolno-upravljački jezik treba da bude razumljiv za korisnika. • Pod upotrebljivosti podrazumevamo i: podržavanje više režima rada, mogućnost izvršenja više programa, različite mogućnosti pristupa itd.

Modularnost • modularan pristup izgradnji samog OS • Omogućiti proizvođaču da ga modifikuje u

Modularnost • modularan pristup izgradnji samog OS • Omogućiti proizvođaču da ga modifikuje u delovima koje treba ili želi da promeni, tako da ne menja čitav sistem, a takođe da ne mora sam korisnik da ga nadograđuje.

Funkcije OS • karakteristike OS – poželjna svojstva, funcije OS – zadaci koje sistem

Funkcije OS • karakteristike OS – poželjna svojstva, funcije OS – zadaci koje sistem mora da realizuje • Različiti OS na različite načine rešavaju iste zadatke (rešenja zavise od hardvera na kom se izvršavaju moduli) • OS su skup modula, a modul predstavlja jednu programsku celinu koja realizuje jednu funkciju OS

Funkcije OS • OS treba da obezbedi: • upravljanje procesorima – kom procesu dodeliti

Funkcije OS • OS treba da obezbedi: • upravljanje procesorima – kom procesu dodeliti procesor, koliko dugo sme proces držati procesor, koliko procesa može konkurisati za procesor itd. • upravljanje memorijom – kako efikasno koristiti operativnu memoriju • upravljanje perifernim uređajima – od dodeljivanja do izvršavanja zahteva vezanih za ulazne/izlazne uređaje • upravljanje podacima – rukovanje podacima na spoljašnjim memorijama, način smeštanja na eksterne memorije, pristupi podacima, upisivanje/čitanje podataka iz datoteka, kreiranje, održavanje i brisanje datoteka itd.

Funkcije OS • Ono što je zajedničko za module koji upravljaju svakim od navedenih

Funkcije OS • Ono što je zajedničko za module koji upravljaju svakim od navedenih resursa računarskog sistema je da moraju da obezbede: • vođenje evidenije o resursu • donošenje odluke o dodeli resursa • alokaciju resursa • dealokaciju resursa • OS treba da obezbedi i izvođenje kontrolno upravljačkih komandi i programa, upravljanje poslovima, zaštitu, a često i podršku daljinske obrade i rada u mreži

Hardverske komponente koje koristi OS za upravljanje resursima • • • Najvažnije komponente su:

Hardverske komponente koje koristi OS za upravljanje resursima • • • Najvažnije komponente su: kontroleri ulazno/izlaznih uređaja sistem prekida časovnik realnog vremena privilegovan način rada

Kontroleri I/O uređaja • OS koristi kontrolere da bi omogućio korisniku da koristi I/O

Kontroleri I/O uređaja • OS koristi kontrolere da bi omogućio korisniku da koristi I/O uređaje • Kontroleri mogu biti obični ili sa direktnim pristupom memoriji • Npr. kanal (channel) ima mogućnost direktnog pristupa memoriji, ali može biti priključen na kontrolnu jedinicu na koju može biti priključeno više I/O jedinica. Kanali su, dakle, I/O procesori koji mogu da rade paralelno sa CPU.

Prekidi • OS reaguje na prekide (interrupts) • Obrada prekida je bitan deo OS,

Prekidi • OS reaguje na prekide (interrupts) • Obrada prekida je bitan deo OS, tj. jezgra. • Deo prekida može obraditi proces ili čak korisnički program, ali neki delovi moraju biti u jezgru, jer neko mora da “aktivira” proces

Časovnik • Brojač u koji se upisuje vrednost, a zatim dekrementira i pri dolasku

Časovnik • Brojač u koji se upisuje vrednost, a zatim dekrementira i pri dolasku na nulu izazove prekid

Privilegovani režim rada • OS radi u sistemskom - privilegovanom režimu rada (sve naredbe

Privilegovani režim rada • OS radi u sistemskom - privilegovanom režimu rada (sve naredbe su izvršive), a korisnički procesi se izvršavaju u korisničkom (neprivilegovanom) režimu rada

Jezik OS • Korisnik sa OS komunicira preko kontrolno – upravljačkog (komandnog) jezika •

Jezik OS • Korisnik sa OS komunicira preko kontrolno – upravljačkog (komandnog) jezika • Komunikacija se odvija u dva smera • Korisnik može da zadaje komande: • neposredno – OS komandu izvršava odmah nakon unošenja komandne linije • posredno – niz zahteva (paket – BATch) se upisuje u fajl, taj se fajl poziva i tako se komanda po komanda iz fajla izvršava • Instrukcije komandnog jezika, bilo da su zadate posredno ili neposredno, obrađuje komandni interpreter (npr. komandni interpreter MS-DOS-a smešten je u fajlu COMMAND. COM)

Jezik OS • Da bi korisnik mogao da zada komandu OS, mora da zna

Jezik OS • Da bi korisnik mogao da zada komandu OS, mora da zna da li mu je OS na raspolaganju. Svaki OS ima neki znak, da bi korisnik znao da je OS spreman da prihvati komandu (npr. kod DOS-a je to znak > ispred koga je ispisana putanja do tekućeg kataloga, ali taj znak korisnik može da promeni)

Jezik OS • Danas su popularni grafički korisnički interfejsi (GUI) kao što su Windows

Jezik OS • Danas su popularni grafički korisnički interfejsi (GUI) kao što su Windows za IBM PC račuanre, XWindows za UNIX platforme itd. • Komunikacija sa korisnikom je jednostavna, odvija se preko prozora, ikona i padajućih menija uz maksimalno korišćenje miša, što pre nije bio slučaj • Za ovakvu komunikaciju sa korisnikom kažemo da je user-friendly

Razvoj OS • Sve jeftinije, manje dimenzije, manja potrošnja struje • Sve veća brzina

Razvoj OS • Sve jeftinije, manje dimenzije, manja potrošnja struje • Sve veća brzina i kapacitet memorije

Nulta generacija 40 -ih godina • Nije bilo OS • Korisnici su morali da

Nulta generacija 40 -ih godina • Nije bilo OS • Korisnici su morali da pišu programe neposredno na mašinskom jeziku, sve što danas obavljaju OS korisnici su morali sami da isprogramiraju • http: //www. computerhistory. org/timeline/

Prva generacija 50 -ih godina • OS je trebao da ubrza i pojednostavi prelazak

Prva generacija 50 -ih godina • OS je trebao da ubrza i pojednostavi prelazak sa zadatka na zadatak • Pojavljuje se paketna obrada (smanjuje se vreme između dva zadatka) • Os ove generacije posedovali su i standardne rutine za kontrolu ulaza i izlaza podataka i jednostavan jezik za opis zadataka korisnika

Druga generacija početkom 60 -ih • Pojavljuju se sistemi višekorisničkog tipa sa multiprogramiranjem i

Druga generacija početkom 60 -ih • Pojavljuju se sistemi višekorisničkog tipa sa multiprogramiranjem i prvi sistemi sa multiprocesiranjem • Nezavisnost programiranja od spoljašnjih uređaja • Pojavio se režim dijaloga ili interaktivni režim, koji je povećao efikasnost procesa razrade i testiranja programa • Prvi sistemi u realnom vremenu za upravljanje tehnološkim procesima, npr. za preradu nafte • Drugom generacijom OS postavljene su osnove savremenih OS

Treća generacija od sredina 60 -ih do sredine 70 -ih • IBM/360 1964. godine

Treća generacija od sredina 60 -ih do sredine 70 -ih • IBM/360 1964. godine – mašina opšte namene, skupa, velikih dimenzija, rešavaju široku klasu problema, rade u više različitih režima • Višerežimski sistemi – podržavaju paketnu obradu, rad u razdeljenom vremenu, rad u realnom vremenu • Pojavio se jezik za upravljanje zadacima, ali je bio težak za učenje

Četvrta generacija od sredine 70 -ih • Pojavljuju se mreže računara i online obrada

Četvrta generacija od sredine 70 -ih • Pojavljuju se mreže računara i online obrada • Omogućen je pristup teritorijano udaljenim računarima • Pojava mikroprocesora dovela je do pojave personalnih računara • Pojava rač. mreža donela je problem zaštite informacija • Uveden je koncept virtualne mašine koja ne vodi računa o fizičkim detaljima – još jedan računar izgrađen na njegovom OS • Sve bolji GUI

Klasifikacija – vrste OS • Prema broju korisnika, OS se dele na: • monokorisnički

Klasifikacija – vrste OS • Prema broju korisnika, OS se dele na: • monokorisnički (single user) – 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 – više korisnika koristi usluge istog programa (npr. bankarski sistemi, rezervacija karata itd. ) • multikorisnički multiprogramski – različiti korisnici izvršavaju različite programe

Multikorisnički multiprogramski OS • Najopštija klasa OS • Izvršavanje je konkurentno – više programa

Multikorisnički multiprogramski OS • Najopštija klasa OS • Izvršavanje je konkurentno – više programa je istovremeno prisutno u memoriji • Multiprogramski OS je uvek multiprocesni jer se za svaki program formira bar jedan proces • Monoprogramski sistem ne mora biti monoprocesni, jer se program može razbiti na delove i za svaki deo se može formirati proces – zbog toga se pojavljuju monokorisnički multiprocesni OS

 • Multiprogramiranje – uvedeno da bi se povećala iskorišćenost resursa, a time i

• Multiprogramiranje – uvedeno da bi se povećala iskorišćenost resursa, a time i celog računarskog sistema • Paralelno rade periferijski uređaji i procesor – Procesor se dodeli drugom procesu dok periferijska jedinica radi za neki proces. Time jedan program možemo da paralelizujemo u više procesa i izvršavanje će se ubrzati (dok jedan deo programa čeka, drugi se izvršava). • Npr. Dok unosimo znake sa tastature, pri čekanju da znak bude pritisnut, procesor se može koristiti za, recimo, čitanje ili pisanje u cilju keširanja diska.

Sistemi sa raspodeljenim vremenom (time-sharing) • Odnosi se prvenstveno na multiprogramske sisteme • Da

Sistemi sa raspodeljenim vremenom (time-sharing) • Odnosi se prvenstveno na multiprogramske sisteme • Da ne bi jedan program tj. jedan korisnik uzurpirao procesor, predviđeno je kvantovanje, tj. raspodela vremena: svakom programu, tj. procesu se dodeljuje kvant vremena. Kada on istekne procesor se dodeljuje drugom procesu. • Ovde se koristi intervalni časovnik 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.

 • Neki OS podržavaju Mehanizam paketne obrade (batch) - na disku je niz

• Neki OS podržavaju Mehanizam paketne obrade (batch) - na disku je niz programa niskog prioriteta (background jobs) koji se izvršavaju samo kada nema osnovnih (prioritetnijih) programa. • Savremeni OS su ulgavnom interaktivni, tj. korisnici komuniciraju sa sistemom preko terminala. Međutim, ne mora svaki unos podataka da bude interaktivan. Postoji i treća opcija – rad preko mreže.

OS u realnom vremenu • Kod ovakvih OS zahteva se reakcija u nekom fiksiranom

OS u realnom vremenu • Kod ovakvih OS zahteva se reakcija u nekom fiksiranom vremenskom intervalu, u suprotnom mogu biti izgubljeni bitni podaci • To su uglavnom sistemi koji upravljaju procesima ili mašinama • Većinom su to namenski (dedicated) sistemi, pa je vremenski interval odgovora određen karakteristikama procesa (npr. upravljanje raketama)

Mrežni i Distribuirani OS • Pored klasičnih OS javljaju se i sledeće dve vrste

Mrežni i Distribuirani OS • Pored klasičnih OS javljaju se i sledeće dve vrste OS: • Mrežni OS – računari povezani u mrežu - Svaki računar ima svoj OS, a u mogućnosti su da međusobno razmenjuju podatke pomoću odgovarajućih protokola. OS mogu biti različiti, potreban je samo zajednički protokol. Korisnik je svestan različitih računara sa kojima komunicira preko mreže. • Distribuirani OS – ozbiljnija varijanta u mrežnom okruženju, jer osim deljenja i migracije datoteka i štampača mogu da dele i procese, tj. programe. Korisnici ovaj sistem vide kao jednoprocesorski sistem, ali se radi o OS namenjenom za rad sa više procesora koji su fleksibilno povezani preko mreže. Postoji više računara u mreži, ali samo jedan OS upravlja svim računarima u mreži. Korisnik ne mora znati da je umrežen sa drugima – on ceo sistem vidi kao jedan računar.

Struktura OS • Modularni pristup nije bio dovoljan, pa su moduli grupisani u hijerarhijske

Struktura OS • Modularni pristup nije bio dovoljan, pa su moduli grupisani u hijerarhijske nivoe • Jednostavni OS mogu imati monolitnu strukturu, a veći slojevitu hijerarhijsku realizaciju • U zavisnosti od toga kako su moduli podeljeni u slojeve i kako međusobno komuniciraju, možemo definisati različite slojevite strukture • Tri pristupa za strukturu OS: monolitni sistemi, slojevita (hijerarhijska) realizacija i klijent-server koncepcija.

Monolitni sistemi • Jednostavni mali OS imaju monolitnu strukturu, tj. predstavljaju skup programa koje

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

Slojevita (hijerarhijska) realizacija • Za veće OS se koristi slojevita struktura • Programi su

Slojevita (hijerarhijska) realizacija • Za veće OS se koristi slojevita struktura • Programi su grupisani u slojeve i numerisani 0, 1, 2. . . Pritom, moduli sa sloja n pozivaju samo module sa sloja n-1

Klijent – server struktura • Najnoviji pristup je klijent – server koncepcija • Funkcije

Klijent – server struktura • Najnoviji pristup je klijent – server koncepcija • Funkcije OS realizujuju se pomoću procesa koji se nazivaju serveri, a korisnički programi su klijenti (pozivaju te funkcije i dobijaju rezultate) • Jezgro služi samo za orgranizaciju 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.

Klijent – server struktura • Prednosti ovakvog pristupa: • modularnost (npr. Greška u fajl

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