Operativni_sistemi

Page 1

UVOD U RAČUNARSTVO - Operativni sistemi Katedra za Računarstvo, Elektronski fakultet, Univerzitet u Nišu

Prof. dr Dragan Stojanović

Uvod u računarstvo Računarstvo i informatika

2010


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 aplikativnog softvera

Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

2


Aplikativni softver Poslovni 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 upotrebu Lične finansije, grafički dizajn, zabava i kompjuterske igre, ...

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

Multimedijalni softver Editovanje 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 softver Internet pretraživači, e-mail klijenti, instant messenger (ICQ), chat, ...

Edukativni softver Enciklopedije, tutorijali, turistički vodiči, ...

… Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

3


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 sistem Programi za proveru ispravnosti računarskog sistema, upravljanje i unapređenje performansi računara i za detekciju grešaka u hardveru i softveru računara

Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

4


Operativni sistem Skup programa smeštenih u memoriju prilikom bootovanja računara za upravljanje radom hardvera i softvera računarskog sistema Operativni sistemi: Windows 7/Vista/XP/..., UNIX, Linux, Mac OS X, Solaris, Android, Symbian, itd. Aplikativni softver

Korisnik

Operativni sistem Hardware

Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

5


Klasifikacija operativnih sistema Prema 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 korisnika Jednokorisnički (Windows) i višekorisnički (Unix, Linux)

Prema broju startovanih programa Monoprogramski (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)

Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

6


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čunarom Obezbeđuje okruženje za izvršenje aplikacionih programa i njihovu interakciju sa resursima računarskog sistema Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

7


Komponente operativnog sistema Upravljanje procesima Upravljanje glavnom memorijom Upravljanje U/I uređajima Upravljanje datotekama (File system) - upravljanje podacima na sekundarnim memorijama organizovanim u datoteke i direktorijume Sigurnost i zaštita Interakcija sa korisnikom putem interpretacije komandnog jezika ili grafičkim korisničkim interfejsom (GUI)

Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

8


Upravljanje procesima Osnovne funkcije Kreiranje i brisanje procesa Suspendovanje i ponovo aktiviranje procesa Planiranje izvršenja procesa i upravljanje centralnim procesorom (-ima) Obezbeđenje mehanizama za sinhronizaciju i komunikaciju između procesa Obezbeđenje mehanizama za upravljanje deadlockom (smrtni zagrljaj, uzajamno blokiranje)

Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

9


Upravljanje procesima Program 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 podacima Multiprogramiranje – 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 sistema Planiranje 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 Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

10


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

Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

11


Stanja procesa Stanja 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 Startuje se

Završen

Dobio CPU Spreman Završena U/I operacija

Prof. dr Dragan Stojanović

Istekao vremenski kvant Blokiran Operativni sistemi Uvod u računarstvo

Aktivan Zahtev za U/I operacijom 12


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 Spreman Prethodno 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)

Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

13


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 spreman Samo 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 Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

14


Kružni tok (Round robin) Raspodela procesorskog vremena na jednake delove svim spremnim procesima Pretpostavimo da je vremenski kvant 50 ms

Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

Vreme izvršenja

15


Upravljanje memorijom Funkcije Dodela memorije procesima za smeštanje koda programa i podataka Oslobađanje memorije kada se proces završi Evidencija gde i kako su smešteni procesi u memoriji; svaki proces u memoriji čuva programski kod i podatke nad kojima se vrši obrada Konvertovanje 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) Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

16


Upravljanje memorijom Memorija je kontinualan skup bitova pri čemu svaki bajt (ili memorijska reč) ima jedinstvenu (fizičku) adresu Memorijske adrese počinju od 0 do N u zavisnosti od veličine glavne memorije Primer: Računar ima 128 MB memorije Svaka reč (word) je veličine 8 B Koliko bitova je neophodno za adresiranje svake reči u memoriji? Odgovor: 24 bita

Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

17


Pojedinačno (jednoprogramsko) kontinualno upravljanje memorijom Postoje samo dva procesa u memoriji: operativni sistem i aplikacioni program Memorija 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 OS Logička adresa je celobrojna vrednost relativno u odnosu na početak procesa aplikativnog programa Da bi se generisala fizička adresa logička adresa se dodaje adresi počev od koje je smešten proces u glavnoj memoriji Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

18


Upravljanje memorijom korišćenjem particija Memorija je podeljena na memorijske particije koje mogu biti zauzete ili slobodne Fiksne particije – formiraju se prilikom podizanja (boot) sistema Dinamič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 procesu Granični registar - sadrži vrednost veličine memorijske particije aktivnog procesa Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

19


Izvršavanje programa

CPU započinje izvršenje programa 1

Prof. dr Dragan Stojanović

CPU započinje izvršenje programa 2

Operativni sistemi Uvod u računarstvo

20


Upravljanje memorijom straničenjem Stranič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 nekontinualne stranične okvire (page frame) iste veličine u glavnoj memoriji.

Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

21


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

Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

22


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šćenjem stranič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 Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

23


Upravljanje U/I uređajima Sakriva detalje i specifičnosti svakog hardverskog uređaja od korisnika Osnovne funkcije: Obezbeđuje jedinstveni interfejs prema U/I uređajima Pomoću drajvera uređaja vrši upravljanje specifičnim U/I uređajima Planira, dodeljuje i oslobađa U/I uređaje Obezbeđ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 Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

24


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) Monitor

Magistrala Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

25


Načini izvršenja U/I operacija Programirani 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 aplikativnom programu. 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 Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

26


U/I uravljan prekidima Koraci 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)

Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

27


Upravljanje ulazno/izlaznim (U/I) uređajima U/I softver Aplikativni program U/I softver nezavistan od U/I uređaja Drajveri uređaja (upravljački programi) Procedure za obradu prekida U/I hardver

Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

28


U/I softver Procedure 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 OS OS U/I softver nezavistan od U/I uređaja Izvršava U/I funkcije koje su zajedničke za sve U/I uređaje Obezbeđ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.) Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

29


Upravljanje datotekama (File system) Obezbeđuje organizovanje i pristup podacima na sekundarnim (trajnim) memorijama računarskog sistema Podaci 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 datoteka Evidencija slobodnog prostora na sekundarnoj memoriji za smeštanje novih datoteka Zaštita datoteka i podataka u njima od neovlašćenog pristupa, modifikovanja i brisanja Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

30


Upravljanje datotekama Datoteke – 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) Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

31


Direktorijumi (folderi) i putevi Apsolutni put C:\UR\Lec1.ppt

Radni direktorijum

Relativni put ..\UR\Lec1.ppt

Hard Disk C:

UR

Istrazivanje

Lec1.ppt

Sport

Hobi

Putovanja

Umetnost

Lec1.doc

Prof. dr Dragan Stojanović

Operativni sistemi Uvod u raÄ?unarstvo

32


Windows Explorer

Prof. dr Dragan Stojanović

Operativni sistemi Uvod u raÄ?unarstvo

33


Za domaći zadatak U knjizi Osnovi računarske tehnike (poglavlje 15 Softver računara), pročitati sledeća poglavlja: 15.1 15.2 15.3 15.4 15.5 15.6 15.7

Hardver i softver računarskih sistema Sistemski softver Režimi rada računarskih sistema Operativni sistem Programski sistem Uslužni programi Aplikacioni softver

Prof. dr Dragan Stojanović

Operativni sistemi Uvod u računarstvo

34


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.