You are on page 1of 10

Softver

Uvod
U prethodnom poglavlju je dat pregled osnovnih računarskih hardverskih komponenti kao što su procesor,
unutrašnja i spoljašnja memorija, ulazni i izlazni uređaji itd., kao i osnovni principi njihovog funkcionisanja.
U delu knjige koji se odnosi na strukturu i funkcionisanje procesora opisan je način realizacije jedne
programske instrukcije (instrukcije sabiranja dva broja) na savremenim procesorima. Pri tome nismo obraćali
pažnju na poreklo jedne takve instrukcije. Instrukcije koje se realizuju na procesoru potiču od programa koji
je instaliran na računaru i pokrenut na izvršavanje od strane korisnika. Samim tim se nameće kao tema za
razmatranje nova komponenta računarskih sistema a koja se zove softver. Softver predstavlja sastavni deo
računarskih sistema. Vrlo često se kaže da je hardver materijalni deo računara dok je softver njegov
nematerijalni deo. Softver se najjednostavnije može opisati kao skup programa pomoću kojih korisnik
komunicira sa računarom i izdaje mu naredbe koje je potrebno izvršiti. To praktično znači da nijedan računar
ne bi mogao da funkcioniše bez odgovarajućeg pratećeg softvera.

U današnje vreme softeru se poklanja mnogo veća pažnja nego pre nekoliko decenija. Polovinom prošlog
veka dominantna oblast informatičkog razvoja bio je sam hardver zbog čega je i njegova cena bila izuzetno
visoka. Programi koje je trebalo realizovati pravljeni su specijalno za sam hardver i najčešće su bili
memorisani na samom hardveru. Na taj način specifičan hardver je izvršavao specifične zadatke. Međutim,
vremenom je uočena prednost primene računara u različitim sferama poslovanja što je za posledicu imalo
potrebu razvoja softvera različite namene. Trend razvoja hardvera je išao u smeru pravljenja univerzalnih
računara koji su mogli da podrže različite softvere. Takođe, softveri su postajali sve moćniji pa samim tim i
sve složeniji. Složenost softvera uslovljava angažovanje velikog broja stučnih ljudi za njihov razvoj. Zbog
svega navedenog cene hardvera su konstantno padale dok su, sa druge strane, cene softvera vrtoglavo rasle.

Proces kreiranja programa se naziva programiranje i predstavlja pisanje odgovarajućih instrukcija koje
računar treba da izvrši. Za pisanje programskih instrukcija koriste se posebni tzv. programski jezici o kojima
će kasnije biti više reči. Prema tome, svaki program predstavlja niz instrukcija za čije izvršavanje je
neophodno prethodno prevođenje na mašinski jezik, odnosno na formu kako je to opisano u prethodnom
poglavlju u delu koji se odnosi na izvršavanje instrukcija na procesoru.

Generalno, softver se deli na sistemski softver i aplikativni (korisnički) softver. Sistemski softver je
podjednako bitan za funkcionisanje savremenih računara koliko i hardver samog računara jer bez njega rad
na računaru nije moguć. Sistemski softver se sastoji od operativnog sistema i pomoćnih sistemskih
programa. Operativni sistem je ključni deo sistemskog softvera koji upravlja i koordinira hardverskim
resursima, upravlja aktivnostima računara, omogućava i nadgleda realizaciju aplikativnog softvera na
hardveru računara itd. Zbog toga se može reći da operativni sistem predstavlja kopču između hardvera i
aplikativnog softvera, odnosno korisnika (Slika 5.1).

Operativni sistem
Vrlo je teško dati univerzalnu definiciju operativnog sistema. Umesto toga je mnogo lakše opisati njegove
osnovne funkcije. Za običnog korisnika do susreta sa operativnim sistemom dolazi odmah po uključivanju
računara. Na prvi pogled, operativni sistem (bar onaj deo korisnik vidi) ne predstavlja nikakav poseban
sadržaj u odnosu na aplikativni softver (npr. MS Word). Međutim, u pozadini, operativni sistem obavlja vrlo
zahtevne zadatke.

Gledano iz tačke korisnika, operativni sistem treba da obezbedi:


• Udobno i jednostavno korišćenje računara koje se realizuje pomoću razumljivog korisničkog
interfejsa i
• Efikasan rad računara koji se ogleda u brzoj i, za korisnika, jednostavnoj realizaciji korisničkih
programa.

1
Funkcije operativnog sistema
S obzirom da operativni sistem ima zadatak da „oživi“ hardverski deo računara osnovne funkcije operativnih
sistema su se razvijale paralelno sa razvojem hardvera. Zbog toga savremeni računari imaju znatno složenije
operativne sisteme nego što je to bio slučaj pre 40 godina. Funkcije operativnih sistema savremenih računara
se mogu klasifikovati u 4 osnovne grupe:
1) Upravljanje sistemskim resursima,
2) Upravljanje izvršavanjem različitih poslova (sistemskih i aplikativnih),
3) Praćenje rada sistema i
4) Interfejs između korisnika i računara.

