7
Aplikativni softver softver namenjen specificnim potrebama korisnika za rešavanje konkretnih problema Programi za obradu teksta, video igre, softver za obracun plata, softver za vodenje balistickih raketa, itd. Sistemski softver Softver za upravljanje racunarskim sistemom na osnovnom nivou, zajednicki za sve racunarske sisteme, nezavisno od konkretne primene racunara od strane korisnika Predstavlja osnovu za funkcionisanje aplikativnog softvera Aplikativni softver Poslovni softver Specificne poslovne aplikacije, planiranje resursa preduzeca, upravljanje odnosom sa klijentima, vodenje poslovanja, upravljanje projektima, racunarsko izdavaštvo, projektovanje pomocu racunara (CAD), ... Softver za kucnu i licnu upotrebu Licne finansije, graficki dizajn, zabava i kompjuterske igre, ... Softver za poboljšanje produktivnosti Obrada slike, tabelarna izracunavanja, prezentacije, baze podataka, upravljanje licnim informacijama Multimedijalni softver Editovanje slika i fotografija, kreiranje crteža i vektorske grafike, kreiranje multimedijalnih sadržaja, preuzimanje i editovanje videa, kreiranje i reprodukovanje muzickih sadržaja, ... Komunikacioni/Internet softver Internet pretraživaci, e-mail klijenti, instant messenger (ICQ), chat, ... Edukativni softver Enciklopedije, tutorijali, turisticki vodici, ... 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 racunara u mrežu i deljenje resursa Uslužni softver Disk doktor, sistemske informacije, anti-virusni softver, kompresovanje podataka, ... Graficki sistem Programi za proveru ispravnosti racunarskog sistema, upravljanje i unapredenje performansi racunara i za detekciju grešaka u hardveru i softveru racunara Skup programa smeštenih u memoriju prilikom bootovanja racunara za upravljanje radom hardvera i softvera racunarskog sistema Operativni sistemi: Windows 7/Vista/XP/..., UNIX, Linux, Mac OS X, Solaris, Symbian, itd. Aplikativni softver Operativni sistem Hardware Korisnik Doc. dr Dragan Stojanovic Operativni sistemi Uvod u racunarstvo 6 Klasifikacija operativnih sistema Prema tipu racunara OS za mainframe racunare, super racunare, mini racunare, radne

Aplikativni softver

Embed Size (px)

Citation preview

Page 1: Aplikativni softver

Aplikativni softver – softver namenjen specificnimpotrebama korisnika za rešavanje konkretnih problemaProgrami za obradu teksta, video igre, softver za obracun plata,softver za vodenje balistickih raketa, itd.Sistemski softver – Softver za upravljanje racunarskimsistemom na osnovnom nivou, zajednicki za sveracunarske sisteme, nezavisno od konkretne primeneracunara od strane korisnikaPredstavlja osnovu za funkcionisanje aplikativnogsoftveraAplikativni softverPoslovni softverSpecificne poslovne aplikacije, planiranje resursa preduzeca, upravljanjeodnosom sa klijentima, vodenje poslovanja, upravljanje projektima,racunarsko izdavaštvo, projektovanje pomocu racunara (CAD), ...Softver za kucnu i licnu upotrebuLicne finansije, graficki dizajn, zabava i kompjuterske igre, ...Softver za poboljšanje produktivnostiObrada slike, tabelarna izracunavanja, prezentacije, baze podataka,upravljanje licnim informacijamaMultimedijalni softverEditovanje slika i fotografija, kreiranje crteža i vektorske grafike, kreiranje

