operativni_sistemi

34
Prof. dr Dragan Stojanović Uvod u računarstvo Računarstvo i informatika 2010 UVOD U RAČUNARSTVO - Operativni sistemi - Katedra za Računarstvo, Elektronski fakultet, Univerzitet u Nišu

Upload: nmenja-tonic

Post on 30-Mar-2016

217 views

Category:

Documents


3 download

DESCRIPTION

-Operativnisistemi- Katedraza Računarstvo, Elektronskifakultet, Univerzitetu Nišu Uvodu računarstvo Računarstvo i informatika 2010 Prof. dr Dragan Stojanović Aplikativnisoftver–softver namenjen specifičnim potrebama korisnika za rešavanje konkretnih problema Operativni sistemi Uvod u računarstvo 2 Programi za obradu teksta, video igre, softver za obračun plata, softver za voenje balističkih raketa, itd. Prof. dr Dragan Stojanović

TRANSCRIPT

Page 1: Operativni_sistemi

Prof. dr Dragan Stojanović

Uvod u računarstvo

Računarstvo i informatika 2010

UVOD U RAČUNARSTVO

- Operativni sistemi -

Katedra za Računarstvo,

Elektronski fakultet, Univerzitet u Nišu

Page 2: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 2

Softver

Aplikativni softver – softver namenjen specifičnim potrebama korisnika za rešavanje konkretnih problema

Programi za obradu teksta, video igre, softver za obračun plata, softver za vođenje balističkih raketa, itd.

Sistemski softver – Softver za upravljanje računarskim sistemom na osnovnom nivou, zajednički za sve računarske sisteme, nezavisno od konkretne primene računara od strane korisnika

Predstavlja osnovu za funkcionisanje aplikativnogsoftvera

Page 3: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 3

Aplikativni softverPoslovni softver

Specifične poslovne aplikacije, planiranje resursa preduzeća, upravljanje odnosom sa klijentima, vođenje poslovanja, upravljanje projektima, računarsko izdavaštvo, projektovanje pomoću računara (CAD), ...

Softver za kućnu i ličnu upotrebuLične finansije, grafički dizajn, zabava i kompjuterske igre, ...

Softver za poboljšanje produktivnostiObrada slike, tabelarna izračunavanja, prezentacije, baze podataka, upravljanje ličnim informacijama

Multimedijalni softverEditovanje slika i fotografija, kreiranje crteža i vektorske grafike, kreiranje multimedijalnih sadržaja, preuzimanje i editovanje videa, kreiranje i reprodukovanje muzičkih sadržaja, ...

Komunikacioni/Internet softverInternet pretraživači, e-mail klijenti, instant messenger (ICQ), chat, ...

Edukativni softverEnciklopedije, tutorijali, turistički vodiči, ...

Page 4: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 4

Sistemski softver

Operativni sistem

Uslužni softver (utility software)Programski sistem• Kompajleri programski jezika, linkeri, debageri, editori, integrisana

razvojna okruženja, softverski alati za razvoj softvera (CASE)Komunikacioni softver• Softver za povezivanje računara u mrežu i deljenje resursa

Uslužni softver• Disk doktor, sistemske informacije, anti-virusni softver,

kompresovanje podataka, ...Grafički sistemProgrami za proveru ispravnosti računarskog sistema, upravljanje i unapređenje performansi računara i za detekciju grešaka u hardveru i softveru računara

Page 5: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 5

Operativni sistem

Skup programa smeštenih u memoriju prilikom boot-ovanja računara za upravljanje radom hardvera i softvera računarskog sistemaOperativni sistemi: Windows 7/Vista/XP/..., UNIX, Linux, Mac OS X, Solaris, Android, Symbian, itd.

Aplikativni softver

Operativni sistem

Hardware

Korisnik

Page 6: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 6

Klasifikacija operativnih sistemaPrema tipu računara

OS za mainframe računare, super računare, mini računare, radne stanice, servere, personalne računare (PC), ručne računare (PocketPC, Palm), pametne telefone, ugrađene računare, pametne kartice, itd.

Prema broju istovremenih korisnikaJednokorisnički (Windows) i višekorisnički (Unix, Linux)