Upravljanje sistemskim resursima


Kod savremenih PC računara pokretanje operativnog sistema se vrši automatski prilikom uključivanja
računara. Proces uključivanja računara počinje učitavanjem tzv. „boot“ programa iz ROM memorije (BIOS).
Tom prilikom BIOS registruje konfiguraciju (strukturu) računara i proverava ispravnost svake komponente.
Ukoliko hardverske komponente računara pravilno funkcionišu vrši se učitavanje operativnog sistema u
radnu memoriju. Operativni sistem se prilikom instalacije smešta na spoljašnju memoriju (najčešće C
particiju hard diska) pa je stoga neophodno njegovo učitavanje u radnu memoriju. Prilikom učitavanja
operativnog sistema u radnu memoriju BIOS prosleđuje i očitanu konfiguraciju računara.

Kada se završi proces učitavanja, operativni sistem preuzima kotrolu nad procesima u računaru. Glavnu reč u
funkcionisanju operativnog sistema ima skup programa koji se naziva supervizor (u informatičkom žargonu
kernel ili jezgro). Supervizor se uvek nalazi u radnoj memoriji zbog čega se kaže da spada u grupu
rezidentnih programa. Ostali programi operativnog sistema ukoliko nisu potrebni ostaju u spoljašnjoj
memoriji (hard disku).

Supervizor je glavni menadžer svih procesa koji se odvijaju u računaru. S obzirom da se svaki proces
realizuje na procesoru i da prilikom svoje realizacije proces zauzima određenu količinu radne memorije
supervizor ima vrlo odgovoran zadatak da dodeljuje različitim procesima osnovne računarske resurse (CPU i
radnu memoriju) tako da se ne dogodi njihova interferencija (mešanje).

Upravljanje izvršavanjem različitih poslova


Dodeljivanje procesu resursa neophodnih za njegovu realizaciju nije jedini zadatak koji operativni sistem
ima. Pokretanje procesa se zasniva na njegovom učitavanju iz spoljašnje memorije u radnu memoriju i/ili
njegovo pozivanje iz radne memorije i dodeljivanje procesoru. To znači da je neophodno da operativni
sistem prati funkcionisanje sistema i da osluškuje ulazno/izlazne uređaje i da reaguje ukoliko je potrebno
pokretanje nekog programa (sistemskog ili aplikativnog). Za to je takođe zadužen supervizor operativnog
sistema.

Ova uloga operativnog sistema se pojavila sa pojavom operativnih sistema koji su podržavali višeprogramski
rad računara tj. mogućnost istovremenog izvršavanja više različitih programa. Kako je za izvršavanje
programa neophodan procesor, višeprogramsko izvršavanje se realizuje kroz smenjivanje programa koji se
realizuju na procesoru. Zbog brzine procesora savremenih računara korisnik ima utisak da se svi programi
izvršavaju istovremeno. Sam postupak smenjivanja procesa na procesoru računara izvršava supervizor. On
ima ekskluzivno pravo da dodeli procesor jednom procesu i da ga oduzme drugom.

Praćenje rada sistema


Operativni sistem prati realizaciju svake aktivnosti sistema i obaveštava korisnika ukoliko dođe do
eventualnih grešaka (npr. izgubljena konekcija sa internetom, nema papira u štampaču itd.).

2
Interfejs između korisnika i računara
Jedna od najvažnijih uloga operativnog sistema je obezbeđivanje interfejsa između korisnika i računara.
Jednostavnost korišćenja računara se zasniva na jednostavnosti korišćenja njegovih resursa, izdavanje
željenih naredbi itd. Prve generacije operativnih sistema (DOS, UNIX) su imale vrlo „skroman“ interfejs
prema korisniku koji je bio namenjen profesionalnim korisnicima. Korisnik je komunicirao sa računarom
preko komandne linije u koju je unosio šifrovane naredbe (Slika 5.2).

Slika 5.2. Komandna linija

Za korišćenje interfejsa ovakvih operativnih sistema korisnik nije imao na raspolaganju miš već samo
tastaturu.

Masovna proizvodnja personalnih računara je omogućila da i obični korisnici koriste računar. Međutim, stari
interfejs je predstavljao ozbiljnu prepreku masovnom korišćenju personalnih računara. Sredinom poslednje
decenije prošlog veka softverske kompanije počinju da poklanjaju veliku pažnju ovom problemu i kao
rezultat toga pojavljuju se prvi operativni sistemi sa grafičkim korisničkim interfejsom (eng. Grafical User
Interface - GUI). Kod ovih operativnih sistema resursi računara (programi, fajlovi itd.) imaju grafičku
predstavu u obliku ikona (simboličkih slika) zbog čega je za njihovo pokretanje i otvaranje moguće koristiti
miš. Na taj način upotreba računara je približena prosečnom korisniku.

Način rada operativnog sistema


