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