Prema broju startovanih programaMonoprogramski (DOS, Windows 3.x)Multiprogramski (Windows, Unix, Linux, Mac OS)• Time-sharing svakom programu se dodeljuje jedan vremenski kvant

(od 10 do 100ms), pa se aktivira sledeći, i tako u krug; korisniku izgleda da se svi programi istovremeno izvršavaju, a u stvari izvršavaju se jedan po jedan smenjujući se u kratkim vremenskim intervalima (kvazi-paralelno)

Page 7: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 7

Operativni sistem...

Upravlja resursima računarskog sistema, kako hardverskim (CPU, glavna memorija, ulazno/izlazni uređaji, sekundarne memorije), tako i softverskim (strukture podataka u glavnoj memoriji, datoteke, softver, itd.)

Obezbeđuje da svaki startovani program dobije resurse neophodne za izvršenje

Obezbeđuje interfejs za interakciju korisnika sa računaromObezbeđuje okruženje za izvršenje aplikacionih programa i njihovu interakciju sa resursima računarskog sistema

Page 8: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 8

Komponente operativnog sistemaUpravljanje procesimaUpravljanje glavnom memorijomUpravljanje U/I uređajimaUpravljanje datotekama (File system) - upravljanje podacima na sekundarnim memorijama organizovanim u datoteke i direktorijumeSigurnost i zaštitaInterakcija sa korisnikom putem interpretacije komandnog jezika ili grafičkim korisničkim interfejsom (GUI)

Page 9: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 9

Upravljanje procesima

Osnovne funkcijeKreiranje i brisanje procesa Suspendovanje i ponovo aktiviranje procesaPlaniranje izvršenja procesa i upravljanje centralnim procesorom (-ima)Obezbeđenje mehanizama za sinhronizaciju i komunikaciju između procesaObezbeđenje mehanizama za upravljanje deadlock-om (smrtni zagrljaj, uzajamno blokiranje)

Page 10: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 10

Upravljanje procesimaProgram je skup programskih instrukcija i podataka organizovanih u obliku izvršne datoteke na disku (.exe). Startovanjem programa aktivira se proces (task)Proces predstavlja izvršavanje programa. Prilikom startovanja programa u glavnu memoriju (RAM) se učitavaju instrukcije programa i podaci koji se obrađuju i započinje izvršavanje instrukcija nad podacimaMultiprogramiranje – tehnika OS kojom se omogućava da u isto vreme više programa bude u glavnoj memoriji i da procesi njima aktivirani konkurišu za dobijanje CPU radi izvršenja, a takođe konkurišu i za druge resurse računarskog sistemaPlaniranje procesa – postupak određivanja koji će proces sledeći biti izvršavan na CPU (Planer procesa - Scheduler)PCB (Process Control Block) – za svaki startovani proces OS održava strukturu podataka sa informacijama o tom procesu (identifikator, prioritet, vreme kreiranja, vreme izvršenja, memorija koju zauzima, datoteke koje koristi, itd); skup PCB svih startovanih procesa čini tablicu procesa

Page 11: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 11

Procesi

OS je zadužen za startovanje, izvršavanje i stopiranje procesa (programa) na računaru

Page 12: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 12

Stanja procesaStanja procesa (životni ciklus procesa)

Aktivan (Running) – proces se izvršava na CPU Spreman (Ready) – proces se nalazi u memoriji i spreman je za izvršenje, kad mu se dodeli CPUČeka (Waiting) – proces čeka na završetak U/I operacije ili neki događaj da bi mogao da nastavi sa izvršavanjem

Blokiran

Spreman Aktivan

Startuje se Završen

Dobio CPU

Istekao vremenski kvant

Zahtev za U/I operacijom

Završena U/I operacija

Page 13: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 13

Promena konteksta (Context switch)Postoji samo jedan CPU (jedno-procesorski računar) i njemu pridružen skup registara koji sadrže vrednosti u skladu sa trenutnim izvršavanjem aktivnog procesa (kontekst procesa)Svaki put kada se proces prevodi u aktivno stanje nastaje promena konteksta:

Vrednosti registara do tada aktivnog procesa se smeštaju u njegov PCB i on prelazi u stanje SpremanPrethodno zapamćene vrednosti registara novo aktiviranog procesa se iz njegovog PCB smeštaju u registre procesora i novi proces nastavlja izvršavanje od instrukcije koja je prekinuta kada je proces prešao u stanje spreman (nakon isteka dodeljenog vremenskog perioda za izvršavanje) ili u stanje čekanja (ukoliko je aktivirao neku U/I operaciju)

Page 14: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 14

Planiranje procesa (CPU Scheduling)Postupak određivanja koji proces spreman za izvršenje (u stanju spreman) treba da bude aktiviran

Veliki broj procesa može biti u stanju spremanSamo jedan proces može biti u stanju aktivan

Planiranje procesa se obavlja po principu raspodele vremena CPU (time sharing) – kombinacijom sledeća dva algoritma

Kružni tok (Round Robin) - Svaki proces se izvršava određeni vremenski interval (kvant) i nakon isteka intervala vraća u stanje spreman (ukoliko nije završen ili aktivirao neku U/I operaciju), a sledeći proces po redu se aktivira i tako u krug Prioritet - Aktivira se proces najvećeg prioriteta. Statički prioritet se ne menja tokom životnog ciklusa procesa, dok je dinamički promenljiv. Sistemski procesi imaju generalno veći prioritet od korisničkih procesa

Page 15: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 15

Kružni tok (Round robin)

Raspodela procesorskogvremena na jednake delove svim spremnim procesimaPretpostavimo da je vremenski kvant 50 ms

Vreme izvršenja

Page 16: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 16

Upravljanje memorijom

FunkcijeDodela memorije procesima za smeštanje koda programa i podatakaOslobađanje memorije kada se proces završiEvidencija gde i kako su smešteni procesi u memoriji; svaki proces u memoriji čuva programski kod i podatke nad kojima se vrši obradaKonvertovanje logičke u fizičku adresu pri svakom referenciranju memorije od strane procesa koji se izvršava (aktivan proces)• Logička adresa (virtuelna ili relativna adresa) adresa

memorijske lokacije relativno u odnosu na početak programa i ima vrednosti od 0 do Max (veličine procesa u memoriji)

• Fizička adresa - Stvarna adresa bajta (reči) u glavnoj memoriji (RAM)

Page 17: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 17

Upravljanje memorijomMemorija je kontinualan skup bitova pri čemu svaki bajt (ili memorijska reč) ima jedinstvenu (fizičku) adresuMemorijske adrese počinju od 0 do N u zavisnosti od veličine glavne memorijePrimer:

Računar ima 128 MB memorijeSvaka reč (word) je veličine 8 BKoliko bitova je neophodno za adresiranje svake reči u memoriji?Odgovor: 24 bita

Page 18: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 18

Pojedinačno (jednoprogramsko) kontinualno upravljanje memorijom

Postoje samo dva procesa u memoriji: operativni sistem i aplikacioni programMemorija je podeljena u dve sekcije i sadržajem graničnog registra zaštićen je pristup procesa aplikacionog programa memorijskom prostoru u koji je smešten OSLogička adresa je celobrojnavrednost relativno u odnosu na početak procesa aplikativnogprogramaDa bi se generisala fizička adresa logička adresa se dodaje adresi počev od koje je smešten proces u glavnoj memoriji

Page 19: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 19

Upravljanje memorijomkorišćenjem particija

Memorija je podeljena na memorijske particije koje mogu biti zauzete ili slobodne

Fiksne particije – formiraju se prilikom podizanja (boot) sistemaDinamičke particije - Memorijske particije se dinamički kreiraju u memoriji na osnovu zauzimanja i oslobađanja memorije od strane procesa

Bazni registar - sadrži početnu adresu memorijske particije koja je dodeljena trenutno aktivnom procesuGranični registar - sadrži vrednost veličine memorijske particije aktivnog procesa

Page 20: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 20

Izvršavanje programa

CPU započinje izvršenje programa 1 CPU započinje izvršenje programa 2

Page 21: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 21