Generalno gledano operativne sisteme možemo podeliti na jednoprogramske i višeprogramske. Prvobitni
operativni sistemi su bili jednoprogramski što znači da su omogućavali izvršavanje samo jednog procesa
(programa) u datom trenutku. Sledeći program koji bi bio na redu za izvršavanje je praktično stajao u redu za
čekanje i čekao bi završetak izvršavanja tekućeg programa. Očito da ovakav princip nije bio optimalan u
pogledu iskorišćenja resursa. Na primer, dok se izvršava tekući program periferni uređaji su slobodni i
obrnuto. Takođe, na ovaj način ni radna memorija nije bila potpuno iskorišćena jer za izvršavanje jednog
programa najčešće nije potrebna cela radna memorija.

Korak napred je predstavljala pojava višeprogramskih operativnih sistema koji su i danas aktuelni. Ovi
operativni sistemi omogućavaju istovremeno izvršavanje više različitih programa. Tako na primer, korisnik
je u mogućnosti da istovremeno sluša muziku korišćenjem programa Media Plejer, da generiše tekstualni
dokument korišćenjem programa MS Word i da komunicira putem interneta sa drugim korisnicima pomoću
programa Windows Messanger ili Skype. Ovaj princip rada operativnog sistema je omogućio znatno bolje
iskorišćenje resursa računara ali je sa sobom doneo i znatno složenije funkcionisanje operativnog sistema.

3
Tokom vremena razvijeno je nekoliko tehnika višeprogramskog rada operativnog sistema:
• Multitasking (eng. Multitasking), tehnika koja je omogućavala istovremeno izvršavanje različitih
programa.
• Multitreding (eng. Multithreading), tehnika koja je omogućavala istovremeno izvršavanje više niti
(eng. thread) istog programa. Na primer, korisnik može u jednom Word dokumentu da sređuje tekst
i da istovremeno u drugom Word dokumentu proverava pravopis.

Pojedini savremeni operativni sistemi podržavaju i takozvani višekorisnički rad. Višekorisnički rad
omogućava da više korisnika istovremeno koristi isti računarski sistem. Najčešće se višekorisnički rad
realizuje kroz tehniku deljenja vremena (eng. time sharing). Tehnika se zasniva na tome da je svakom
korisniku (u opštem slučaju sa više programa) procesor na raspolaganju tačno određeno vreme. Kada istekne
vreme koje je korisnik dobio njegov proces(i) se prekida i procesor se dodeljuje sledećem korisniku koji je u
redu za čekanje. U zavisnosti od brzine računara korisnici ne osećaju da dele isti računar sa drugima.

Jednoprocesorski i višeprocesorski rad


Svaka nova generacija procesora je imala bolje performanse među kojima je najvažnija bila njegova brzina.
Međutim, poslednjih godina brzina procesora stagnira. Razlog za to leži u činjenici da postoje fizička
ograničenja koja se jednostavno ne mogu prebroditi. Brzina procesora pa samim tim i računarskih sistema je
dosegla svoj vrhunac.

Jedino moguće rešenje je bilo promeniti logiku funkcionisanja računara i umesto jednog procesora koristiti
dva ili više. Ovo rešenje je zahtevalo revolucionarne zahvate kako u hardverskoj koncepciji tako i u
funkcionisanju operativnih sistema koji po svom opisu nadgledaju rad procesora.

Višeprocesorski računari kao što sam naziv kaže imaju više procesora. Operativni sistemi koji podržavaju
ovakve računare moraju da obezbede još jedan nivo sinhronizacije između procesa koji se izvršavaju na
računaru. Dakle, višeprocesorski način rada (eng. multiprocessing) operativnog sistema omogućava da se na
svakom procesoru izvršava više procesa i više niti jednog programa istovremeno. Dodatno, operativni sistem
u ovakvom režimu rada omogućava i izvršavanje više niti istog programa na različitim procesorima.

Pomoćni sistemski programi


Pored operativnog sistema sistemski softver obuhvata i pomoćne sistemske programe (eng. System Support
Programs) koji podržavaju rad operativnog sistema ali i rutinske korisničke operacije. Tipični programi za
podršku su uslužni programi, kontrolori performansi i kontrolori bezbednosti.

Uslužni programi (eng. System Utilities) su programi koji pomažu izvršavanje rutinskih korisničkih
operacija kao što je manipulisanje fajlovima (datotekama) i direktorijumima (folderima). Pomoću ovih
programa korisnik je u stanju da sam upravlja organizacijom podataka na spoljašnjoj memoriji (hard disku).
Osnovne operacije koje su omogućene korisniku su kreiranje, brisanje i premeštanje direktorijuma i fajlova.
Treba naglasiti da organizacija direktorijuma i fajlova na spoljašnjoj memoriji ne predstavlja njihovu fizičku
već logičku organizaciju. Drugim rečima, činjenica da su određeni fajlovi organizovani u okviru jednog
direktorijuma ne znači da se oni i fizički locirani jedan pored drugog na spoljašnjoj memoriji. Zbog toga
sistemski softver unutar sebe čuva i ažurira hijerarhiju i organizaciju direktorijuma i foldera na spoljašnjoj
memoriji.

