UVOD U RAUNARSTVO
- Operativni sistemi -
Katedra za Raunarstvo,
Elektronski fakultet, Univerzitet u Niu
2Softver
Aplikativni softver softver namenjen specifinim potrebama korisnika za reavanje konkretnih problema
Programi za obradu teksta, video igre, softver za obraun plata, softver za voenje balistikih raketa, itd.
Sistemski softver Softver za upravljanje raunarskim sistemom na osnovnom nivou, zajedniki za sve raunarske sisteme, nezavisno od konkretne primene raunara od strane korisnika
Predstavlja osnovu za funkcionisanje aplikativnogsoftvera
3Aplikativni softverPoslovni softver
Specifine poslovne aplikacije, planiranje resursa preduzea, upravljanje odnosom sa klijentima, voenje poslovanja, upravljanje projektima, raunarsko izdavatvo, projektovanje pomou raunara (CAD), ...
Softver za kunu i linu upotrebuLine finansije, grafiki dizajn, zabava i kompjuterske igre, ...
Softver za poboljanje produktivnostiObrada slike, tabelarna izraunavanja, prezentacije, baze podataka, upravljanje linim informacijama
Multimedijalni softverEditovanje slika i fotografija, kreiranje crtea i vektorske grafike, kreiranje multimedijalnih sadraja, preuzimanje i editovanje videa, kreiranje i reprodukovanje muzikih sadraja, ...
Komunikacioni/Internet softverInternet pretraivai, e-mail klijenti, instant messenger (ICQ), chat, ...
Edukativni softverEnciklopedije, tutorijali, turistiki vodii, ...
4Sistemski softver
Operativni sistem
Programski sistemKompajleri programski jezika, linkeri, debageri, editori, integrisana razvojna okruenja, softverski alati za razvoj softvera (CASE)
Komunikacioni softverSoftver za povezivanje raunara u mreu i deljenje resursa
Usluni softverDisk doktor, sistemske informacije, anti-virusni softver, kompresovanje podataka, ...
Grafiki sistemProgrami za proveru ispravnosti raunarskog sistema, upravljanje i unapreenje performansi raunara i za detekciju greaka u hardveru i softveru raunara
5Operativni sistem
Skup programa smetenih u memoriju prilikom boot-ovanja raunara za upravljanje radom hardvera i softvera raunarskog sistemaOperativni sistemi: Windows 7/Vista/XP/..., UNIX, Linux, Mac OS X, Solaris, Android, Symbian, itd.
Aplikativni softver
Operativni sistem
Hardware
Korisnik
6Klasifikacija operativnih sistemaPrema tipu raunara
OS za mainframe raunare, super raunare, mini raunare, radne stanice, servere, personalne raunare (PC), rune raunare (PocketPC, Palm), pametne telefone, ugraene raunare, pametne kartice, itd.
Prema broju istovremenih korisnikaJednokorisniki (Windows) i viekorisniki (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 sledei, i tako u krug; korisniku izgleda da se svi programi istovremeno izvravaju, a u stvari izvravaju se jedan po jedan smenjujui se u kratkim vremenskim intervalima (kvazi-paralelno)
7Operativni sistem...
Upravlja resursima raunarskog sistema, kako hardverskim (CPU, glavna memorija, ulazno/izlazni ureaji, sekundarne memorije), tako i softverskim (strukture podataka u glavnoj memoriji, datoteke, softver, itd.)
Obezbeuje da svaki startovani program dobije resurse neophodne za izvrenje
Obezbeuje interfejs za interakciju korisnika sa raunaromObezbeuje okruenje za izvrenje aplikacionih programa i njihovu interakciju sa resursima raunarskog sistema
8Komponente operativnog sistemaUpravljanje procesimaUpravljanje glavnom memorijomUpravljanje U/I ureajimaUpravljanje datotekama (File system) - upravljanje podacima na sekundarnim memorijama organizovanim u datoteke i direktorijumeSigurnost i zatitaInterakcija sa korisnikom putem interpretacije komandnog jezika ili grafikim korisnikim interfejsom (GUI)
9Upravljanje procesima
Osnovne funkcijeKreiranje i terminiranje procesa Suspendovanje i ponovo aktiviranje procesaPlaniranje izvrenja procesa i upravljanje centralnim procesorom (-ima)Obezbeenje mehanizama za sinhronizaciju i komunikaciju izmeu procesaObezbeenje mehanizama za upravljanje deadlock-om (smrtni zagrljaj, uzajamno blokiranje)
10
Upravljanje procesimaProgram je skup programskih instrukcija i podataka organizovanih u obliku izvrne datoteke na disku (.exe). Startovanjem programa aktivira se proces (task)Proces predstavlja izvravanje programa. Prilikom startovanja programa u glavnu memoriju (RAM) se uitavaju instrukcije programa i podaci koji se obrauju i zapoinje izvravanje instrukcija nad podacimaMultiprogramiranje tehnika OS kojom se omoguava da u isto vreme vie programa bude u glavnoj memoriji i da procesi njima aktivirani konkuriu za dobijanje CPU radi izvrenja, a takoe konkuriu i za druge resurse raunarskog sistemaPlaniranje procesa postupak odreivanja koji e proces sledei biti izvravan na CPU (Planer procesa - Scheduler)PCB (Process Control Block) za svaki startovani proces OS odrava strukturu podataka sa informacijama o tom procesu (identifikator, prioritet, vreme kreiranja, vreme izvrenja, memorija koju zauzima, datoteke koje koristi, itd); skup PCB svih startovanih procesa ini tablicu procesa
11
Procesi
OS je zaduen za startovanje, izvravanje i stopiranje procesa (programa) na raunaru
12
Stanja procesaStanja procesa (ivotni ciklus procesa)
Aktivan (Running) proces se izvrava na CPU Spreman (Ready) proces se nalazi u memoriji i spreman je za izvrenje, kad mu se dodeli CPUBlokiran (Waiting) proces eka na zavretak U/I operacije ili neki dogaaj da bi mogao da nastavi sa izvravanjem
Blokiran
Spreman Aktivan
Startuje se Zavren
Dobio CPU
Istekao vremenski kvant
Zahtev za U/I operacijom
Zavrena U/I operacija
13
Promena konteksta (Context switch)Postoji samo jedan CPU (jedno-procesorski raunar) i njemu pridruen skup registara koji sadre vrednosti u skladu sa trenutnim izvravanjem aktivnog procesa (kontekst procesa)Svaki put kada se proces prevodi u aktivno stanje nastaje promena konteksta:
Vrednosti registara do tada aktivnog procesa se smetaju u njegov PCB i on prelazi u stanje SpremanPrethodno zapamene vrednosti registara novo aktiviranog procesa se iz njegovog PCB smetaju u registre procesora i novi proces nastavlja izvravanje od instrukcije koja je prekinuta kada je proces preao u stanje spreman (nakon isteka dodeljenog vremenskog perioda za izvravanje) ili u stanje ekanja (ukoliko je aktivirao neku U/I operaciju)
14
Planiranje procesa (CPU Scheduling)Postupak odreivanja koji proces spreman za izvrenje (u stanju spreman) treba da bude aktiviran
Veliki broj procesa moe biti u stanju spremanSamo jedan proces moe biti u stanju aktivan
Planiranje procesa se obavlja po principu raspodele vremena CPU (time sharing) primenom sledea dva algoritma:
Kruni tok (Round Robin) - Svaki proces se izvrava odreeni vremenski interval (kvant) i nakon isteka intervala vraa u stanje spreman (ukoliko nije zavren ili aktivirao neku U/I operaciju), a sledei proces po redu se aktivira i tako u krug Prioritet - Aktivira se proces najveeg prioriteta. Statiki prioritet se ne menja tokom ivotnog ciklusa procesa, dok je dinamiki promenljiv. Sistemski procesi imaju generalno vei prioritet od korisnikih procesa
15
Kruni tok (Round robin)
Raspodela procesorskogvremena na jednake delove svim spremnim procesimaPretpostavimo da je vremenski kvant 50 ms
Vreme izvrenja
16
Upravljanje memorijom
FunkcijeDodela memorije procesima za smetanje koda programa i podatakaOslobaanje memorije kada se proces zavriEvidencija gde i kako su smeteni procesi u memoriji; svaki proces u memoriji uva programski kod i podatke nad kojima se vri obradaKonvertovanje logike u fiziku adresu pri svakom referenciranju memorije od strane procesa koji se izvrava (aktivan proces) Logika adresa (virtuelna ili relativna adresa) adresa memorijske lokacije relativno u odnosu na poetak programa i ima vrednosti od 0 do Max (veliine procesa u memoriji)
Fizika adresa - Stvarna adresa bajta (rei) u glavnoj memoriji (RAM)
17
Upravljanje memorijomMemorija je kontinualan skup bitova pri emu svaki bajt (ili memorijska re) ima jedinstvenu (fiziku) adresuMemorijske adrese poinju od 0 do N u zavisnosti od veliine glavne memorijePrimer:
Raunar ima 128 MB memorijeSvaka re (word) je veliine 8 BKoliko bitova je neophodno za adresiranje svake rei u memoriji?Odgovor: 24 bita
18
Pojedinano (jednoprogramsko) kontinualno upravljanje memorijom
Postoje samo dva procesa u memoriji: operativni sistem i aplikacioni programMemorija je podeljena u dve sekcije i sadrajem graninog registra zatien je pristup procesa aplikacionog programa memorijskom prostoru u koji je smeten OSLogika adresa je celobrojnavrednost relativno u odnosu na poetak procesa aplikativnogprogramaDa bi se generisala fizika adresa logika adresa se dodaje adresi poev od koje je smeten proces u glavnoj memoriji
19
Upravljanje memorijomkorienjem particija
Memorija je podeljena na memorijske particije koje mogu biti zauzete ili slobodne
Fiksne particije formiraju se prilikom podizanja (boot) sistemaDinamike particije - Memorijske particije se dinamiki kreiraju u memoriji na osnovu zauzimanja i oslobaanja memorije od strane procesa
Bazni registar - sadri poetnu adresu memorijske particije koja je dodeljena trenutno aktivnom procesuGranini registar - sadri vrednost veliine memorijske particije aktivnog procesa
20
Izvravanje programa
CPU zapoinje izvrenje programa 1 CPU zapoinje izvrenje programa 2
21
Upravljanje memorijom stranienjemStranienje Tehnika za nekontinualno upravljanje memorijom u kojoj je proces podeljen na stranice (page) fiksne veliine, uobiajeno 4KB (moe biti 512B do 64KB i vie), koje se smetaju u nekontinualnestranine okvire (page frame) iste veliine u glavnoj memoriji.
22
Upravljanje U/I ureajima
Sakriva detalje i specifinosti svakog hardverskog ureaja od korisnikaOsnovne funkcije:
Obezbeuje jedinstveni interfejs prema U/I ureajima Pomou drajvera ureaja vri upravljanje specifinim U/I ureajimaPlanira, dodeljuje procesima i oslobaa U/I ureajeObezbeuje efikasnost rada U/I ureaja i upravljanje grekama
23
U/I ureaji
Elektromehaniki U/I ureaj (tastatura, mi, monitor, disk, itd.)U/I kontroler (adapter, PC kartica) ip, ili skup ipova na ploi ili kartici koji upravlja ureajem, obezbeujui jednostavan interfejs prema OS u vidu registara za kontrolu ureaja, podatke, status ureaja i adresu (itanja ili upisa)
Magistrala
Monitor
24
Naini izvrenja U/I operacijaProgramirani U/I aplikativni program poziva U/I funkciju (read, write), koja poziva drajver ureaja koji aktivira U/I kontroler, i povremeno proverava da li je ureaj zavrio. Ako je zavrio, smeta rezultujue podatke u memorijski bafer i vraa kontrolu aplikativnomprogramu. CPU izvrava drajver, ne radei nita drugo (busy waiting)
Prekidima voen U/I drajver aktivira U/I kontroler i zahteva da kontroler generie prekid kada zavri. Drajver zavrava i OS taj proces aplikativnog programa postavlja u stanje ekanja i aktivira sledei proces. Kada kontroler obavi U/I operaciju, generie prekid koji se preko kontrolera prekida alje CPU. OS na osnovu broja ureaja koji je izazvao prekid aktivira proceduru za obradu prekida, koja obavlja transfer podataka, a zatim se aktivira proces koji je prekinut.U/I korienjem DMA (Direct Memory Access) Koristi se poseban DMA ip koji omoguava prenos vee koliine podataka izmeu memorije i kontrolera bez intervencije CPU. CPU aktivira DMA ip, specificirajui ureaj i memorijsku adresu, kao i broj bajtova koje treba prebaciti. DMA generie prekid kojim obavetava CPU o zavretku prenosa
25
U/I upravljan prekidimaKoraci u aktiviranju U/I ureaja i prihvatanje prekida (a)
Drajver nalae kontroleru ta treba da uradi upisujui vrednosti u njegove registre (1)Kada kontroler zavri sa itanjem/upisom aktivira kontroler prekida (2)Kontroler prekida informie CPU o nastalom prekidu (3) i prosleuje informaciju o tome koji kontroler ureaja je aktivirao prekid (4)
Obrada prekida (b) Tekua instrukcija programa se prekida, i izvrenje prenosi na rutinu za obradu prekida (deo drajvera)
26
Upravljanje ulazno/izlaznim (U/I) ureajima
U/I softver
U/I hardver
Procedure za obradu prekida
Drajveri ureaja (upravljaki programi)
U/I softver nezavistan od U/I ureaja
Aplikativni program
27
U/I softverProcedure za obradu prekida (interrupt handler) procedure koje se izvravaju u sluaju nastanka prekida (interrupt) od U/I ureaja Drajveri ureaja (device drajver) softver koji upravlja radom U/I kontrolera, izdajui mu komande i prihvatajui rezultat. Svaki proizvoa U/I kontrolera i U/I ureaja razvija drajver za svaki OS (Windows, Unix, Linux, itd.) Drajveri se prilikom instaliranja integriu u OSOS U/I softver nezavistan od U/I ureaja
Izvrava U/I funkcije koje su zajednike za sve U/I ureajeObezbeuje aplikativnim programima jedinstven programski interfejs nezavisno od tipa ureaja 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.)
28
Upravljanje datotekama (File system)Obezbeuje organizovanje i pristup podacima na sekundarnim (trajnim) memorijama raunarskog sistemaPodaci su organizovani u datoteke, a datoteke su grupisane u direktorijume (foldere, adresare, kataloge)Osnovne funkcije:
Prevoenje logike adrese (broj bloka) u fiziku adresu (cilindar, staza, sektor)Kreiranje i brisanje datoteka i obezbeenje operacija za rad sa datotekama (otvaranje, zatvaranje, itanje, upis, pozicioniranje,...)Evidencija blokova na sekundarnoj memoriji u kojima je smetena datotekaEvidencija slobodnog prostora na sekundarnoj memoriji za smetanje novih datotekaZatita datoteka i podataka u njima od neovlaenog pristupa, modifikovanja i brisanja
29
Upravljanje datotekamaDatoteke imenovana kolekcija logiki povezanih, homogenih podataka
Ime datoteke, tip datoteke (ekstenzija), veliina, datum kreiranja/modifikacije, prava pristupa, itd.
Direktorijumi (folderi, adresari, katalozi) sadre spisak datoteka i direktorijuma nieg nivoa
Korenski direktorijum (root) C:\Hijerarhijska organizacija direktorijuma u stablo (graf)Putevi (path) do datoteka i direktorijuma Apsolutni poev od direktorijuma korena, navoenje svih direktorijuma do konane datoteke ili direktorijuma
Relativni poev od radnog direktorijuma, korienjem simbola . (tekui direktorijum) i .. (direktorijum iznad)
30
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.pptRadni direktorijum
31
Windows Explorer