Upravljanje memorijom straničenjemStraničenje – Tehnika za nekontinualno upravljanje memorijom u kojoj je proces podeljen na stranice (page) fiksne veličine, uobičajeno 4KB (može biti 512B do 64KB i više), koje se smeštaju u nekontinualnestranične okvire (page frame) iste veličine u glavnoj memoriji.

Page 22: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 22

Tablica mapiranja stranica (PMT)Tablica mapiranja stranica (PMT – Page MapTable) - tablica koja vodi evidenciju o preslikavanju stranica procesa u straničneokvire u glavnoj memoriji, tj. daje informaciju koja stranica procesa je smeštena u koji stranični okvir u memorijiDa bi se generisala fizička adresa na osnovu tablice mapiranja stranica nalazi se broj straničnog okvira u koji je smeštena

Page 23: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 23

Virtuelna memorija

Veličina programa (procesa) može biti veća od veličine glavne memorije koja mu je na raspolaganju, pa se delovi procesa (stranice programa) koji se trenutno koriste smeštaju u glavnu memoriju, dok se ostale stranice čuvaju na disku. Proširenje glavne memorije prostorom na sekundarnoj memoriji (disku) naziva se virtuelna memorija.U operativnim sistemima se implementira korišćenjemstraničenja na zahtev (demand paging)

U memoriju se smeštaju samo one stranice procesa koje su neophodne za izvršavanje procesa, ostale stranice procesa su na disku sve dok ne budu potrebne, kada se prebacuju u glavnu memoriju

Page 24: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 24

Upravljanje U/I uređajima

Sakriva detalje i specifičnosti svakog hardverskog uređaja od korisnikaOsnovne funkcije:

Obezbeđuje jedinstveni interfejs prema U/I uređajima Pomoću drajvera uređaja vrši upravljanje specifičnim U/I uređajimaPlanira, dodeljuje i oslobađa U/I uređajeObezbeđuje mehanizme za efikasno izvršavanje U/I operacija (baferovanje, keširanje i spool-ovanje) Obezbeđuje efikasnost rada U/I uređaja i upravljanje greškama

Page 25: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 25

U/I uređaji

Knjiga Osnovi računarske tehnike (poglavlja 14.1, 14.2, 14.3, 14.4)Elektromehanički U/I uređaj (tastatura, miš, monitor, disk, itd.)U/I kontroler (adapter, PC kartica) – čip, ili skup čipova na ploči ili kartici koji upravlja uređajem, obezbeđujući jednostavan interfejs prema OS u vidu registara za kontrolu uređaja, podatke, status uređaja i adresu (čitanja ili upisa)

Magistrala

Monitor

Page 26: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 26

Načini izvršenja U/I operacijaProgramirani U/I – aplikativni program poziva U/I funkciju (read, write), koja poziva drajver uređaja koji aktivira U/I kontroler, i povremeno proverava da li je uređaj završio. Ako je završio, smešta rezultujuće podatke u memorijski bafer i vraća kontrolu aplikativnomprogramu. CPU izvršava drajver, ne radeći ništa drugo (busy waiting)

Prekidima vođen U/I – drajver aktivira U/I kontroler i zahteva da kontroler generiše prekid kada završi. Drajver završava i OS taj proces aplikativnog programa postavlja u stanje čekanja i aktivira sledeći proces. Kada kontroler obavi U/I operaciju, generiše prekid koji se preko kontrolera prekida šalje CPU. OS na osnovu broja uređaja koji je izazvao prekid aktivira proceduru za obradu prekida, koja obavlja transfer podataka, a zatim se aktivira proces koji je prekinut.U/I korišćenjem DMA (Direct Memory Access) – Koristi se poseban DMA čip koji omogućava prenos veće količine podataka između memorije i kontrolera bez intervencije CPU. CPU aktivira DMA čip, specificirajući uređaj i memorijsku adresu, kao i broj bajtova koje treba prebaciti. DMA generiše prekid kojim obaveštava CPU o završetku prenosa

Page 27: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 27

U/I uravljan prekidimaKoraci u aktiviranju U/I uređaja i prihvatanje prekida (a)