Kotrolori performansi (eng. System Performance Monitor) omogućavaju korisniku uvid u izvršavanje
procesa u računarskom sistemu. Tipičan primer ovakvog programa je task menadžer (eng. Task Manager)
koji pruža uvid u opterećenost procesora, zauzeće radne memorije, pregled aktivnih programa i procesa
(Slika 5.3.).

4
Slika 5.3. Task menadžer

Ovaj program takođe omogućava korisniku da prekine izvršavanje odabranog procesa ukoliko za to postoji
potreba. Prilikom korišćenja ove mogućnosti treba biti oprezan zato što prekid nekog od sistemskih procesa
može da ugrozi funkcionisanje sistema u celini.

Sistemski kontrolori bezbednosti (eng. System Security Monitors) su programi koji nadgledaju korišćenje
računarskih sistema u cilju zaštite od neovlašćenog korišćenja.

Jedna od bitnih osobina savremenih operativnih sistema je korisnička podrška koja se naziva plug-and-play.
Opcija plug-and-play omogućava jednostavno instaliranje hardverskog uređaja vođenjem korisnika korak po
korak. Tehnika vođenja korisnika korak po korak se popularno naziva instalacioni čarobnjak. Na ovaj način
operativni sistem omogućava korisniku da na jednostavan način izvrši instaliranje softvera pomoću kojeg
računar komunicira sa novim, uočenim hardverom. Ti softveri se nazivaju drajveri uređaja. Takođe,
savremeni operativni sistemi imaju već ugrađene drajvere najpopularnijih modela hardverskih uređaja
(štampača, skenera, eksternih hard diskova itd.) pa njihovo instaliranje nije ni potrebno.

Pregled operativnih sistema


Kada se kaže operativni sistem većina domaćih, prosečnih korisnika pomisli na Windows. Razlog za to je
potpuno opravdan s obzirom da je operativni sistem Windows firme Microsoft široko raprostranjen u
svakodnevnoj amaterskoj, pa čak i profesionalnoj primeni. Međutim, operativni sistem Windows nije
najstariji, a po mnogim kompetentnim analitičarima nije ni najbolji operativni sistem. Pored operativnog
sistema Windows, značajnu ulogu imaju i operativni sistem UNIX i njegove modifikacije. S obzirom da je
UNIX stariji, a po mišljenju stručnjaka i elegantniji, i da je u mnogome uticao na neke savremene verzije
Windows-a, prvo ćemo izložiti par detalja o ovom operativnom sistemu.

5
UNIX je razvijen početkom sedamdesetih godina u Belovim laboratorijama. Prva verzija je bila namenjena
mini računaru PDP-7 i bila je napisana u asembleru. Vrlo brzo se pojavila verzija za mini računar PDP-11
koja je bila posebna po tome što je bila napisana u tada novom, a kasnije, pa čak i danas, vrlo popularnom,
jeziku C. Autor ovog jezika, Denis Riči (Dennis Ritchie), je sa kolegom Kenom Tompsonom (Ken
Thompson) postavio osnovne principe operativnog sistema UNIX. Bitna prekretnica za dalji razvoj ovog
operativnog sistema se dogodila kada je firma AT&T, inače vlasnik Belovih laboratorija, prodala licencu za
razvoj raznim univerzitetima. Zahvaljujući dobijenom izvornom kodu operativnog sistema, Univerzitet
Berkli je postao jedan od najznačajnijih razvojnih centara ovog operativnog sistema. Činjenica da je više
razvojnih timova razvijalo različite i nekompatibilne verzije UNIX-a uticale su na njegovu popularnost.
Naime, proizvođačima softvera je predstavljalo veliki problem da prilagođavaju svoj aplikativni softver
svakoj verziji UNIX-a pa su se usredsredile na razvoj koji odgovara operativnom sistemu koji je bio
univerzalan kao što je MS-DOS. Raznolikost UNIX-a u funkcionalnom pogledu je kasnije eliminisana
uvođenjem standarda koji je uredio oblast razvoja operativnih sistema.

Godine 1981. firma IBM je predstavila personalni računar pod nazivom IBM PC koji je imao operativni
sistem MS-DOS 1.0. Ovaj 16-bitni operativni sistem je imao 8 KB i korisnički interfejs u obliku komandne
linije. Dve godine kasnije pojavio se MS-DOS 2.0 koji je imao veličinu 24 KB i dodatne funkcije,
„pozajmljene“ od UNIX-a. Godine 1984. pojavio se MS-DOS 3.0 koji je imao veličinu od 36 KB i dodatne
mogućnosti ali se i dalje korisnički interfejs zasnivao na komandnoj liniji.

Godine 1984. firma Apple je izbacila na američko tržište revolucionarni personalni računar pod imenom
Macintosh. Ovaj personalni računar je bio prvi računar koji je imao grafički korisnički interfejs i koji je uveo
miš kao ulazni urađaj za komunikaciju sa resursima računara. Pojava ovog računara je u postavila osnovne
principe savremenih računara.