multimedijalnih sadržaja, preuzimanje i editovanje videa, kreiranje ireprodukovanje muzickih sadržaja, ...Komunikacioni/Internet softverInternet pretraživaci, e-mail klijenti, instant messenger (ICQ), chat, ...Edukativni softverEnciklopedije, tutorijali, turisticki vodici, ...…Sistemski softverOperativni sistemUslužni softver (utility software)Programski sistem• Kompajleri programski jezika, linkeri, debageri, editori, integrisanarazvojna okruženja, softverski alati za razvoj softvera (CASE)Komunikacioni softver• Softver za povezivanje racunara u mrežu i deljenje resursaUslužni softver• Disk doktor, sistemske informacije, anti-virusni softver,kompresovanje podataka, ...Graficki sistemProgrami za proveru ispravnosti racunarskog sistema, upravljanjei unapredenje performansi racunara i za detekciju grešaka uhardveru i softveru racunaraSkup programa smeštenih u memoriju prilikom bootovanjaracunara za upravljanje radom hardvera isoftvera racunarskog sistemaOperativni sistemi: Windows 7/Vista/XP/..., UNIX, Linux,

Mac OS X, Solaris, Symbian, itd.Aplikativni softverOperativni sistemHardwareKorisnikDoc. dr Dragan StojanovicOperativni sistemiUvod u racunarstvo 6Klasifikacija operativnih sistemaPrema tipu racunaraOS za mainframe racunare, super racunare, mini racunare, radnestanice, servere, personalne racunare (PC), rucne racunare(PocketPC, Palm), pametne telefone, ugradene racunare, pametnekartice, itd.Prema broju istovremenih korisnikaJednokorisnicki (Windows) i višekorisnicki (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 sledeci, i tako u krug; korisnikuizgleda da se svi programi istovremeno izvršavaju, a u stvariizvršavaju se jedan po jedan smenjujuci se u kratkim vremenskimintervalima (kvazi-paralelno)Upravlja resursima racunarskog sistema, kakohardverskim (CPU, glavna memorija, ulazno/izlazni

Page 2: Aplikativni softver

uredaji, sekundarne memorije), tako i softverskim(strukture podataka u glavnoj memoriji, datoteke,softver, itd.)Obezbeduje da svaki startovani program dobije resurseneophodne za izvršenjeObezbeduje interfejs za interakciju korisnika saracunaromObezbeduje okruženje za izvršenje aplikacionihprograma i njihovu interakciju sa resursima racunarskogsistemaKomponente operativnogsistemaUpravljanje procesimaUpravljanje glavnom memorijomUpravljanje U/I uredajimaUpravljanje datotekama (File system) - upravljanjepodacima na sekundarnim memorijama organizovanim udatoteke i direktorijumeSigurnost i zaštitaInterakcija sa korisnikom putem interpretacijekomandnog jezika ili grafickim korisnickim interfejsom(GUI)Upravljanje procesimaOsnovne funkcijeKreiranje i brisanje procesaSuspendovanje i ponovo aktiviranje procesaPlaniranje izvršenja procesa i upravljanje centralnimprocesorom (-ima)Obezbedenje mehanizama za sinhronizaciju ikomunikaciju izmedu procesa

Obezbedenje mehanizama za upravljanje deadlockom(smrtni zagrljaj, zastoj)Upravljanje procesimaProgram je niz instrukcija i podataka nad kojima se izvršava obrada.Startovanjem programa aktivira se proces (task)Proces – aktivnost definisana izvršavanjem instrukcija programa nadpodacima. Prilikom startovanja programa u memoriju se ušitavajuinstrukcije programa i podaci koji se obraduju i zapocinje procesMultiprogramiranje – tehnika kojom se omogucava da u isto vremeviše programa bude u glavnoj memoriji i da procesi njima aktiviranikonkurišu za dobijanje CPU radi izvršenja, a takode konkurišu i zadruge resurse racunarskog sistemaPlaniranje procesa – postupak odredivanja koji ce proces sledeci bitiizvršavan na CPU (Planer procesa - Scheduler)PCB (Process Control Block) – za svaki startovani proces OS održavastrukturu 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 cinitablicu procesaProcesiOS je zadužen za loadovanje,startovanje,izvršavanje i stopiranje

procesa (programa) naracunaruStanja procesaStanja procesa (životni ciklus procesa)Aktivan (Running) – proces se izvršava na CPUSpreman (Ready) – proces se nalazi u memoriji i spreman je zaizvršenje, kad mu se dodeli CPUCeka (Waiting) – proces ceka na završetak U/I operacije ili nekidogadaj da bi mogao da nastavi sa izvršavanjemBlokiranSpreman AktivanStartuje se ZavršenDobio CPUIstekaovremenski kvantZahtev za U/IoperacijomZavršena U/IoperacijaPromena konteksta (Context switch)Postoji samo jedan CPU (jedno-procesorski racunar) injemu pridružen skup registara koji sadrže vrednosti uskladu sa trenutnim izvršavanjem aktivnog procesa(kontekst procesa)Svaki put kada se proces prevodi u aktivno stanjenastaje promena konteksta:Vrednosti registara do tada aktivnog procesa se smeštaju unjegov PCB i on prelazi u stanje SpremanPrethodno zapamcene vrednosti registara novo aktiviranogprocesa se iz njegovog PCB smeštaju u registre procesora i novi

Page 3: Aplikativni softver

proces nastavlja izvršavanje od instrukcije koja je prekinuta kadaje proces prešao u stanje spreman (nakon isteka dodeljenogvremenskog perioda za izvršavanje) ili u stanje cekanja (ukolikoje aktivirao neku U/I operaciju)Planiranje procesa (CPU Scheduling)Postupak odredivanja koji proces spreman za izvršenje(u stanju spreman) treba da bude aktiviranVeliki broj procesa može biti u stanju spremanSamo jedan proces može biti u stanju aktivanPlaniranje procesa se obavlja po principu raspodelevremena CPU (time sharing) – kombinacijom sledeca dvaalgoritmaKružni tok (Round Robin) - Svaki proces se izvršava odredenivremenski interval (kvant) i nakon isteka intervala vraca u stanjespreman (ukoliko nije završen ili aktivirao neku U/I operaciju), asledeci proces po redu se aktivira i tako u krugPrioritet - Aktivira se proces najveceg prioriteta. Statickiprioritet se ne menja tokom životnog ciklusa procesa, dok jedinamicki promenljiv. Sistemski procesi imaju generalno veciprioritet od korisnickih procesaKružni tok (Round robin)Raspodela procesorskogvremena na jednakedelove svim spremnim

procesimaPretpostavimo da jevremenski kvant 50 msVreme izvršenjaUpravljanje memorijomFunkcijeDodela memorije procesima za smeštanje kodaprograma i podatakaOslobadanje memorije kada se proces završiEvidencija gde i kako su smešteni procesi u memoriji;svaki proces u memoriji cuva programski kod i podatkenad kojima se vrši obradaKonvertovanje logicke u fizicku adresu pri svakomreferenciranju memorije od strane procesa koji seizvršava (aktivan proces)• Logicka adresa (virtuelna ili relativna adresa) adresamemorijske lokacije relativno u odnosu na pocetak programa iima vrednosti od 0 do Max (velicine procesa u memoriji)• Fizicka adresa - Stvarna adresa bajta (reci) u glavnojmemoriji (RAM)Doc. dr Dragan StojanovicOperativni sistemiUvod u racunarstvo 17Upravljanje memorijomMemorija je kontinualan skupbitova pri cemu svaki bajt (ilimemorijska rec) imajedinstvenu (fizicku) adresuMemorijske adrese pocinju od0 do N u zavisnosti od velicineglavne memorijePrimer:

Racunar ima 128 MB memorijeSvaka rec (word) je velicine 8 BKoliko bitova je neophodno zaadresiranje svake reci umemoriji?Odgovor: 24 bitaPojedinacno (jednoprogramsko)kontinualno upravljanje memorijomPostoje samo dva procesa umemoriji: operativni sistem iaplikacioni programMemorija je podeljena u dve sekcijei sadržajem granicnog registrazašticen je pristup procesaaplikacionog programamemorijskom prostoru u koji jesmešten OSLogicka adresa je celobrojnavrednost relativno u odnosu napocetak procesa aplikativnogprogramaDa bi se generisala fizicka adresalogicka adresa se dodaje adresipocev od koje je smešten proces uglavnoj memorijiDoc. dr Dragan StojanovicOperativni sistemiUvod u racunarstvo 19Upravljanje memorijomkorišcenjem particijaMemorija je podeljena na memorijskeparticije koje mogu biti zauzete ilislobodneFiksne particije – formiraju se

Page 4: Aplikativni softver

prilikom podizanja (boot) sistemaDinamicke particije - Memorijskeparticije se dinamicki kreiraju umemoriji na osnovu zauzimanja ioslobadanja memorije od straneprocesaBazni registar - sadrži pocetnuadresu memorijske particije koja jedodeljena trenutno aktivnom procesuGranicni registar - sadrži vrednostvelicine memorijske particije aktivnogprocesaIzvršavanje programaCPU zapocinje izvršenje programa 1 CPU zapocinje izvršenje programa 2Upravljanje memorijom stranicenjemStranicenje – Tehnika za nekontinualno upravljanje memorijom ukojoj je proces podeljen na stranice (page) fiksne velicine, uobicajeno4KB (može biti 512B do 64KB i više), koje se smeštaju u nekontinualnestranicne okvire (page frame) iste velicine u glavnoj memoriji.Tablica mapiranja stranica (PMT)stranica (PMT – Page MapTable) - tablica koja vodievidenciju o preslikavanjustranica procesa u stranicneokvire u glavnoj memoriji, tj.daje informaciju koja stranicaprocesa je smeštena u kojistranicni okvir u memoriji

Da bi se generisala fizickaadresa na osnovu tablicemapiranja stranica nalazi sebroj stranicnog okvira u kojije smeštenaVirtuelna memorija.Velicina programa (procesa) može biti veca odvelicine glavne memorije koja mu je naraspolaganju, pa se delovi procesa (straniceprograma) koji se trenutno koriste smeštaju uglavnu memoriju, dok se ostale stranice cuvajuna disku.Proširenje glavne memorije prostorom nasekundarnoj memoriji (disku) naziva se virtuelnamemorija.Upravljanje U/I uredajimaSakriva detalje i specificnosti svakoghardverskog uredaja od korisnikaOsnovne funkcije:Obezbeduje jedinstveni interfejs prema U/I uredajimaPomocu drajvera uredaja vrši upravljanje specificnimU/I uredajimaPlanira, dodeljuje i oslobada U/I uredajeObezbeduje mehanizme za efikasno izvršavanje U/Ioperacija (baferovanje, keširanje i spool-ovanje)Obezbeduje efikasnost rada U/I uredaja i upravljanjegreškamaElektromehanicki U/I uredaj (tastatura, miš, monitor, disk, itd.)

U/I kontroler (adapter, PC kartica) – cip, ili skup cipova na ploci ilikartici koji upravlja uredajem, obezbedujuci jednostavan interfejsprema OS u vidu registara za kontrolu uredaja, podatke, statusuredaja i adresu (citanja ili upisa)MagistralaMonitorNacini izvršenja U/I operacijaProgramirani U/I – aplikativni program poziva U/I funkciju (read,write), koja poziva drajver uredaja koji aktivira U/I kontroler, ipovremeno proverava da li je uredaj završio. Ako je završio, smeštarezultujuce podatke u memorijski bafer i vraca kontrolu aplikativnomprogramu. CPU izvršava drajver, ne radeci ništa drugo (busy waiting)Prekidima voden U/I – drajver aktivira U/I kontroler i zahteva dakontroler generiše prekid kada završi. Drajver završava i OS taj procesaplikativnog programa postavlja u stanje cekanja i aktivira sledeciproces. Kada kontroler obavi U/I operaciju, generiše prekid koji sepreko kontrolera prekida šalje CPU. OS na osnovu broja uredaja koji jeizazvao prekid aktivira proceduru za obradu prekida, koja obavljatransfer podataka, a zatim se aktivira proces koji je prekinut.U/I korišcenjem DMA (Direct Memory Access) – Koristi se poseban

Page 5: Aplikativni softver

DMA cip koji omogucava prenos vece kolicine podataka izmedumemorije i kontrolera bez intervencije CPU. CPU aktivira DMA cip,specificirajuci uredaj i memorijsku adresu, kao i broj bajtova koje trebaprebaciti. DMA generiše prekid kojim obaveštava CPU o završetkuprenosaU/I uravljan prekidimaKoraci u aktiviranju U/I uredaja i prihvatanje prekida (a)Drajver nalaže kontroleru šta treba da uradi upisujuci vrednosti unjegove registre (1)Kada kontroler završi sa citanjem/upisom aktivira kontroler prekida (2)Kontroler prekida informiše CPU o nastalom prekidu (3) i prosledujeinformaciju o tome koji kontroler uredaja je aktivirao prekid (4)Obrada prekida (b) – Tekuca instrukcija programa se prekida, iizvršenje prenosi na rutinu za obradu prekida (deo drajvera)Upravljanje ulazno/izlaznim(U/I) uredajimaU/I softverHardverProcedure za obradu prekidaDrajveri uredaja (upravljacki programi)U/I softver nezavistan od U/I uredajaAplikativni programU/I softverProcedure za obradu prekida (interrupt handler) –procedure koje se izvršavaju u slucaju nastanka prekida

(interrupt) od U/I uredajaDrajveri uredaja (device drajver) – softver koji upravljaradom U/I kontrolera, izdajuci mi komande i prihvatajucirezultat. Svaki proizvodac U/I kontrolera i U/I uredajarazvija drajver za svaki OS (Windows, Unix, Linux, itd.)Drajveri se prilikom instaliranja integrišu u OSOS U/I softver nezavistan od U/I uredajaIzvršava U/I funkcije koje su zajednicke za sve U/I uredajeObezbeduje aplikativnim programima jedinstven programskiinterfejs nezavisno od tipa uredaja i U/I kontrolera.(U aplikativnom programu poziva se funkcija read za citanjepodataka sa sekundarne memorije bez obzira da li se radi o harddisku, cd rom-u, flash disku, itd.)Upravljanje datotekama (File system)Obezbeduje organizovanje i pristup podacima nasekundarnim (trajnim) memorijama racunarskog sistemaPodaci su organizovani u datoteke, a datoteke sugrupisane u direktorijume (foldere, adresare, kataloge)Osnovne funkcije:Prevodenje logicke adrese (broj bloka) u fizicku adresu (cilindar,staza, sektor)Vodenje evidencije u kojim blokovima na sekundarnoj memoriji je

smeštena koja datotekaKreiranje i brisanje datoteka i obezbedenje operacija za rad sadatotekama (otvaranje, zatvaranje, citanje, upis, pozicioniranje,...)Evidencija slobodnog prostora na sekundarnoj memoriji zasmeštanje novih datotekaZaštita datoteka i podataka u njima od neovlašcenog pristupa,modifikovanja i brisanjaDatoteke – imenovana kolekcija logickipovezanih, homogenih podatakaIme datoteke, tip datoteke (ekstenzija), velicina,datum kreiranja/modifikacije, prava pristupa, itd.Direktorijumi (folderi, adresari, katalozi) –sadrže spisak datoteka i direktorijuma nižeg nivoaKorenski direktorijum (root) – C:\Hijerarhijska organizacija direktorijuma u stablo (graf)Putevi (path) do datoteka i direktorijuma• Apsolutni – pocev od direktorijuma korena, navodenje svihdirektorijuma do konacne datoteke ili direktorijuma• Relativni – pocev od radnog direktorijuma, korišcenjemsimbola . (tekuci direktorijum) i .. (direktorijum iznad)Direktorijumi (Folderi) i puteviHard Disk C:UR IstrazivanjeLec1.pptLec1.docHobiSport Putovanja Umetnost

Page 6: Aplikativni softver

Apsolutni put C:\UR\Lec1.pptRelativni put ..\UR\Lec1.pptRadni direktorijum