Drajver nalaže kontroleru šta treba da uradi upisujući vrednosti u njegove registre (1)Kada kontroler završi sa čitanjem/upisom aktivira kontroler prekida (2)Kontroler prekida informiše CPU o nastalom prekidu (3) i prosleđuje informaciju o tome koji kontroler uređaja je aktivirao prekid (4)

Obrada prekida (b) – Tekuća instrukcija programa se prekida, i izvršenje prenosi na rutinu za obradu prekida (deo drajvera)

Page 28: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 28

Upravljanje ulazno/izlaznim (U/I) uređajima

U/I softver

U/I hardver

Procedure za obradu prekida

Drajveri uređaja (upravljački programi)

U/I softver nezavistan od U/I uređaja

Aplikativni program

Page 29: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 29

U/I softverProcedure za obradu prekida (interrupt handler) –procedure koje se izvršavaju u slučaju nastanka prekida (interrupt) od U/I uređaja Drajveri uređaja (device drajver) – softver koji upravlja radom U/I kontrolera, izdajući mi komande i prihvatajući rezultat. Svaki proizvođač U/I kontrolera i U/I uređaja razvija drajver za svaki OS (Windows, Unix, Linux, itd.) Drajveri se prilikom instaliranja integrišu u OSOS U/I softver nezavistan od U/I uređaja

Izvršava U/I funkcije koje su zajedničke za sve U/I uređajeObezbeđuje aplikativnim programima jedinstven programski interfejs nezavisno od tipa uređaja i U/I kontrolera. (U aplikativnom programu poziva se funkcija read za čitanje podataka sa sekundarne memorije bez obzira da li se radi o hard disku, cd rom-u, USB flash disku, itd.)

Page 30: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 30

Upravljanje datotekama (File system)

Obezbeđuje organizovanje i pristup podacima na sekundarnim (trajnim) memorijama računarskog sistemaPodaci su organizovani u datoteke, a datoteke su grupisane u direktorijume (foldere, adresare, kataloge)Osnovne funkcije:

Prevođenje logičke adrese (broj bloka) u fizičku adresu (cilindar, staza, sektor)Kreiranje i brisanje datoteka i obezbeđenje operacija za rad sa datotekama (otvaranje, zatvaranje, čitanje, upis, pozicioniranje,...)Evidencija blokova na sekundarnoj memoriji u kojima je smeštena datotekaEvidencija slobodnog prostora na sekundarnoj memoriji za smeštanje novih datotekaZaštita datoteka i podataka u njima od neovlašćenog pristupa, modifikovanja i brisanja

Page 31: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 31

Upravljanje datotekamaDatoteke – imenovana kolekcija logički povezanih, homogenih podataka

Ime datoteke, tip datoteke (ekstenzija), veličina, datum kreiranja/modifikacije, prava pristupa, itd.

Direktorijumi (folderi, adresari, katalozi) –sadrže spisak datoteka i direktorijuma nižeg nivoa

Korenski direktorijum (root) – C:\Hijerarhijska organizacija direktorijuma u stablo (graf)Putevi (path) do datoteka i direktorijuma• Apsolutni – počev od direktorijuma korena, navođenje svih

direktorijuma do konačne datoteke ili direktorijuma• Relativni – počev od radnog direktorijuma, korišćenjem

simbola . (tekući direktorijum) i .. (direktorijum iznad)

Page 32: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 32

Direktorijumi (folderi) i putevi

Hard Disk C:

UR Istrazivanje

Lec1.ppt

Lec1.doc

Hobi

Sport Putovanja Umetnost

Apsolutni put C:\UR\Lec1.ppt

Relativni put ..\UR\Lec1.ppt

Radni direktorijum

Page 33: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 33

Windows Explorer

Page 34: Operativni_sistemi

Prof. dr Dragan Stojanović

Operativni sistemi

Uvod u računarstvo 34

Za domaći zadatak

U knjizi Osnovi računarske tehnike (poglavlje 15 Softver računara), pročitati sledeća poglavlja:

15.1 Hardver i softver računarskih sistema15.2 Sistemski softver15.3 Režimi rada računarskih sistema15.4 Operativni sistem15.5 Programski sistem15.6 Uslužni programi15.7 Aplikacioni softver