Podstaknuta izuzetnim tržišnim rezultatima računara Apple Macintosh, firma Microsoft počinje sa razvojem
grafičkog korisničkog okruženja za operativni sistem MS-DOS i daje mu naziv Windows. Izvorno Windows
nije bio poseban operativni sistem već samo grafička podrška već postojećem operativnom sistemu MS-
DOS. Na taj način je postignuto da operativni sistem MS-DOS bude sakriven od korisnika.

Dalji razvoj operativnog sistema Windows je išao u smeru postepenog prebacivanja funkcija operativnog
sistema MS-DOS u modul za grafičko okruženje Windows. Tako se Windows 95 koji se pojavio 1995.
godine, i dalje bazirao na operativnom sistemu MS-DOS (verzija 7.0) ali je imao razvijene funkcije za
kreiranje virtualne memorije, rad sa procesima i istovremeno izvršavanje više programa. Ipak, ovaj
operativni sistem je i dalje bio pretežno 16-bitni program.

Godine 1998. Microsoft izbacuje na tržište operativni sistem Windows 98 koji je takođe sadržao operativni
sistem MS-DOS (verzija 7.1) ali je imao i neke nove funkcionalnosti kao što je podrška za veće diskove,
integrisana radna površina, Internet i TV. U pogledu funkcionalnosti operativni sistem Windows 98 se nije
bitno razlikovao od svog prethodnika Windows 95.

Uporedo sa razvojem navedenih verzija operativnog sistema Windows firma Microsoft je interno razvijala
potpuno nov operativni sistem nezavisan od MS-DOS-a pod nazivom Windows NT (Windows New
Technology). Windows NT je u potpunosti bio 32-bitni operativni sistem. U javnosti je mnogo poznatija
verzija Windows NT pod nazivom Windows 2000 koja je ujedno bila najrasprostranjenija verzija.

Sledeći operativni sistem, Windows XP, je u osnovi bio Windows 2000 sa neznatnim modifikacijama.
Windows XP je u određenom periodu bio najrasprostranjeniji operativni sistem kada su u pitanju domaći
korisnici zbog čega su u nastavku izložene njegove osnovne osobine:
• Integrisano grafičko korisničko okruženje (GUI),
• Ima 32-bitnu arhitekturu,
• Ugrađena plug-and-play tehnologija
• Ugrađena podrška za rad u mreži, za pristup Internetu, za elektronsku poštu,
• U zavisnosti od verzije može biti klijentski ili serverski operativni sistem,
• Podržava multitasking, multitreding i višeprocesorski rad,
• Poseduje sistem zaštite baziran na korisničkom nalogu
• Distribuira se u dve verzije:

6
1) Home Edition za kućnu upotrebu,
2) Professional Edition za profesionalnu upotrebu.

Windows 7 je trenutno izdanje iz serije operativnih sistema kompanije Microsoft. Namenjen je za upotrebu
na ličnim računarima, uključujući kućne i poslovne desktop, laptop i netbook računare, tablet računare itd.
Windows 7 je pušten iz proizvodnje 22. jula 2009, i zvanično bio dostupan u maloprodaji 22. oktobra 2009,
što je manje od tri godine nakon objavljivanja svog prethodnika, Windows Vista. Serverska varijanta
operativnog sistema Windows 7, pod nazivom Windows Server 2008 R2, je pušten u prodaju u isto vreme.

Na prezentaciji ovog operativnog sistema u ogranizaciji kompanije Microsoft održane 2008. predstavljeni su
osnovni dodaci i unapređenja ovog operativnog sistem. Predstavljeno je novo, redizajnirano korisničko
okruženje sa novim taskbarom, nazvnim Superbar, zatim sistem za podršku kućnom umrežavanju računara
nazvanom HomeGroup kao i unapređenja u pogledu performansi. Neke standardne aplikacije koje su bile
uključene u prethodne verzije operativnih sistema Microsoft Windows, kao što su Windows Calendar,
Windows Mail, Windows Movie Maker, i Windows Photo Gallery, su isključeni iz verzije Windows 7 ali su
dostupne kao deo paketa Windows Live Essentials.

Windows 7 uključuje čitav niz novih mogućnosti kao što su alati za unos podataka dodirom i alati za
prepoznavanje pisanja slobodnom rukom, podršku za kreiranje i upravljanje virtualnim diskovima,
unapređeno i efikasnije izvršavanje na višejezgarnim procesorima (eng. multi-core processors), unapređene
performanse podizanja sistema. Windows 7 omogućava višestruku upotrebu različitih grafičkih kartica,
zatim novu verziju Windows Media Centra, zatim gedžet (eng. Gadget) za Windows Media Center,
redizajnirani kalkulator sa mogućnošću konverzije različitih veličina kao što su dužina, težina, temperatura
itd.

Aplikativni softver
Aplikativni softver je, kao što sam naziv govori, softver koji ima specifičnu namenu. U zavisnosti od oblasti
primene možemo razlikovati softvere za tabelarna izračunavanja (Microsoft Excel), za obradu teksta
(Microsoft Word), zatim softvere za stono izdavaštvo (Microsoft Publisher), softvere za prezentacije (MS
PowerPoint), upravljanje podacima (Microsoft Access), softvere za grafičku obradu (Adobe PhotoShop),
softvere za crtanje (Corel Draw), itd.

Generalno, aplikativni softver se može razvijati za specifične potrebe određenog korisnika (kompanije) ili se
može razvijati za masovnu distribuciju. Prvi tip softvera se razvija na osnovu specifičnih potreba i zahteva
korisnika pa se zbog toga ne može naći u slobodnoj prodaji. Drugi tip aplikativnog softvera se razvija za
određenu oblast primene i sadrži funkcije koje korisniku omogućavaju realizaciju određenog posla. S
obzirom da ovakav aplikativni softver nije usmeren ka specifičnostima svakog korisnika pojedinačno već ka
njegovog primeni ovaj tip softvera se prodaje kao zatvoren proizvod i može se naći u slobodnoj prodaji
aplikativnih softvera.

Kao i sistemski softver aplikativni softver predstavlja niz instrukcija koje se redom izvršavaju. Kod
aplikativnih softvera je veoma izražena interakcija sa korisnikom pa se može reći da je izvršavanje
programa, odnosno redosled instrukcija, strogo diktirano od strane korisnika.

Primeri aplikativnog softvera u savremenom poslovanju

Računovodstvo

Računovodstveni aplikativni softver pomaže brzu i efikasnu realizaciju računodstvenih procesa u poslovnim
sistemima. S obzirom da računovdstvena funkcija svakog poslovnog sistema obuhvata česte i rutinske
operacije i aktivnosti primena ovog tipa aplikativnog softvera je praktično nezaobilazna. Zbog toga su
računovodstveni aplikativni softveri među prvima uvedeni u savremeno poslovanje. Pomoću
računovodstvenog aplikativnog softvera se na efikasan način vrši evidentiranje troškova, dugovanja i
potraživanja jednog poslovnog sistema. Na osnovu zabeleženih podataka specijalni moduli ovog softvera
omogućavaju korisnički definisanu obradu podataka i kreiranje potrebnih izveštaja.

7
Finansije

Funkcija upravljanja finansijama takođe obuhvata veliki broj ponavljajućih, rutinskih operacija i aktivnosti
zbog čega je primena aplikativnog softvera specijalizovanog za upravljanje finansijama nezaobilazna u
svakom poslovnom sistemu. Ovaj softver omogućava praćenje tokova novca u okviru poslovnog sistema,
predviđanje i upravljanje finansijskim sredstvima. Tipični moduli ovog aplikativnog softvera su modul za
obradu naloga prodaje, modul za obračun prihoda, modul za obračun i plaćanje, modul za obradu naloga
nabavke i modul za obračun zarada zaposlenih. Na osnovu podataka zabeleženih u navedenim modulima
menadžeri donose odluke koje se odnose na planiranje budžeta i upravljanje likvidnošću poslovnog sistema.

Proizvodni menadžment

Proces proizvodnje savremenih proizvoda može da bude veoma složen. Zbog toga je nemoguće izvršiti
efikasno upravljanje proizvodnim procesima bez podrške odgovarajućih aplikativnih softvera. Aplikacije za
proizvodni menadžment obuhvataju module za upravljanje proizvodnjom, upravljanje zalihama, upravljanje
kvalitetom i upravljanje troškovima. Zahvaljujući podacima evidentiranim u navedenim modulima
menadžeri mogu na efikasan način da kreiraju optimalan i realan plan proizvodnje. Planiranje proizvodnje je
vrlo važno za svaki poslovni sistem jer se na osnovu njega kreira plan prodaje pa samim tim i planiranje
finansija u budućem periodu.

Upravljanje ljudskim resursima

Po mnogima najvažniji resurs svakog preduzeća su zaposleni. Zbog toga je za svaki poslovni sistem veoma
bitno da poseduje lične i profesionalne podatke o svojim zaposlenima. Za potrebe evidentiranja i obrade
podataka o zaposlenima razvijaju se specijalizovani aplikativni softveri. Aplikativni softver za upravljanje
ljudskim resursima omogućava praćenje angažovanosti zaposlenih, praćenje njihovog stručnog i
profesionalnog usavršavanja, praćenje starosne i obrazovne strukture zaposlenih u poslovnom sistemu itd.
Na osnovu navedenih podataka menadžeri za upravljanje ljudskim resursima vrše selekciju radnika,
planiranje njihove karijere, prijem novih radnika, planiranje i realizaciju usavršavanja zaposlenih i na taj
način kreiraju budući razvoj poslovnog sistema.

Programski jezici
Kao što je to već rečeno na početku ovog poglavlja svaki program (softver) predstavlja niz instrukcija koje se
izvršavaju na procesoru računara. Pisanje programa se zove programiranje i sastoji se u pisanju instrukcija.
Instrukcije koje se izvršvaju na procesoru računara su, kao što je to već opisano, definisane na mašinskom
jeziku (u binarnoj formi). Očigledno je da je pisanje programa na mašinskom jeziku mukotrpno i nezahvalno.
Prirodno rešenje problema je da korisnik (programer) program piše u jeziku koji je blizak čoveku a da se
zatim tako napisan program prevede na mašinski jezik koji je razumljiv računaru. Tako su nastali programski
jezici koji se koriste, kao što sam naziv ukazuje, za pisanje računarskih programa. Programske jezike čini
sistem znakova i skup pravila za pravljenje odgovarajućih jezičkih konstrukcija korišćenjem tih znakova.
Pisanje programa korišćenjem određenog programskog jezika se vrši pomoću odgovarajućih editora (radnog
okruženja). Tako napisan program se naziva izvorni program, odnosno izvorni kod. Da bi se izvorni program
izvršio na računaru neophodno je njegovo prevođenje na mašinski jezik. Prevođenje izvornog koda
napisanog u određenom programskom jeziku na mašinski jezik se vrši primenom specijalnih programa koji
se dele na kompajlere i interpretere.

Kompajleri su deo sistemskog softvera koji vrši prevođenje izvornog programa na mašinski jezik. Rezultat
prevođenja je objektni kod koji se zatim povezuje (linkuje) u takozvani izvršni kod, odnosno izvršni
program. Krajnji rezultat ovog procesa je fajl koji ima ekstenziju *.exe, koja ukazuje na to da je reč o
izvršnom kodu. Pokretanjem ovog fajla praktično se pokreće napisani program prebacivanjem u radnu
memoriju i izvršavanjem na procesoru računara. Dobijeni izvršni kod se može pokretati neograničen broj
puta bez potrebe za ponovnim prevođenjem (kompajliranjem) i povezivanjem.

Drugi tip prevodilaca su interpreteri. Ovi programi ne vrše kompletno prevođenje izvornog programskog
koda u izvršni, već prevode instrukciju po instrukciju. Nakon izvršenog prevođenja instrukcije interpreter je

8
odmah izvršava i prelazi na sledeću instrukciju i tako redom. Praktično interpreter ima ulogu simultanog
prevodioca. Nedostatak interpretera je u tome što svako novo izvršavanje programa zahteva ponovno
prevođenje zbog čega je samo izvršavanje sporije.

Razvoj programskih jezika se odvijao kroz nekoliko faza koje se popularno zovu generacije programskih
jezika. U nastavku su izložene osnovne osobine i primeri svake generacije programskih jezika.

Jezici prve generacije

U jezike prve generacije spadaju mašinski jezici. Programiranje korišćenjem mašinskog jezika predstavlja
najniži nivo programiranja i sastoji se u definisanju instrukcija korišćenjem njihovih binarnih zapisa. S
obzirom da struktura instrukcija kao i njihovi binarni zapisi zavise od mašine na kojoj se izvršavaju ovi jezici
su dobili naziv mašinski orijentisani jezici ili kraće mašinski jezici. Uglavnom se svaka instrukcija koja se
izvršava na procesoru računara sastoji od binarnog zapisa operacionog koda i operanada koji učestvuju u
relizaciji instrukcije (videti poglavlje Hardver). Zbog toga su programi koji su pisani u nekom mašinskom
jeziku nepregledni i glomazni i vrlo teški za testiranje i pronalaženje grešaka. Prednost mašinskih jezika se
sastoji u tome da za programe napisane u njima nije potrebno prevođenje (kompajliranje) kao i velika brzina
izvršavanja programa.

Jezici druge generacije

Ubrzani razvoj softvera zahtevao je korišćenje mnogo efikasnijih alata (programskih jezika) za njihov razvoj.
Razvoj softvera korišćenjem mašinskih jezika je bio dugotrajan i nije mogao da odgovori potrebama tržišta.
Sa druge strane, korišćenje mašinskih jezika je bilo moguće samo u razvoju jednostavnih programa koji nisu
podrazumevali veliki broj operacija. Zbog svega navedenog bilo je neophodno razviti nove programske
jezike koji će biti bliži čoveku. Tako se pojavila druga generacija programskih jezika koji se zovu
asemblerski jezici ili kraće asembleri. Zbog primenjenog koncepta algoritma neki autori ove jezike
svrstavaju u kategoriju najjednostavnijih viših programskih jezika. Međutim, zbog specifične mnemoničke
sintakse većina autora ih tretira kao posebnu generaciju programskih jezika.

Asemblerski jezici su u poređenju sa mašinskim jezicima bliži čoveku. To je postignuto uvođenjem


simboličkih oznaka koje su predstavljale odgoravajuće operacije mašinskog jezika. Uvedene simboličke
oznake su ustvari skraćeni engleski nazivi odgovarajućih operacija. Zbog toga je pisanje, razvijanje i
održavanje programa korišćenjem asemblerskih jezika neuporedivo lakše i efikasnije nego što je to slučaj sa
mašinskim jezicima. Međutim, tako napisan izvorni program računar ne može direktno da se izvrši već je
neophodno njegovo prevođenje na mašinski jezik. Zbog toga za odgovarajući asemblerski jezik i
odgovarajuću mašinu mora da postoji program prevodilac koji vrši prevođenje svake instrukcije izvornog
programa.

Jezici treće generacije

Programski jezici treće generacije se još zovu viši programski jezici. Sa jedne strane, programski jezici treće
generacije su još bliži čoveku po svojoj sintaksi, a sa druge strane poseduju nove koncepte koji znatno
olakšavaju postupak programiranja. Pisanje instrukcija se realizuje kombinovanjem naredbi koje su opisane
engleskim rečima i aritmetičkim operacijama. Zahvaljujući ovakvoj sintaksi programi koji su pisani
korišćenjem viših programskih jezika su lako čitljivi ne samo profesionalnim programerima već i prosečnim
korisnicima računara. Druga prednost viših programskih jezika je da su kompatibilni, tj. prenosivi i
primenjivi na različitim mašinama (računarima). S obzirom da računar ne može da izvrši instrukcije napisane
u višim programskim jezicima svaki viši programski jezik je praćen programom prevodiocem koji izvorni
kod prevodi na mašinski jezik. Za programske jezike ove generacije se kaže da spadaju u grupu
proceduralnih jezika. Razlog je taj što programer, da bi rešio određeni problem, mora da definiše postupak
(poceduru) izvršavanja programa korak po korak, odnosno operaciju po operaciju.

Većina viših programskih jezika kao što su COBOL, FORTRAN, ALGOL, PASCAL, su usmereni na
rešavanje problema iz određene oblasti zbog čega se viši programski jezici često nazivaju i problemski
orijentisani jezici. Izuzetak predstavlja jezik C koji je po mnogima revolucionarni programski jezik.

9
Programski jezik C spada u grupu strukturnih programskih jezika opšte namene. Razvijen je u Belovim
laboratorijama 1972. godine od strane Denisa Ričija (Dennis Ritchie). Kaže se da spada u grupu strukturnih
jezika zato što poseduje koncept strukture, logičke celine koja obuhvata više različitih promenljivih i
funkcija. Jezik C je jezik opšte namene, tj. nije usmeren na neki određeni problem. Zbog toga se u velikoj
meri koristio kako za programiranje aplikativnog softvera tako i za programiranje sistemskog softvera. Tako
je na primer operativni sistem UNIX gotovo u celosti napisan na programskom jeziku C. Iako su danas
najviše u upotrebi objektno orijentisani programski jezici, većina softvera koji se još uvek koriste u različitim
oblastima (operativni sistemi, naučni programi, itd) su napisani u programskom jeziku C.

Jezici četvrte generacije

Razvoj programskih jezika četvrte generacije se vezuje za razvoj sistema za upravljanje relacionim bazama
podataka. Za ovu grupu jezika se kaže da su neproceduralni ili deklarativni jezici. To znači da programer ne
mora prilikom pisanja programa da piše proceduru izvršavanja programa. Umesto toga programer
korišćenjem naredbi koje su definisane konkretnim jezikom definiše šta program treba da izvrši. Određivanje
procedure (postupka) kao i njeno izvršavanje se realizuje interno u okviru programa. Očigledno je da je
ovakav način pisanja programa znatno jednostavniji nego što je slučaj primenom viših programskih jezika.
Međutim, opisana jednostavnost ima svoju cenu koja se ogleda u smanjenoj fleksibilnost i mogućnostima
programa. Zbog toga se programski jezici četvrte generacije uglavnom koriste za razvoj poslovnih
aplikativnih softvera zasnovanih na bazama podataka. Treba reći da se u poslednje vreme praktikuje
kombinovanje jezika četvrte generacije i viših programskih jezika ili objektno orijentisanih jezika.
Najpoznatiji i najprimenjivaniji neproceduralni jezik je SQL (Structured Query Language) koji se korisi u
sistemima za upravljanje relacionim bazama podataka.

Objektno orijentisani jezici

Objektno orijentisani jezici su nastali unapređivanjem koncepta strukture koji su posedovali pojedini viši
programski jezici kao što su C i Pascal. Postojeće strukture podataka koje su predstavljale logičke grupe
različitih promenljivih su dobile nove osobine koje su analogne sa nekim osobinama živog sveta. Zbog toga
se takve strukture u objektno orijentisanim jezicima nazivaju klase. Jedna od ključnih osobina klasa je
nasleđivanje i predstavlja mogućnost da klasa koja je definisana kao naslednik neke druge klase nasleđuje
sve njene osobine (sve promenljive i sve funkcije koje poseduje klasa roditelj).

10

You might also like