You are on page 1of 145

PANEVROPSKI UNIVERZITET APEIRON

FAKULTET POSLOVNE INFORMATIKE

Branko Latinović

INFORMACIONE
TEHNOLOGIJE

BANJA LUKA, 2007.


PANEVROPSKI UNIVERZITET APEIRON
F A K U L T E T P O S L O V N E INFORMATIKE
B A NJ A L U K A
Prof. dr Branko Latinović
INFORMACIONE TEHNOLOGIJE
Izdavač:
Panevropski univerzitet "APEIRON"
Banja Luka
1. izdanje, godina 2007.
Odgovorno lice izdavača,
DARKO Uremović
Urednik:
JOVO Vojnović, prof.
Recezenti:
DUŠAN Starčević
DANIMIR Mandić
DTP i likovno/grafička obrada:
SANJA Šaula
Štampa:
"ART-PRINT", Banja Luka,
p.o., grafika - dizajn - marketing
Banja Luka
Odgovorno lice štamparije:
VLADIMIRA Stijak- Ilisić
Tiraž 500 primjeraka
EDICIJA:
Informacione tehnologije -Information technologies
Knj. 5
ISBN 978-99938-29-59-1
SADRŽAJ
PREDGOVOR

Nalazimo se u vremenu svakodnevnih novih komunikacionoo-tehničkih i organizacionih izuma, koja će


kad se u potpunosti razviju i uzajamno povežu s računarima, zaista zaslužiti ime "revolucije" zbog
njihovog ukupnog uticaja na promjene u komunikacijama koje se ubrzano razvijaju. Komuniciranje
postaje mnogo brže, ali se i istovremeno organizuje na potpuno drugaciji "novi" način.

Informacione i komunikacione tehnologije (ICT) kao i sve aktivnosti povezane sa produkcijom i


korišćenjem informacija i znanja, su za kratko vrijeme stekle status jednog od ključnih pokretača
ekonomskog napretka u svijetu.

Današnji svjetski standardi definišu da se stepen razvijenosti jedne zemlje mjeri količinom megabajta
Internet telekomunikacione infrastrukture koja je dostupna toj zemlji, a i raspoređenosti pristupu istoj
od strane krajnjih korisnika.

Takođe, jedan od preduslova razvoja informacionog društva koje UN navodi u svojim programima i
analizama jeste i neograničen, jeftin (ili besplatan) pristup brzoj globalnoj Internet mreži za svakog
stanovnika, u svakom domu, u svakoj školi, instituciji i kompaniji.

Razvoj informacione tehnologije značajno određuje razvoj cjelokupnog društva i privrede, jer svojim
širokim mogućnostima unosi sasvim novu, olakšavajuću dimenziju u čovjekovom djelovanju i otvara
vrata kreativnosti i inovacija, koje postaju dragocjeni instrumentarijum za dalji ljudski napredak u nauci
i privredi.

Savremena preduzeća i institucije koriste informacionu tehnologiju (IT) u izvršnim i upravljačkim


procesima. U izvršnim procesima automatizuje rutinske operacije, a u upravljačkim procesima
obezbjeđuje podršku za upravljačke odluke. U oba ova domena racionalizuje se i olakšava ljudska
aktivnost. Informaciona tehnologija u preduzeću danas je sistem koji obuhvata računarske i
komunikacione uređaje i sva znanja i metode potrebne za njihovu primjenu.

Smisao informatizacije organizacije jeste osposobljavanje za brzo reagovanje na događaje u sredini.


Fleksibilnost rganizacije se ne može zamisliti bez uvođenja i primjene IT. Može se reći da je
fleksibilnost organizacije izbacila IT na prvo mjesto na listi situacionih faktora koji oblikuju
organizacionu njenu strukturu. Informatizovana organizacija je sposobno da brzo reaguje, dođe do
informacije brže, i da, pri tom, ostvaruje bolji kvalitet usluga. Kompjuterski kontrolisani sistem
omogućuje da usluga bude brzo i tačno ostvarena, s mogućnošću praćenja rada. U ovim uslovima
možemo reći da je "ekonomija obima" ustupila mjesto "ekonomiji širine". U velikoj proizvodnoj jedinici
ljudi se osjećaju slabi, bezimeni i nesposobni da utiču na način rada, kao i na konačne rezultate. S
druge strane, pod uticajem IT, organizacioni parametri (podjela rada, sistem odlučivanja, veličina
jedinica i mehanizmi koordinacije) su promijenili svoj izgled i oblikovali novu strukturu koja savremenoj
organizaciji daje nove organizacione osobine.

Nauka koja se bavi informacijama i obradom podataka naziva se informatika. Informatika je relativno
mlada, ali veoma kompleksna naučna disciplina. Ona istražuje strukturu, funkcionisanje, oblikovanje i
izgradnju informacionih sistema uz kompjutersku podršku. Pojam informatika pojavljuje se šezdesetih
godina ovog vijeka, a nastao je spajanjem dijelova francuskih riječi information i automatique.
Američki naziv je Computer Science (nauka o kompjuterima) i ona predstavlja autonomnu naučnu
disciplinu, koja se bavi primjenom kompjutera u rješavanju tehničkih problema. U svojoj suštini
informatika je interdisciplinarnog karaktera (integracija na planu koncepta i metoda) autonomnih nauka
(logika, matematika, teorija informacija i semiotika, elektronika i dr.). U poslednje vrijeme preovladava
mišljenje da je informatika naučna disciplina o informacijama u najširem smislu, a da je primjena
kompjutera samo jedna od metoda i tehnika obrade informacija.

Ovladavanje alatkama, koje su prije svega konceptualne i bave se određenim temama, pomoćiće nam
da se služimo informacionim tehnologijama u potpunosti, ili u mijeri koju sami odredimo. Alatke su
intelektualne i dostupne, jer je digitalna pismenost ovladavanje idejama, a ne rukovanje tastaturom.

Digitalna pismenost - sposobnost da se pronađu kompjuterske informacije koje se nalaze na mreži, i


da se one koriste - predstavlja jedan takav koncept. To znanje je neophodno, jer je Internet prerastao
od igračke naučnika u širom sveta rasprostranjen izdavački i istraživački medij dostupan svakome ko
ima kompjuter i modem.

Digitalna pismenost je sposobnost da se shvate i koriste informacije u raznim formatima iz širokog


spektra izvora, kada su predstavljene putem kompjutera.

Koncept pismenosti ne odnosi se samo na puku sposobnost čitanja; ona je uvijek označavala
sposobnost da se čita sa razumjevanjem. To je osnovni čin spoznaje. Digitalna pismenost na sličan
način proširuje granice definicije. To je spoznaja onoga što se vidi na ekranu kompjutera kada
koristimo umreženi medij. Ona pred nas postavlja zahtjeve koji su uvijek bili prisutni, mada slabije
vidljivi, u analognim medijima kao što su novine i televizija. U isto vrijeme, ona predstavlja novi niz
izazova koji od vas zahtijevaju da umreženim kompjuterima priđemo bez predrasuda. Ne samo da
moramo ovladati vještinom da pronalazimo, već moramo savladati i viještinu korišćenja onoga što
pronađemo.

Vještine koje poseduju digitalno pismeni postaju neophodne koliko i vozačka dozvola. Internet
predstavlja medij koji se najbrže razvijao kroz istoriju

Danas su te vještine dodatak našem normalnom načinu života, jer je novina umrežavanja daleko od
toga da se istroši. Međutim, velike promjene koje se u medijima danas dešavaju širom planete zalažu
se za budućnost u kojoj je digitalna pismenost neophodna. Mogućnost pristupa Internetu proširena je
sa prvobitnih istraživačkih laboratorija koje su omogućavale umreženje univerzitetima širom svijeta, na
javnost koja poseduje modeme, javnost čiji se interes milionski povećava.

Upravo zbog navedenih razloga neophodno je upoznati osnovne elemente informatike. Ova knjiga
težište postavlja na tehničko-tehnološki aspekt razvoja informatike, odnosno na informacione
tehnologije.

Autor
1. RAZVOJ INFORMACIONE
TEHNOLOGIJE

1.1. ISTORIJA RAČUNARSTVA

Sumeri su u Mesopotamiji oko 3000. godine prije nove ere uspostavili sistem za pisanje tzv. klinasto
pismo. Na glinenim pločicama su oštrim predmetom urezivani znaci koji su odgovarali govornom
jeziku I do danas nisu dešifrovani.

Feničani su oko 2000. godine


prije nove ere pojednostavili
proces pisanja raskinuvši vezu
između riječi i slika. Formirali su
prvi alfabet koji je sadržavao
pojedinačne slogove i
suglasnike. Grci su prihvatili
feničanski alfabet i dodali mu
samoglasnike. Rimljani su
preuzeli grčki alfabet, ali su
slovima dali latinska imena i tako
oformili alfabet koji je i danas u
upotrebi.
Slika 1 Klinasto pismo

Iako osnovne računarske operacije nisu posebno složena misaona aktivnost, upravo su one
povećanjem brojeva sa kojima se radilo, natjerale čovjeka da potraži pomoć pomagala, a kasnije i
mašine. Prsti koji su u početku bili dovoljni, ustupili su mjesto primitivnim pomagalima. Čovjek je oko
hiljadu godina prije nove ere napravio spravu za potrebe lakšeg brojanja i obavljanja računskih
operacija sa brojevima. Prva sprava pojavljuje se u trećem milenijumu u Kini pod imenom ABAK. Ista
mašina korišćena je i u starom Rimu pod imenom ABAKUS. Danas se abakus upotrebljava u Kini,
Japanu, Indiji i Rusiji. Koristi se i u kineskim četvrtima po Americi. A kako se uz pomoć njega računa
može se naučit samo u azijskim školama. Abakus je sprava koja je mogla da izvodi sabiranje,
oduzimanje, množenje i dijeljenje. Vrijednost kuglica mu je bila različita, zavisno od mjesta gdje se one
nalaze na žicama. Gornje dvije kuglice su imale vrijednost pet a donje jedan. Abakus je sastavljen od
različitih vrsta drveta i može biti raznih dimenzija. Okvir mu je sastavljen od velikog broja žica po
kojima drvene kuglice slobodno klize. Okvir je podijeljen na gornji i donji.

Slika 2 Abakus
Arapski matematičar Alhavarizvi u 9. vijeku precizno je opisao četiri računske operacije. Prema
njegovom imenu, svaki precizno opisani postupak za rješavanje problema naziva se algoritam.
Algoritmi su veoma značajni za istoriju računarstva. Danas postoji i posebna naučna disciplina koja
tretira materiju u vezi s algoritmima koja se naziva teorija algoritama.

Otkriće logaritma od strane Nepera 1614. godine omogućilo je izradu sprave koja je nazvana
logaritmar. Logaritmovanjem brojeva operacija množenja svodi se na sabiranje, a dijeljenje na
oduzimanje. Logaritmar je predstavljao osnovno inženjersko pomoćno sredstvo preko tristopedeset
godina, sve do nastanka i primjene elektronskog kalkulatora sedamdesetih godina ovog vijeka.

Slika 3 Logaritmar

Francuz Žikard, teolog i matematičar, 1632. godine konstruisao je mašinu za računanje koja se bazira
na točkićima, a omogućavala je sabiranje i oduzimanje brojeva. Ova mašina je bila napravljena za
potrebe matematičara i astronoma Keplera i u sličnom obliku upotrebljavala se do skora.

Slika 4 Žikardova mašina

Paralelno je nastalo nekoliko mehaničkih sprava za sabiranje. Najpoznatija je sprava koju je izradio
francuski matematičae Paskal 1642. godine. Paskal je konstruisao mašinu za dodavanje sa
automatskim prenošenjem sa jedne pozicije na drugu. Funkcionisala je sa nekoliko brojčanika koji su
se mogli okretati pomoću igle. Dodavanje se obavljalo pomoću zupčanika u osnovi koji su se okretali
za svaku cifru, pa bi se konačni zbir prikazivao u okviru iznad "tastature". Ovaj uređaj je sabirao
brojeve na principu uzastopnih povezanih kružnih prstenova (na ovom principu funkcioniše današnji
brzinomjer u automobilu). U početku mašina je mogla da sabira i oduzima brojeve na šest dekadnih
mjesta, a kasnija varijanta izvodila je sabiranje i oduzimanje na osam dekadnih mjesta.
Slika 5 Paskalova sprava

Koristeći koračni cilindrični zupčanik Lajbnic, njemački matematičar, je 1673. godine napravio
kalkulator za množenje u kojem se broj više puta automatski dodavao u akumulator.

Slika 6 Lajbnicov kalkulator

Engleski matematičar Čarls Bebidž, profesor matematike na Univerzitetu Kembridž, 1832. godine, na
bazi veoma naprednih ideja, konstruisao je prvi mehanički uređaj, koji je sa svojim osobinama bio
sličan kompjuteru. Bila je to diferencijalna mašina, koja je automatski obavljala proračune i štampala
izračunate vrijednosti. Ova, takođe mehanička mašina, je mogla samo da sabira i oduzima, a koristila
se za izračunavanje tablica u pomorskoj navigaciji. Mašina je projektovana tako da je izvršavala uvijek
isti algoritam, metod konačnih razlika korišćenjem polinoma. Najinteresantnija karakteristika
diferencijalne mašine je njeno rješenje izlaza. Rezultati su upisivani na bakrenu ploču pomoću čeličnih
kalupa. Na izvjestan način, upotrebljeni metod je nagovijestio kasniju primjenu write-once medija, kao
što su bile bušene kartice ili prvi optički diskovi.
Slika 7 Diferencijalna mašina

Mada je diferencijalna mašina radila prilično dobro, Bebidž se nije zadovoljavao računskim sredstvom
koje je moglo da izvršava samo jedan algoritam. Ubrzo je počeo da troši, za ono vreme, sve veće i
veće sume sopstvenog kao i veliku svotu vladinog novca, na projekat i konstrukciju naslednika
diferencijalne mašine kojeg je nazvao analitička mašina. Analitička mašina se može smatrati prvim
mehaničkim programabilnim računarom. Ona je imala četiri dijela: memoriju, jedinicu za izračunavanje
i ulaznu i izlaznu jedinicu zasnovane na principu bušenih kartica (naravno, sa odgovarajućim čitačem i
bušačem kartica). Memorija je bila kapaciteta 1000 reči od po 50 decimalnih cifara i služila je za
smeštanje promenljivih i rezultata. Jedinica za izračunavanje je mogla da prihvati operande iz
memorije, da ih sabira, oduzima, množi ili dijeli, i da vrati rezultat u memoriju. Kao i diferencijalna, i
analitička mašina je bila u potpunosti mehanička.

Veliki napredak u odnosu na diferencijalnu mašinu sastojao se u tome što je analitička mašina bila
računar opšte namjene. Instrukcije su se čitale sa bušenih kartica i izvršavale. Neke instrukcije su
nalagale prenos dva broja iz memorije u jedinicu za izračunavanje, izvršavanje određene operacije
nad njima i vraćanje rezultata u memoriju. Druga grupa instrukcija je mogla da izvrši testiranje broja i
uslovno grananje u odnosu na to da li je broj negativan ili pozitivan. Upisivanje različitih programa na
bušene kartice je omogućavalo da analitička mašina izvršava različita izračunavanja, dok to nije bio
slučaj sa diferencijalnom mašinom.
Slika 8 Analitička mašina

Kako je analitička mašina bila programabilna, potreban je bio softver, a samim tim i programer. Bebidž
je za taj posao najmio ženu po imenu Ada Avgusta Lovelas, inače kćerku lorda Bajrona. Gospođa
Ada je tako prvi programer na svetu i njoj u čast je programski jezik Ada dobio ime (naročito zbog
činjenice, što je naknadno utvrđeno, da su svi programi koje je ona napisala bili korektni).

Kasnije je Bebidž napravio još efikasniju analitičku mašinu, koja je bila mehanička računska mašina sa
programima na bušenim karticama. Ova mašina rješavala je najsloženije proračune, pod uslovom da
su mehaničari tog doba mogli proizvesti dovoljno tačne zupčanike i druge mašinske elemente. Kasnije
je tražio pomoć britanske vlade i dobio prvu vladinu dozvolu za kompjutersko istraživanje. Nažalost,
zbog niske tehnologije toga vremena njena realizacija nije mogla da se ostvari. Ipak, istorijski gledano,
to je bio prvi pokušaj programiranog upravljanja mašinama.

Herman Holerit predstavlja, pored Bebidža, takođe veoma značajno ime u istoriji računarstva.
Međutim, njegovi kao i Bebidžovi metodi digitalnog računarstva su se rijetko koristili u naučnim
proračunima, mada su analogni uređaji tipa logaritmara bili u širokoj upotrebi naročito u tehničkim
proračunima. Holerit je konstruisao elektro-mehaničku mašinu za sortiranje. Realizovao ju je uz
korišćenje bušenih kartica. Kartica je imala veličinu dolarske novčanice, 12 redova i 20 kolona, tako da
se moglo ubušiti 240 rupica, odnosno 240 informacija tipa da/ne (kasnije će to predstavljati 240
bitova). Kartica je predstavljala nosilac informacija. Nailazila je na čitač kartica, koji se jednostavno
zvao brojač. Preko kartice se postavljala mreža od 240 igala, a sa druge strane je bila metalna ploča.
Ubušena mjesta na kartici omogućavala su iglama da dodirnu provodnik i na taj način se registrovao
sadržaj kartice, odnosno vršila se računska operacija sabiranja. Praktična primjena ove mašine je bila
za obradu rezultata popisa u Americi 1890. godine. Sabiranje na ovaj način bilo je veoma efikasno i
skratilo je proces prebrojavanja poslije popisa stanovništva za 1/3 do tada potrebnog vremena. Od
kompanije koja je počela rad sa ovom mašinom, 1924. godine postala je poznata kompjuterska
kompanija IBM (International Business Machines).

Osnovna Holeritova ideja bila je primjena binarnog brojnog sistema (baza 2), a ne dekadnog brojnog
sistema (osnova 10). Binarni brojni sistem je naučno elaborirao logičar Bul. Holeritova mašina
prepoznaje dva stanja svake rupice da/ne. Niz takvih stanja predstavljao je broj u binarnom brojnom
sistemu. Jedna pozicija kao mogući nosilac 0 ili 1 bila je nosilac minimuma informacije i zvala se bit.
Kombinacijom Bulovih funkcija (konjunkcije, disjunkcije i negacije) moguće je izvršiti sve neophodne
računske operacije u ovom brojnom sistemu. Dalji razvoj ideje standardizovao je niz od 8 bitova i
nazvan je 1 bajt. Bajt predstavlja jedan simbol (slovo, cifru ili specijalan znak) i maksimalno može da
predstavlja 256 različitih simbola (28). Danas se koriste dva standarda ASCII (American Standard
Code for Information Interchange) i EBCDIC (Extended Binary Coded Decimal Interchange Code), kod
kojih su sva slova i cifre isto predstavljene, a razlika je samo u predstavljanju specijalnih znakova.
Tastatura računara ne sadrži sve moguće simbole koji se mogu pripremiti na bazi 8 bita i obično sadrži
oko 100 tipki. Na primjer, slovo A ima binarni kod 01000001 i dekadnu vrijednost 65. 1854. godine Bojl
je opisao svoj sistem za simboličko i logičko rasuđivanje koji će kasnije postati osnova za kompjuterski
dizajn.

Rastuća populacija u Americi i zahtjevi kongresa da se u svakom popisu postavlja više pitanja doveli
su do toga da obrada podataka postaje sve duži proces. Procijenjeno je da se podaci popisa 1890.
neće obraditi prije popisa 1900. ukoliko se nešto ne učini na poboljšanju metodologije obrade. Herman
Holerit je pobijedio na takmičenju za isporuku opreme za obradu podataka koja bi pomogla u obradi
podataka američkog popisa 1890. i dalje je asisistirao u obradi popisa u mnogim zemljama širom
svijeta. Kompanija koju je osnovao, Hollerith Tabulating Company, je vremenom postala jedna od tri
kompanije koje su činile kompaniju Calculating-Tabulating-Recording (C-T-R) 1914, preimenovana u
IBM 1924. Hollerith mašine su se prve pojavile na naslovnoj strani magazina.

Slika 9 Holeritov tabulator

U evoluciji kompjuterske tehnologije značajno mjesto zauzima i Klod Šenon koji je još kao student
Masačusetskog instituta za tehnologiju (MIT) 1937. godine otkrio izomorfiju između Bulove algebre
električnih rasklopnih elemenata. Pored svoje genijalne statističke teorije informacija, koju je objavio
1948. godine Klod Šenon svakako ima ogromne zasluge za razvoj savremene kompjuterske
tehnologije.

Motiv za ubrzani rad na elektronskim računarima bio je II svetski rat. Radio poruke su bile šifrovane
pomoću uređaja koji se zvao ENIGMA. Britanska obavještajna služba uspjela da nabavi jedan
primjerak mašine ENIGMA, ali da bi sevršilo dešifrovanje, potrebno je bilo vršiti veliki broj
izračunavanja. Sve je to moralo da bude obavljeno vrlo brzo pošto se radio poruka uhvati. Britanska
vlada je oformila tajnu laboratoriju gde je napravljen elektronski računar nazvan COLOSSUS. U
projektovanju mašine učestvovao je i čuveni engleski matematičar Alen Tjuring (Alan Turing).
COLOSSUS je proradio 1943, ali pošto je britanska vlada držala u strogoj tajnosti ovaj projekat i na
njega je, kao na vojnu tajnu, stavljen tridesetogodišnji embargo, to COLOSUSS predstavlja slijepo
crevo, obzirom da nije uticao na razvoj drugih elektronskih računara. Ipak, bio je to prvi elektronski
računar.Mada nije koristio praktičnu tehnologiju epohe, Alan Turing je 1937. godine razvio ideju
"univerzalne mašine" koja može da izvrši svaki algoritam koji se može opisati i koja predstavlja osnovu
za koncept "računarstva". Vjerovatno je važnije to što su se njegove ideje razlikovale od ideja ljudi koji
su rješavali aritmetičke probleme i što je uveo koncept "simboličke obrade".
Slika 10 COLOSSUS

Drugi svjetski rat ubrzao je radove na izradi kompjutera sa obje strane Atlantika. U SAD saradnjom
IBM-om i Univerziteta Harvard nastao je kompjuter MARK I, koji je mogao da sabere 23 broja za 3
deseta dijela sekunde, što je za ono vrijeme bilo nevjerovatno.

MARK I - Automatic Sequence Control Calculator (ASCC) je prvi elektromehanički programibilni


kalkulator čiji je tvorac Hauard Ejken 1944. godine. Posjedovao je sljedeće osobine:

 dužina oko 17 metara, visina oko 2,5 metra,


 800 km žice,
 750000 dijelova,
 oko 3 miliona električnih spojeva,
 72 akumulatora sa svojim posebnim aritmetičkim jedinicama kao I mehaničke registre sa
kapacitetom od 23 cifre plus znak,
 koristio je brojače za čuvanje brojeva i elektromehaničke releje kao pomoć u bilježenju
rezultata,
 Aritmetičke operacije su obavljane u fiksnom zarezu - sabiranje za 1/3 sekunde, a množenje
za 1 sekundu,
 Instrukcije za izvršavanje (program) su učitavane sa papirne trake, a podaci sa druge papirne
trake, bušenih kartica ili registara,
 Izlaz se mogao dobiti na bušenim karticama ili na papiru, preko pisaće mašine…
Njegov nasljednik ENIAC (Electronic Numerical Integrator and Calculator), koji je konstruisan 1945.
godine na principu vakuumskih cijevi, postigao je hiljadu puta veću brzinu.Rad na ENIAC-u, započet
1943, vodio je Džon Brajner, dekan Moore School of Electronical Engineering na Univerzitetu
Pennsylvania, zajedno sa Džonom Maučlijem i J. Presperom Ekertom, koji su bili zaduženi za
implementaciju. Osnovne karakteristike ENIAC-a su:
 težina 30 tona, dužina preko 30 metara, visina oko 3 metra i širina nešto manje od metra,
 17648 vakuumskih cijevi, potrošnja izmedju 130 i 174KW električne energije,
 5000 sabiranja u sekundi, množenje je trajalo oko 3 milisekunde,
 radio je u decimalnom brojnom sistemu,
 imao je memorija od 20 akumulatora koji su mogli da cuvaju 10-cifrene brojeve,
 frekvencija ENIAC-ovog časovnika je bila 100KHz...

Slika 11 MARK I
Slika 12ENIAC
Konrad Cuze (Konrad Zuse) u Berlinu, u Nemačkoj razvio je svoj računar Z1 u dnevnoj sobi svojih
roditelja, relejni računar koji je koristio binarnu aritmetiku. 1938. godine je nastavio sa Z2 uz pomoć
Helmuta Schreyer-a. 1941. godine konstruisao je računar Z3. To je bio prvi računar u svijetu koji je
radio sa programiranim upravljanjem. Tokom drugog svetskog rata se obratio nemačkoj vladi za
pomoć u građenju mašina, ali je odbijen jer bi duže trajalo da se njegov rad završi no što je vlada
očekivala da će rat trajati. Pri kraju rata je pobegao u Hinterstein pa potom u Švajcarsku gdje je
rekonstruisao mašinu Z4 na univerzitetu u Cirihu i osnovao računarsku kompaniju koja se vremenom
pripojila koorporaciji Siemens. Nedavno je njemački muzej u Minhenu rekonstruisao mašinu Z1 kao
centralni dio računarske izložbe. Zuse-ova mašina je sve do poslije rata bila nepoznata izvan
Nemačke i mada imaju hronološki prioritet ipak imaju mali uticaj na sveukupni razvoj industrije.

Slika 13Računar Z3
U međuvremenu, jedan od učesnika ENIAC projekta, Džon fon Nojman, matematičar mađarskog
porijekla koji je živio u SAD, otišao je na Prinstonov Institut za napredne studije da bi radio na
sopstvenoj verziji EDVAC-a, koju je nazvao IAS (Institute for Advanced Study Machine) mašina. U
vrijeme kada je počeo da se bavi računarima fon Nojman je bio jedan od najvećih matematičara toga
doba. Za njega kažu da je bio genije kalibra Leonarda da Vinčija. Govorio je više jezika, bio je
stručnjak za fiziku i matematiku i mogao je da se prisjeti svega što je ikada čuo, vidio ili pročitao.

Slika 15EDSAC

Slika 14Džon fon Nojman pored IAS računara

Fon Nojman je zaključio da je programiranje računara pomoću velikog broja prekidača i kablova sporo
i teško, i da je bolje program predstaviti u digitalnom obliku u memoriji računara. On je takođe shvatio
da je, umesto decimalne aritmetike koju je koristio ENIAC, bolje koristiti binarnu aritmetiku (s obzirom
da je kod ENIAC-a svaka cifra predstavljana sa po deset vakumskih cijevi od kojih je uijvek samo
jedna bila upaljena). Njegov arhitekturni princip, poznat kao fon Nojmanova mašina, primjenjen je kod
prvog računara sa zapamćenim programom EDSAC, i još uvijek je osnova za gotovo sve računare i
do današnjih dana. Ova arhitektura, kao i IAS mašina koju je fon Nojman izradio u saradnji sa
Hermanom Goldštajnom, imala je ogroman uticaj na dalji razvoj računara.

Džon fon Nojmanova mašina je imala pet osnovnih dijelova: memoriju, aritmetičko logičku jedinicu,
jedinicu za upravljanje programom i ulaznu i izlaznu opremu. Memorija se sastojala od 4096 riječi od
kojih je svaka imala 40 bitova. Svaka riječ je sadržala ili dve 20-bitne instrukcije ili dva 39-bitna
označena cijela broja. Osam bitova instrukcije je definisalo operaciju, a prostalih 12 je specificiralo
riječ u memoriji.

Unutar aritmetičko logičke jedinice, preteča savremene CPU (Central Processing Unit) je bio specijalni
interni 40-bitni registar nazvan akumulator. Tipična instrukcija, na primjer, sabira memorijsku riječ sa
sadržajem akumulatora ili upisuje sadržaj akumulatora u memoriju. Mašina nije imala aritmetiku u
pokretnom zarezu, jer je fon Nojman smatrao da će svaki kompetentni matematičar moći da sam
odredi poziciju decimalne tačke.

Slika 16Džon fon Nojmanova mašina

Džon fon Nojman je 1946. godine publikovao je studiju o konstrukciji univerzalnog kompjutera sa
unutrašnjim programiranjem. Ingenioznim fon Nojmanovim radovima u Mur školi i za potrebe američke
armije, postavljaju se teorijski principi rada digitalnih računara. Dolazi do pojave nove verzije računara
ENIAC pod nazivom EDVAC (Electronic Discrete Variable Automatic Computer).

Slika 17EDVAC

Ovo je prvi kompjuter sa binarnom logikom i unutrašnjim programiranjem. Fon Nojmanova ideja o
promjenljivim programima u memoriji računara bitno je ubrzala razvoj kompjuterske tehnologije. Zato
se sa punim pravom Džon fon Nojman može smatrati jednim od očeva kompjutera, odnosno uopšte
kompjuterske tehnologije.
1.2. GENERACIJE RAZVOJA
KOMPJUTERA

Ne postoji unikatna klasifikacija razvoja kompjutera, odnosno kompjuterske tehnologije. Ipak, po


određenim kriterijumima razvoj se može klasifikovati u nekoliko generacija, koje ćemo predstaviti u
sljedećoj tabeli:

Vrijeme
G Period Hardver Softver Periferija
operacije

1950
1. Elektronske cijevi 10-3 sek Mašinski jezici Bušene kartice
1956

1956 Tranzistori i feritna


2. 10-6 sek Jezici višeg reda Magnetne trake
1965 memorija

Time Sharing
1965
3. Integrisana kola LSI 10-9 sek Multiprogra-mming Magnetni diskovi
1971
Teleprocessing

Veoma integrisana kola Virtuelna mem.


4. 1971- 10-12 sek Diskete
VLSI Baze podataka

Tabela 1 Generacije razvoja kompjutera


1.2.1. PRVA GENERACIJA
KOMPJUTERA

Prva generacija kompjutera počinje da se razvija i primjenjuje u komercijalne svrhe od 1950. godine.
Vezana je za pojavu računara UNIVAC I, kojem su elektronske cijevi bile osnovni elementi. Ovaj
kompjuter se proizvodio serijski. Nakon njega proizvedeni su razni računari sa elektronskim cijevima.
Svi računari ove generacije bili su velikih dimenzija, trošili su mnogo električne energije i bili su
relativno skromnih mogućnosti obrade podataka. Programirani su bili u mašinskom jeziku, a
periferijske jedinice su radile sa bušenim karticama i trakama.

Mašinski jezik - jezik nula i jedinica I programi na takvom jeziku bili su nepregledne liste redova
ispisanih nulama i jedinicama. Pisanje takvih programa bilo je mukotrpno, njihovo čitanje još teže, a
najgore je bilo pronaći grešku u programu. Uz sve to, mašinski jezici (kako im to i ime kaže) su mašini
orijentisani: drugi računar - drugi jezik. Takve računare mogli su da programiraju samo oni koji su
dobro poznavali njihovu arhitekturu. Vrlo brzo su programeri počeli da razmišljaju o tome kako da
svoje programe skrate i učine jasnijim pa su se dosjetili da binarne nizove pretvore u brojeve u
dekadnom, a kasnije u heksadekadnom brojnom sistemu. Ovo je tek malo smanjilo fizički obim listinga
programa, a uvelo je potrebu za prvim rudimentarnim prevodiocima koji su prevodili dekadne, odnosno
heksadekadne brojeve, nazad u binarni sistem (računari su još uvijek, pa i danas, razumjevali
isključivo mašinski jezik).

Slika 18UNIVAC I
1.2.2. DRUGA GENERACIJA
KOMPJUTERA

Druga generacija računara pojavljuje se 1956. godine. Za razliku od prve generacije umjesto
elektronskih cijevi dolazi do primjene tranzistora. Oni su mnogo manjih dimenzija, ekonomičniji u
potrošnji električne energije i mnogo brži u izvršavanju računskih operacija. Pored ovih osobina,
kompjuteri druge generacije se odlikuju boljim tehničkim rješenjima ulaza i izlaza podataka i
pristupačnijom komunikacijom. Problem visoke cijene tranzistora riješen je izgradnjom tranzistora na
bazi poluprovodničkog materijala silicijuma. Silicijum, na kome je izrađeno integrisano kolo, naziva se
čip. Uz bušene kartice i trake pojavljuju se i magnetne trake. Memorijski segment je sastavljen od
feritnih prstenova. Računari ove generacije rade sa unutrašnjim programiranjem (program se pomoću
bušenih kartica unosi u glavnu ili operativnu memoriju). Za čuvanje podataka služe pomoćne memorije
kao npr. magnetne trake.

Predstavnik ove generacije računara je IBM 701. IBM je bio mala kompanija koja je proizvodila bušače
kartica i mašine za mehaničko sortiranje kartica (oni su i počeli sa proizvodnjom mehaničkih pisaćih
mašina i druge mehaničke kancelarijske opreme, pa otuda i ime kompanije - International Business
Machines). Iako je IBM finansirao jedan dio projekta Hauarda Ejkena, oni nisu bili naročito
zainteresovani za proizvodnju računara sve dok nisu 1953. godine proizveli računar 701. Dakle, dugo
vremena pošto su Ekert i Mokli postali broj jedan na tržištu sa njihovim računarom UNIVAC. Računar
701 je imao 2k 36-bitnih riječi sa dve instrukcije po riječi. To je bila prva u seriji mašina koje će za
samo desetak godina postati dominantne na tržištu računara. Tri godine kasnije, proizveden je 704,
koji je imao 4k reči memorije izrađene u tehnologiji magnetnih jezgara, 36-bitne instrukcije, i hardver
za izvršavanje operacija u pokretnom zarezu. Godine 1958. IBM je proizveo svoj poslednji računar sa
vakuumskim cevima - mašinu sa oznakom 709.

Slika 19IBM 701


1.2.3. TREĆA GENERACIJA
KOMPJUTERA

Treća generacija računara datira od 1965. godine pojavom računara sa integrisanim kolima.
Najpoznatiji računar ove generacije je Najpoznatiji računar ove generacije je IBM 360 i imao je
sljedeće osobine:
 objavljen 1964.godine,
 u razvoj uloženo 5 milijardi dolara,
 prva unaprijed planirana familija računara,
 svi računari familije su imali identičan ili sličan skup instrukcija,
 svi računari u familiji su imali identičan ili sličan operativni sistem,
 svaki od jačih modela je u odnosu na slabije za veću cijenu nudio i
– veću brzinu, zbog veće brzine izvršavanja instrukcija;
– veći broj kanala na koje je moglo da se priključi veći broj U/I jedinica;
– veću količinu unutrašnje memorije.

Tehnologija integrisanih kola doprinijela je smanjenim dimenzijama računara, velikim brzinama


izvođenja računskih operacija, maloj potrošnji električne energije, visokom stepenu pouzdanosti rada i
relativno niskoj cijeni proizvodnje. Pored boljih tehničkih performansi, programiranje je znatno
napredovalo. Kompjuteri treće generacije imali su mogućnost istovremene nezavisne obrade podataka
sa nekoliko programa (Time Sharing i Multiprogramming), kao i mogućnost daljinske obrade podataka
(Teleprocessing). Razvijeni su i viši programski jezici, koji su bitno olakšali i proširili korišćenje
kompjutera. Naime, kod ranijih generacija u računaru se istovremeno mogao izvršavati samo jedan
program (monoprogramska obrada), pa su centralna jedinica i periferne jedinice bile veoma skromno
iskorišćene. U ovoj generaciji stvorena je mogućnost paralelnog korišćenja perifernih jedinica za
različite programe koji istovremeno angažuju brzu centralnu jedinicu (multiprogramska obrada) i tako
se kompletan računarski sistem mnogo racionalnije koristi.

To je posebno značajno zbog još uvijek veoma visokih cijena kompjuterske opreme. Multiprogramska
obrada realizovana je tzv. sistemom prekida programa u centralnoj jedinici, a to joj omogućuje
paralelno izvođenje aritmetičkih i logičkih operacija, dok periferne jedinice izvršavaju ulazno-izlazni
transfer podataka.

Slika 20IBM 360


1.2.4. ČETVRTA GENERACIJA
KOMPJUTERA

Četvrta generacija kompjutera počinje 1971. godine pojavom serije kompjutera IBM 370. Osnovni
elementi koji služe za izgradnju ove generacije su visokointegrisana kola, koja su omogućila relativno
jeftinu proizvodnju kompjutera, malih dimenzija i velike brzine rada. Sve to je stvorilo novi kvalitet
decentralizacije procesora kompjutera i primjenu distribuirane obrade podataka. Realizuje se
multiprocesorska obrada podataka, što znači da centralnu memoriju računara kompletno ili djelimično
mogu koristiti dva ili više procesora. U ovoj etapi razvoja kompjutera došlo je do tehnološke primjene
niza novih rješenja, koja su bila u funkciji optimalnog korišćenja računara od strane korisnika.
Razvijaju se razni oblici distribuirane obrade podataka, povećava se primjena multiprogramske
obrade, razvijaju se tehnološki nove eksterne i virtuelne memorije, formiraju se baze podataka itd. U
konstrukciji kompjutera sve više se primjenjuju raznovrsni čipovi (memorijski i procesorski).

Slika 21IBM 370


Kompjuterska teorija period od 1981. godine klasifikuje kao petu generaciju razvoja kompjutera.
Osnovni elementi ove generacije su čipovi sa super visokim stepenom integrisanosti (sadrže preko
1.000.000 integrisanih kola). Računare ove generacije odlikuju toliko integrisani elementi kod kojih su
na izuzetno malom prostoru u jednom čipu integrisane čitave jedinice računara, pa čak i cijeli računar.
Takvi elementi omogućuju izgradnju multiprocesorskih mikroračunara, kod kojih se softver (programski
dio) sve više ugrađuje u hardver (tehnički dio). Kompjuteri se međusobno povezuju mrežom za prenos
podataka, što korisnicima pruža mogućnost da svoje programe izvrše na onom računaru iz mreže koji
je najpogodniji za izvođenje konkretnog programa obrade. Razvijeni su novi nivoi korisničkih
programskih jezika, sistemi za obradu slike, teksta i govora. Kompjuteri se sve više koriste za
rješavanje složenih rutinskih zadataka, čime se stvara bolja baza za proces odlučivanja, a korisnik
dobiva sve više vremena za bavljenje kreativnim poslovima.
1.3. PERSPEKTIVE RAZVOJA
INFORMACIONE
TEHNOLOGIJE

Informacione tehnologije su posljednjih nekoliko decenija bile izložena takvim revolucionarnim


tehnološkim promjenama da je to neuporedivo sa bilo kojom oblasti ljudskog djelovanja. U prilog
ovome ilustrativan je sljedeći primjer: da je razvoj automobilske industrije (spada u veoma propulzivnu
tehnološku i ekonomsku granu) od 1965. do 1980. godine bio jednak razvoju informacionih
tehnologija, tada bi 2000. godine imali paradoksalnu situaciju:

Pokazatelji 1970. godina 2000. godina

maksimalna brzina 180 km/č 200.000 km/č

vijek eksploatacije 8 godina 10.000 godina

potrošnja goriva na 100 km 10 l 5 ml

cijena 50.000 n.jed 50 n. jed.

težina 1.000 kg 80 dkg

snaga 50 KS 50.000 KS

Tabela 2 Razvoj informacionih tehnologija

Očigledno da je dinamičan razvoj informacionih tehnologija na savremeni svijet uticao mnogo više
nego tehnologija proizvodnje automobila.

Iako je industrija kompjutera i uopšte opreme za elektronsku obradu podataka jedna od najmlađih
grana u razvijenim zemljama, a u zemljama u razvoju još uvijek u začetku, njeno učestvovanje u
društvenom proizvodu i nacionalnom dohotku veoma je značajno. Prema prognozama, godišnja stopa
rasta ove grane u industriji i dalje će iznositi 20%. U društvenom proizvodu SAD iznosiće oko 10%, a u
zemljama Zapadne Evrope 7%. Veličinu ovih procenata možemo shvatiti ako znamo da bi sa ovim
trendom rasta kompjuterska industrija u SAD pretekla proizvodnju automobila.

Perspektive razvoja informacionih tehnologija sintetizuju se na razvoju osnovnih komponenti


kompjutera tj. hardvera i softvera. Razvoj hardverske komponente odvijaće se na području:

Povećanja brzine. Kako je 1975. godine brzina rada računskih operacija kompjutera dostizala
4.000.000 operacija po sekundi, to je bilo 2.000 puta brže nego 1955. godine. Ovaj trend se još neko
vrijeme može ekstrapolirati. Unutrašnje brzine su se od 1965. do 1975. godine povećale oko 200 puta,
a prognoze su da će vrijeme sabirnja za deset godina postati bar 100 puta manje i da će brzina
pronalaženja podataka u centralnim jedinicama pasti na oko 5% svoje sadašnje vrijednosti.
Minijaturizacije komponenti. Uskoro se očekuju spektakularni rezultati primjene novih tehnologija
(tanki filmovi i veća gustina pakovanja aktivnih elemenata u čipove). Buduće generacije računara biće
bazirane na novim tehnologijama kao što su bio-čipovi i optička vlakna.

Kapaciteta memorije. Na ovom području očekuju se revolucionarni pomaci, kako po pitanju velike
kapacitativnosti memorijskog podsistema tako i do njegovog pojeftinjenja.

Softverska komponenta, sa jedne strane će se razvijati u domenu daljeg usavršavanja Time Sharinga i
telekomunikacija, odnosno razvoja softvera relevantnog za ove oblasti. Sa druge strane, razvoj će biti
baziran na primjeni savremenih dostignuća i metoda vještačke inteligencije i ekspertnih sistema.

Današnji PC računari bazirani su uglavnom na dva velika proizvođača centralnih procesorskih jedinica
(CPU): AMD i Intel koji "gaze" na frekvencama od 1700MHz do preko 3 GHz. U njih se ugrađuje od
128 MB do 2 GB RAM-a, i hard diskovi kapaciteta 80-300GB. Grafičke karte hardverski podržavaju 3D
iscrtavanje i opremljene su sa 64-512 MB sopstvenog RAM-a. CD ROM-ovi i DVD player-i su
standardni uređaji, dok je disk jedinica (Floppy) standard prošlosti koji je nazamjenljiv u prenosu
manjih podataka sa računara na računar. Monitori su sa dijagonalom od 17" i veći.  Modem je
komponenta s kojom Internet dolazi u svaki kutak svijeta.

Kao kućni računari ovi uređaji sve više postaju centar kućne zabave i rada: bezbroj igara, radio, TV i
SAT program, muzički stub, kucanje teksta, vođenje kućnog budžeta, crtanje, Internet... Primjena ima
onoliko koliko korisnik ima mašte da ih iskoristi (još uvijek ne pere veš i ne kuva).

A kako zamisliti posao bez računara. Optimizacija sječenja materijala kod stolara i tekstilaca, nove
frizure i šminka kod frizera i kozmetičara, praćenje parametara proizvodnje, baze podataka,
konstrukcije, zvuk, video, nadzor, opet Internet...   

Za većinu korisnika, i najslabije mašine današnjice zadovoljavaju sve njihove potrebe. 

A manjina?

Za njih radi kompjuterska industrija, stalno izbacujući sve brže i sve bolje. Kraj? Ko to zna?
1.4. KATEGORIJE KOMPJUTERA

Činjenica je da kompjuteri mjenjaju život ljudi i da će se to nastaviti i ubuduće. S njima se mnogo štošta može
uraditi brže i lakše nego prije dvadeset godina, a u mnogim slučajevima rad bez kompjutera danas je praktično
nemoguć. Kompjuter je bio uspješan svih ovih godina jer je bio oruđe za jednostavno obavljanje brojnih
zadataka koje prati i prilagođava se potrebama vremena.

Podjela kompjutera na kategorije je veoma zančajna pojava u informatičkoj istoriji. Svaka od navedenih
kategorija ima svoje specifičnosti koje se ogledaju u složenosti, arhitekturi i oblasti primjene po kom osnovu se
vrši grupisanje kompjutera u kategorije. Obzirom na dinamiku razvoja kompjuterske tehnologije i razvoj
kompjutera vremenom dolazi do uklanjanja razlika između pojedinih kategorija te pitanje je vremena kade
ćemo raditi na mikrokopjuteru sa 6,7 TB (terabajta) memorije i možda imati mogućnost simulacije nuklearane
probe.

Danas, obzirom na različitu složenost, arhitekturu i oblast primjene kompjuteri se klasifikuju u tri osnovne
klase :

 makrokompjuteri (mainframes)
 minikompjuteri
 mikrokopjuteri.
1.4.1. MAKROKOMPJUTERI

Veoma brz razvoj hardvera i veliki uspjesi u mikrominijaturizaciji poluprovodničkih kola omugućilo je
masovnu primjenu PC računara u svim oblastima života i aktuelnost Interneta nisu umanjili značaj
superkompjutera, koji se i dalje razvijaju i unapređuju. Makrokopjuteri predstavljaju takvu klasu
kompjutera u koji su integrisane najsnažnije perfomanse današnje kompjuterske tehnologije.
Primjenjuju se u oblastima gdje je potrebno obraditi veliki obim podataka sa relevantno složenim
procesima. Posljednja generacija pravljena je za potrebe američke vojne industrije i ima osobine velike
zapremine i velikog broja procesora.

U sferi makrokopjutera, jedna od vodećih firmi, IBM izbacio je na tržište novi superkompjuter baziran
na upotrebi njihovog novog procesora Power3-III.

Makrokopjuter nazvan ASCI White, a je namijenjen je za simulaciji nuklearnih eksplozija. Svoj dom
našao je u "Lawrence Livermore National Laboratory" u Livermoru (Kalifornija, SAD), koji je na prvom
spratu zauzeo površinu veličine dva košarkaška igrališta, a teži 106 tona i ima 8.192 procesora. Njegova
brzina je 12,3 triliona kalkulacija u sekundi tj. 12,3 teraflopsa. Ima 512 kompjuterskih cijelina, svaka sa
16 Power3-III procesora. Ukupno ima 6,7 TB (terabajta) memorije, što je oko 97.000 puta veće od
klasičnog PC kompjutera sa 64 MB. Ukupno može da smjesti na svoje diskove oko 160 TB (16.000 puta
više od standardnog diska od 10 GB), a troši struju oko 1,2 MW, što prosečno potroši oko 1000 ovećih
stambenih kuća.

Slika 22ASCI White 10-teraOPS

Njegova manja test-verzija, nazvana Baby Huey, dugo je živjela u Livermoru. Beba-superkompjuter je
imao svega šesnaest kompjuterskih cijelina.

Kako nijedan makrokompjuter nije komercijalan, ipak ima dosta uticaja na razvoj ostalih vrsta
kompjutera. Tako je IBM predstavio svoj novi server, koji ima naziv "Nighthawk-2”, sa Power3-III
procesorima.

Sličnog imena, ASCI Red, "Intel” je napravio makrokompjuter sličnih (tera) karakteristika za potrebe
vojnih istraživanja u "Sandia National Laboratories” u Albukerkiju (Novi Meksiko, SAD). Radi se
zapravo o programu koji je propisala vlada SAD pod imenom ASCI.

Kao treća firma umiješana u taj program javlja se SGI sa svojim "Blue Mountain” koji je instaliran i radi
u "Los Alamos National Laboratory” u Los Alamosu (Novi Meksiko, SAD). Ovaj proizvođač uskoro
treba da završi i makrokopjuter brzine 30 teraflopsa koji će takođe biti postavljen u Los Alamosu.
U igru sa makrokopjuterima ulaze i ostali proizvođači. AMD sponzoriše istraživanja u oblasti
makrokopjutera na Univerzitetu u Kentakiju. Svakako da je posao uparivanja više hiljada procesora
veoma zanimljiv posao za proizvođače, ali isto tako i mukotrpan - jer neko mora da poznaje oko 3000
kilometara žice koliko ima IBM ASCI White.
SUPERKOMPJUTERI

Posebno interesnatana grupa kompjutera u ovoj klasi su tzv. Superkompjuteri koji se odlikuju izuzetno
snažnim hadverskim i softverskim performansama.

Superkompjuteri dobili su novi zamah od kada su konstruktori, umjesto da razmišljaju o jednom


velikom i moćnom računaru, počeli da grade veliku procesorsku snagu udruživanjem stotina i hiljada
malih računara u jedan veliki sistem.

Sprovodeći istraživanje o trenutnom stanju superkompjuterske tehnologije i njenoj upotrebi, nameće


se utisak da među naučnicima, državnim institucijama bogatih zemalja i velikim kompanijama vlada
značajna zainteresovanost za nabavku i primjenu sve moćnijih i moćnijih superkompjutera.
Posmatrajući svijet visoke tehnologije, reklo bi se da su naučnici, žargonski rečeno, poludjeli za ovim
mamutskim mašinama.

Postoji jasno uočljivo takmičenje između različitih nacija koje nastoje da imaju najbrži i najmoćniji
superkompjuter. Kompanije koje su proizvele ove uređaje vrlo detaljno predstavljaju javnosti njihovu
konstrukciju, navode karakteristike, broj procesora itd., nastojeći da pokažu superiornost svoje
tehnologije.

Međutim, kao pravilo se pokazuje da su podaci o tome šta se i na koji način radi s ovim
superkompjuterim vrlo šturi ili se do njih teško dolazi. Najčešće se u nekoliko rečenica pominje da se
superkompjuteri koriste za istraživanje klime, testiranje oružja, dešifrovanje gena... I uglavnom se sve
završava na tome. Mnogi stiču utisak da se prećutkuje ili izbjegava iznošenje rezultata istraživanja
dobivenih uz pomoć superkompjutera i opravdano se pitaju šta to sve vlade različitih zemalja i
naučnici zaista rade s tolikom procesorskom moći. Ako se uzme u obzir da se njihove cijene kreću od
1 pa do 45 miliona dolara, jasno je da postoje jaki razlozi za takva ulaganja. Sigurno je da mnoge
institucije svoje superkompjutere koriste na načine koji direktno pomažu ljudima u svakodnevnom
životu.

Vlade pojedinih zemalja, takmiče se međusobno ko će imati jači superkompjuter. Trenutno su dvije
najjače nacije na ovom polju Amerikanci i Japanci, a ovi poslednji već tri godine ubjedljivo drže prvo
mjesto. Slavu im je donio projekat Earth Simulator, superkompjuter sa brzinom od 35,8 teraflopsa
(35,8·1012 FLOPS, operacija sa pokretnim zarezom u sekundi).

Slika 23Earth Simulator (Japan)

Projekat je djelo tri japanske agencije i namjenjen je (zvanično) za istraživanja klime. Razvoj je trajao
pet godina, a superkompjuter je postao operativan krajem 2001. godine. Čitav sistem je sastavljen od
5120 NEC procesora pri brzini od 500 MHz, koji raspolažu sa ukupno 10 terabajta FPLRAM radne
memorije. Veoma važnu komunikaciju između kodova (pojedinačnih jedinica) karakteriše protok od 16
GB u sekundi.

Kompanija NEC ima značajno iskustvo u izgradnji superkompjutera., tako da tip procesora upotrebljen
u ovom sistemu ne predstavlja uobičajeno rješenje, već je u pitanju vektorski CPU izrađen CMOS
tehnologijom, nasljednik poznatog NEC SX-5 procesora. Kompjuter kontroliše operativni sistem
Super-UX, jedna od verzija UNIX-a.

Fizička konstrukcija ovog superkompjutera.se sastoji od 320 ormana koji su smješteni u vidu
koncentričnih prstenova. Spoljašnji prsten plavih ormana sadrži procesorske jedinice, dok unutrašnji
krug zelenih ormana sadrži sisteme za međusobno povezivanje kodova. Postoji i treći prsten bijelih
ormana koji sadrži sisteme za čuvanje podataka.

Sve ovo je smješteno u zgradi dimenzija 65 x 50 metara koja je specijalno sagrađena za ovaj sistem.
Na četvrtom nivou građevine se nalazi kompjuterska soba sa pomenutim ormanima, dok je treći nivo
mahom popunjen ogromnom količinom kablova koji povezuju cijeli sistem. Ispod nivoa s kablovima
nalaze se sistemi za hlađenje kompjutera i snabdjevanje električnom energijom. Konstrukcija zgrade
ima svoje osobenosti i izgrađena je u vidu „vazdušne školjke”, tako da je kretanje vazduha
konstrukcijski pomognuto. Cijeli sistem je zaštićen elektromagnetnim štitom, kao i sistemima za
neutralisanje uticaja zemljotresa.

Sljedeća četiri mjesta zauzimaju projekti iz SAD. Iako trenutno znatno zaostaje za japanskim Earth
Simulator sistemom, BlueGene/L se izdvaja u ovoj grupi zbog svoje arhitekture koja dozvoljava velika
proširenja, pa je planirano da u budućnosti ovaj kompjuter dostigne nevjerovatnih 360 TFLOPS.

Lawrence Livermore National Laboratory iz Kalifornije je angažovao IBM da izgradi pomenuti


BlueGene/L računar . Njegovo kompletiranje je urađeno u 2006. godini, kada je dostigao brzinu deset
puta veću od sada najbržeg Earth Simulatora,.

BlueGene/L trenutno dostiže 11,6 TFLOPS sa svojih 8000 PowerPC procesora spakovanih u četiri
ormana. Za sada je ovo samo jedna šesnaestina planiranog kapaciteta.

Još jedan američki projekat trebalo bi da nadmaši Earth Simulator kada bude završen. Reč je o
projektu Kolumbija koji vodi kompanija Silicon Graphics za agenciju NASA. Ovaj sistem se bazira na
20 SGI Altix jedinica od kojih svaka sadrži 512 Intel Itanium 2 procesora. Zaista, da se čoveku zavrti u
glavi. Space Exploration Simulator, kako je nazvan ovaj računar, vjerovatno će biti jedan od
najmoćnijih sistema sa dva puta većim brojem procesora od japanskog Earth Simulatora.

U ovom klasterskom sistemu svaka jedinica od 512 procesora će „vrtjeti” kopiju operativnog sistema
Linux. Sve jedinice su povezane InfiniBand sistemom koji omogućava dovoljan protok informacija, pa
uz pomoć posebnog softvera cijeli sistem djeluje kao cjelina..

Krajem 2003. godine pobudio je dosta pažnje jer je baziran na Apple G5 kompjuterima. Sastavljen je
na Virginia politehničkom institutu i sastoji se od 1100 PowerMac kompjutera sa ukupnom
maksimalnom brzinom od 10,3 TFLOPS. U vrijeme kada je počeo da radi, odmah je izbio na treće
mjesto po brzini, a sačinjavale su ga jedinice sa po dva PowerPC G5 procesora, 4 GB radne memorije
i diskovima od 160 GB. .

U ne tako davnoj prošlosti superkompjutera., pojam za ove mašine su predstavljale monolitne


vektorske cjeline koje su proizvodile kompanije Cray i IBM. Pojava Linuxa je iz temelja promenila
odnos snaga u ovoj oblasti, omogućivši potpuno novu kategoriju superkompjutera. koji se popularno
nazivaju klasterima. Njihova karakteristika je to što se, uz pomoć posebnog softvera, skup manjih
nezavisnih računara ponaša kao cjelina.

Za razliku od klastera, raniji superkompjuteri su i hardverski i praktično bili jedan računar koji je radio
pod nekom varijantom UNIX-a. Linux u kombinaciji sa Beowulf (i OpenMosix) softverom
donio je mogućnosti povezivanja velikog broja čak i običnih PC računara koji postaju superkompjuter
Prednosti klastera su očigledne: operativni sistem otvorenog koda, jeftin hardver koji se može lako
nabaviti i velika fleksibilnost – praviš superkompjuter onako kako ti finansijski odgovara i u zavisnosti
od toga koliko ti računarske moći treba.

U početku je vodeća prednost klastera bila u niskoj cijeni, ali su s druge strane zahtjevali mnogo više
rada, trošili su više energije i zauzimali veći prostor. Glavni argument zagovornika klasičnih vektorskih
superkompjutera bio je da klasteri, koliko god da su veliki, ne mogu dostići performanse vektorskih
sistema, i to posebno u slučaju nekih zadataka kao što su klimatološka istraživanja ili predviđanje
širenja šumskih požara. S druge strane, tehnologija klasterskih sistema znatno je napredovala
posljednjih godina, tako da ove razlike polako nestaju.

Predviđa se dominacija klasterskih superkompjutera., koji se po svojim performansama i dizajnu sve


više približavaju vektorskim, zadržavajući svoju bitnu karakteristiku – performanse po želji. Broj
superkompjutera u svijetu i njihova moć vrtoglavo rastu i svakako će biti zaslužni za mnoga naučna
dostignuća.

Slika 24Superkomjuter nastao pezivanjem običnih PC kompjutera

MINIKOMPJUTERI

Minikopjuteri ili “srednji” kompjuterski sistemi predstavljaju klasu računara koja se sve više koristi ne samo kod
velikih kopanija već i kod korisnika koji žele da riješe problem upravljanja mrežom ili razvoja vlastitog softvera.
Minikompjuteri se koriste uglavnom tamo gdje nije izražena masovnost podataka i složenost problema.
Minikompjuteri su prvobitno služili za upravljanje procesima, a kasnije im je primjena proširena na područije
komercijelne obrade podataka. Osnovne karakteristike su im:
 32 i 64 bitna dužina riječi uz osnovni kapacitet operativne memorije od 10-20 GB,
 mogućnost simultanog interaktivnog rada više desetina korisnika,
 velika glavna memorija za rad sa bazama podataka,bazama znanja i sl.,
 brzina rada od 200-600 MIPS-a...
Slika 25Minikompjuter
MIKROKOMPJUTERI

Napredak našeg društva već više od 150 godina diktiraju elektroni. Jedan od fudametalnih pronalazaka
čija se tehnologija zasniva na kretanju elektrona je digitalni elektronski računar, čija je primjena danas
očigledna u svim oblastima ljudskog života. U poslednjih dvadeset godina prodato je blizu milijarde PC -
personalnih kompjutera..Čak i kada je loša poslovna godina, u svijetu se prodaje više PC-ja nego
televizora ili bicikala. Računari mijenjaju život ljudi i to će se nastaviti i ubuduće.

U svakodnevnom životu susrećemo se sa nizom uređaja i mašina različite namjene čiji su pronalasci
kroz istoriju često revolucionarno mijenjali metode rada pa i način i sadržaj ljudskog života. Jedan od
takvih fundamentalnih pronalazaka je, bez sumnje, digitalni elektronski računar, čije su implikacije
danas očigledne u svim oblastima ljudske djelatnosti.

U dosadašnjem razvoju kompjuterska tehnologija je postepeno prodrla u sve pore savremenog života i
rada. Nakon početnih aplikacija na područjima numeričke analize, obrade statističkih i poslovnih
podataka, primjena kompjutera se raširila na razna područja, kao što je upravljanje radom benzinskog
motora ili kontrola kvaliteta proizvoda. Ova aplikacijska širina rezultat je razvoja posebne klase
kompjutera, mikrokompjutera. Uloga mikrokompjutera na sadašnji i budući razvoj informatike sa
gledišta tehnologije danas je tolika da je slobodno možemo nazvati mikrokompjuterskom revolucijom.

Personalni kompjuteri zapravo su se pojavili nekoliko godina pijre zvanične prezentacije, ali su njihovi
kupci uglavnom bili tehnofili i entuzijasti kojima je novi računar minimalno olakšavao rad. U tom periodu
tržištem su vladali takvi računari kao što su MITS-ov Altair 8800 iz 1975, Commodore PET i Apple II iz
1977. i Atari 400 i 800 iz 1979. godine. 1986. godine dolazi do uvođenja procesora Intel 386. Možda
važniji od činjenice da se radilo o pravom 32 bitnom procesoru jeste podatak da je ovo prvi "Intelov” čip
koji se nije prvo pojavio u IBM-ovoj mašini. Prva 368-tica zakucala je u "Compaqu”, što je označilo
početak kraja IBM-ove dominacije tržištem PC-a.

U isto vrijeme mnogo manjih firmi došlo je do patenata koje je "Intel” tokom problematičnih
sedamdesetih godina mijenjao za druge, nove tehnologije. Kada su ove manje kompanije počele s
proizvodnjom svojih verzija procesora 8086 i 80286, "Intel” je shvatio da gubi kontrolu nad tržištem, što
je bio signal za proizvodnju novih procesora i agresivno spuštanje cijene. "Intelov” 386 SX sa
"skraćenom”, 16-bitnom magistralom i slogan "3 je više od 2” su do početka 1989. godine gotovo
potpuno potisnuli klonove 286-tica s tržišta, pa su u "Intelu” pomislili da je pravi trenutak za lansiranje
procesora 486.

Ispostavilo se da nisu bili u pravu. Ne samo da korisnici nisu osjećali potrebu za brzim 486-ticama, nego
je u tom trenutku AMD počeo s proizvodnjom jeftinih 386 procesora, najavljujući veliku borbu koja i
danas traje. Zato je 486 SX dobio ulogu jeftinog procesora koji mora da izgura konkurenciju.

Kada je "Intel” predstavio procesor Pentium, "„Microsoft” je vješto vezao za njega svoj Windows 3.11. I
pored greške u aritmetičkoj jedinici originalnog Pentiuma koja ga je koštala mnogo novca i ugleda, "Intel”
je dokazao da čak ni takav fijasko ne može da ga poljulja.

Nekoliko godna kasnije Pentium je dobio skup instrukcija (mašinskih naredbi) po imenu MMX, a
"Microsoft” je izdao Windows 95. Od tada, dodatni skupovi instrukcija kao što su 3D Now ili SSE ostaju
bitan atribut novih procesora.

Trenutno je tržište PC procesora raslojeno. "Intelov” Celeron, koji je nekada bio direktna konkurencija
samom Pentiumu II, nije napredovao istom brzinom, pa ga je AMD-ov Duron stigao i prestigao. To se
desilo i sa AMD-ovim Athlonom i Pentiumom III. Sljedeće godine je AMD svojim Sledgehammerom
stvorio konkurenciju Pentiumom 4.Intel , dvadeset godina nakon što je njihov 8088 sa svojih 29.000
tranzistora započeo lavinu, koja i dalje traje, sada sprema dugo odlagani prelazak na 64-bitnu
arhitekturu sa Itaniumom, čudovištem sa preko 320 miliona trantistora koji će, kad se pojavi, raditi na
hiljadu puta većem taktu od svog najstarijeg pretka.
Svaki personalni računar je smješten u kučište izrađeno od plastike ili metala, radi na istosmjernu struju
od 5 V do 12 V, a u kućištu je ugrađen transformator za mrežni napon snage 200 W sa ulaznim
naponom od 220 V ili 110 V. Svaki PC dalje sadrži matičnu ploču sa konektorima za processor i
memorijske module, tvrdi disk, disketnu jedinicu i CD ROM.

Slika 26Personalni kompjuteri

Napredovanjem i razvojem tehnologije dolazi do sveopšte minijaturizacije svake komponente računara,


što je već poznata činjenica. "Mikro” je postao aksiom koji svi proizvođači slijede.

Sve je započelo sa novim proizvodom firme "Sony” pod nazivom PLM-S700 PC Glasstron. U pitanju su
naočale za virtuelnu realnost koje korisniku stvaraju utisak da gleda ekran dijagonale 30 inča. Naočale
sadrže dva LCD ekrana veličine 0,7 inča sa 832 x 624 tačaka. Najveći horizonatalni ugao pod kojim se
može gledati slika jeste 28 stepeni. Preko slušalica koje se nalaze na nosaču naočara može se
emitovati zvuk iz računara. Glasstron sadrži kontrolni upravljač preko koga se reguliše jačina zvuka, bas,
osvjetljenje, boja horizontala i vertikala ekrana itd. "„Sony” proizvod predstavlja prvu komercijalnu
varijantu mikrodispleja po nižoj cijeni nego kod drugih proizvođača. Ipak, cijena od 2600 USD nije za
svačiji džep, pa će se za veću ekspanziju sačekati.

Uticaj na tržište sve prisutnijih "mobilnih računara” (Wearable Computer) koje je Glasstron izveo je
ogromno. U Detroitu je srednjoškolac Majkl Sassak napravio mobilni računar sa video kamerom.
Koristeći Sony Glasstron, Pentium 200 MHz procesor i web kameru za Internet konferencije dečak je
napravio prototip računara koji je zainteresovao čak i naučnike sa MIT-a. Kompjuter je nastao od
komponenti za laptop i veličine je 7,5 x 21,5 x 12,5 cm. U sebi sadrži 120 MB memorije i koristi Linux i
Windows 98 kao operativne sisteme. Za prenos video podataka računar koristi bežični LAN do PC-a koji
podatke šalje na Internet.

Prvenstvena uloga takvog računara je za on-line novinarstvo koje uzima sve više maha u svetu. U
Njemačkoj je kompanija "Art+Com” napravila računar sa istom primjenom, ali u komercijalnoj varijanti.
Uređaj pod nazivom Urban Jungle Pack sadrži AMD K5 procesor na 266 MHz. Kompjuter sadrži šest
serijskih portova, 10/100 Ethernet (za održavanje i dopunjavanje podataka), 3D akcelerator,
SoundBlaster karticu, BT848 video greber i 8 GB hard-disk. Kao displej koristi pomenuti PLM-S700 PC
Glasstron. Operativni sistem računara je Linux, dok su programi pisani u Javi uz dodatak Informix baze
podataka.

Urban Jungle Pack ima moćan GPS (Global Positioning System) uređaj sa preciznošću od jednog
metra) i elektronski kompas za podatke o pravcu kretanja korisnika uređaja. Na ovaj način postignut je
direktan prenos svake informacije koju korisnik Urban Jungle Pack uređaja vidi ili unese u uređaj. Za
komunikaciju uređaj koristi dva GSM 9.600 bit/s modema. Koriste se dva protokola za slanje i primanje
podataka.

Urban Jungle Pack se usavršava, ali već ima dosta kvalitetnih osobina, dok dizajneri tvrde da će uređaj
biti znatno unaprijeđen. Na primer, stojite na ulici i posmatrate zgradu; Urban Jungle Pack otkriva vašu
poziciju i prema položaju glave otkriva u kom pravcu gledate; Na ekranu se prikazuje adresa zgrade,
informacije o zgradi i vlasnik; vi podižete pogled na marker u uglu koji označava 23. sprat zgrade, Urban
Jungle Pack označava koja se kompanija tu nalazi, broj telefona, radno vrijeme i koje proizvode nudi,
uključujući i prezentaciju na Internetu.
Elektronima na čijim se svojstvima zasniva savremena računarska tehnologija, čini se da se njihovoj
primjeni, prvenstveno u računarima a i u ostalim tehničkim uređajima, polako bliži kraj. Na scenu dolaze
fotoni.

Razlozi za ovu smjenu generacija postaju svakim danom sve više evidentni. Elektron je jednostavno
prevelik, prespor i prevruć. Danas u procesorima veze od 0,25-mikrometara (mikrona) polako zamjenjuju
one od 0,18, a sljedeći korak je 0,13 mikrona. Pored činjenice da je proizvodnja još tanjih veza sve
skuplja, biće gotovo nemoguće izbeći preskakanje elektrona između susjednih veza. S druge strane,
foton gotovo da nema masu i može da nosi više podataka u jednom snopu zavisno od frekvencije, i to
bez zagrevanja. Na kraju, fotoni su najbrže čestice poznate čovjeku jer, naravno, putuju brzinom
svjetlosti.

Sa ovom činjenicom na umu, ljudi iz kompanije „Frogdesign” koja se bave projektovanjem


superračunara skočili su kroz vrijeme deset godina unaprijed i sklopili prosječnu konfiguraciju
personalnog računara budućnosti. Kod ovog je računara svaki dio koji se trenutno oslanja na elektrone
zamjenjen je optičkim pandanom. Isto tako, elektronski prekidači će i dalje ostati važan dio računara.
Rezultat ovog spoja je pouzdaniji, jeftiniji i mnogo manji računar nego oni koji su poznati danas, zapravo
dizajneri predviđaju da će ovi računari prije ličiti na frizbi nego na sadašnje računare. Naravno, ono što
svakog korisnika najviše zanima, performanse računara, dostići će nivo današnjih superkompjutera.
Računar takve snage, toliko jeftin da će svako moći da ga priušti i toliko mali da ćete moći da ga nosite
svuda sa sobom, postaće nezamjenjiva alatka u životu svakog modernog čoveka. To znači da na poslu
nećete imati drugi kompjuter, već samo spustite sopstveni računar na sto i on se već povezao s
mrežom!

Upravljački interfejs ovog računara biće vaš glas i desktop. Površina samog stola (engl. desktop) biće
veliki touch screen koji će zamjeniti današnje monitore, tastature i miševe. Pored toga što će
prepoznavati glas, ovi računari će imati i vlastiti sintetizator glasa, tako da će moći da vam pročitaju
pristigle poruke ili da vas upozore na termine iz podsjetnika. Da ne biste morali da brinete za
bezbjednost svojih podataka na samom kućištu stajaće biometrički senzor za očitavanje otisaka prstiju.

Da bi se mogao sastaviti ovaj računar budućnosti, potrebni su komponente iz budućnosti. Većina ovih
komponenti postoji već sada, ali su trenutno preskupe za prosječnog korisnika. Pored toga skoro sve su
još uvek u takvom stadijumu razvoja da čak i kada bi se mogli kupiti, njihovim spajanjem napunila bi se
cijela soba, a još uvek ne bi imali željene performanse.

Hard diskovi koji će se koristiti u ovakvim računarima već postoje, ali u laboratorijama Hologramski
diskovi će se u slobodnoj prodaji pojaviti „mnogo” prije potpuno optičkih kompjutera, a do 2010. godine
biće dovoljno jeftini da se ugrađuju u sve računare.

Za deset godina današnje procesore zamjeniće oni sa optoelektronskim integralnim kolima. Ova kola su
kombinacija elektronskih i optičkih dijelova. Prekidači u procesoru su od silicijuma, ali oni više neće biti
povezani metalnim vezama nego će komunicirati optičkim putem. Tako će se otkloniti osnovna mana
današnjih procesora – predugo čekanje na nove podatke za obradu. Otklanjanjem metalnih veza koji se
zagrijavaju i sprječavaju povećanje takta, brzina procesora preći će čak 100 GHz. Za razliku od
sadašnjih procesora koji su četvorougaoni, procesor u računaru budućnosti imaće izgled pravilnog
šestougla. Dok je četvrtasti oblik današnjih procesora rezultat potrebe za minijaturizacijom i
maksimalnim iskorišćenjem silicijumske ploče, naredne generacije biće šestougaone da bi svaki dio
procesora mogao što brže da komunicira sa keš memorijom koja će ga okruživati poput prstena. Veoma
proste verzije optoelektronskih integralnih kola postoje već sada, ali su još uvijk daleko od stepena koji
je potreban za proizvodnju procesora sa željenim specifikacijama. Po trenutnim procjnama, ovakvi
procesori će se pojaviti tek za deset godina. Na usavršavanju optoelektronike najviše rade kompanije
"Scientific-Atlanta” i "Nortel”, a u "Lucentu” pokušavaju da naprave i optičke prekidače, tj. potpuno optički
procesor. Da ova vrsta procesora predstavlja budućnost pokazao je i veliki "Intel”, kada je kupio dansku
kompaniju "GIGA”, jednog od navećih svjetskih proizvođača optoelektronskih kola.

Optika će ubrzati još jedno usko grlo današnjih računara – magistralu. Dok su trenutno najbrži procesori
već probili barijeru od 1 GHz, krajnje brzine magistrala se kreću od 133 MHzkod "Intela” do 200 MHz
kod AMD-ovog Athlona. Optička magistrala će bez problema raditi na taktu procesora – 100 GHz. Za
brzinu magistrale vezana je i brzina RAM memorije. Računari će imati veliki keš od ultrabrzog
magnetnog RAM-a, dok će osnovna sistemska radna memorija biti optički tj. holografski RAM. Kod
današnje memorije od silicijumskih elemenata osvježavanje, zbog konstrukcije, traje predugo. S
druge strane, magnetni RAM čine mali naelektrisani molekuli. Osvježavanje ove memorije vrši se
jednostavnim električnim impulsom i dostizaće brzinu od 100 GHz. Sama brzina magnetne memorije
omogućiće da se u računare stavlja čak 1 GB (gigabajt) keša. Nažalost, magnetna memorija je još uvijek
u eksperimentalnom stadijumu razvoja, na njoj rade samo u državnim laboratorijama američke vlade i,
naravno, u IBM-u. Iako su ljudi iz „Velikog plavog” do sada postigli najbolje rezultate na ovom polju,
njihove su procjene da će do komercijalno pristupačne magnetne memorije najvjerovatnije morati da se
čeka više od deset godina.

Očekuje se da će standardne konfiguracije imati i više od 256 GB potpuno optičkog, odnosno


holografskog RAM-a. Holografski RAM u principu funkcioniše slično holografskim hard diskovima, ali je
mnogo brži i skuplji. Ovakva memorija takođe već postoji u univerzitetskim laboratorijama. Procjenjuje
se da će se u narednih osam godina, nakon višestrukog povećanje brzine i kapaciteta, veće kompanije
zainteresovati za serijsku proizvodnju.

Pošto će kompjuteri budućnosti biti zasnovani na fotonima, a ne na elektronima kao današnji, trošiće
mnogo manje električne energije. Ovi računari će pored konvencionalnog napajanja imati i okruglu
litijumsku bateriju ugrađenu u obod kućišta, koja će pružati nekoliko nedelja rada bez priključivanja na
električnu mrežu. "Hewlett-Packard” je najavio da će uskoro imati ovakve baterije.

Što se tiče ekrana, sem velikih displeja od preko 30 inča koji će biti ugrađeni u stolove i zidove u kućama
i na radnim mjestima, trebaće vam pregledni prenosivi monitor. Veliki ekrani biće ili paneli od tečnog
kristala pobuđenog fotonima ili nova generacija plazma-displeja. Ovakva rješenja mogu se očekivati od
kompanija kao što su "Sony”, "Toshiba” i "IBM”.

Prenosni monitori neće biti veliki kao sadašnji displeji na notebook računrima, nego mnogo sitniji. Ovi
mali displeji nose se poput naočala i stvaraju u oku prividno veliku sliku, kao da gledate ekran od
nekoliko metara. "Sharp Electronics” je najdalje odmakao na polju kolor LCD tehnologije, a pored
mikrodispleja u poslednje vrijeme mnogo ulažu i u primjenu optoelektronike.

Na kraju se postavlja pitanje – koja će kompanija napraviti ovakav računar? Ako se pogleda tržište
komponenti za računare, još uvijek postoje žestoke borbe za primat i standarde. Kako očekivati od
konkurentskih kompanija da sarađuju? Trenutno postoje tri velika igrača na polju optičkih komponenti,
"Lucent Technologies”, "Cisco Systems” i "Nortel Networks” i najveće borbe na tržištu odvijaće se
između ovih kompanija. U želji da ne se izgubi korak sa „velikim momcima”, osnovana je koalicija
"Optical Domain Service Interconnect” koja se zalaže za izgradnju otvorenog sistema. To bi im
omogućilo da prave komponente koje bi bile kompatibilne sa sva tri velika proizvođača. Ova koalicija
broji već preko 130 „malih” kompanija od kojih neke mogu da se pohvale godišnjim prihodima od preko
dvadeset milijardi dolara.
Slika 27Laptop ili notebook, PDA-Personal digital assistents, Tablet i Wereable
1.5. PRIMJENA INFORMACIONE
TEHNOLOGIJE

Informacione tehnologije kao i sve aktivnosti povezane sa produkcijom i korišćenjem informacija i


znanja, su za kratko vrijeme stekle status jednog od ključnih pokretača ekonomskog napretka u
svijetu.
Današnji svjetski standardi definišu da se stepen razvijenosti jedne zemlje mjeri količinom megabajta
Internet telekomunikacione infrastrukture koja je dostupna toj zemlji, a i raspoređenosti pristupu istoj
od strane krajnjih korisnika.

Takođe, jedan od preduslova razvoja informacionog društva koje UN navodi u svojim programima i
analizama jeste i neograničen, jeftin (ili besplatan) pristup brzoj globalnoj Internet mreži za svakog
stanovnika, u svakom domu, u svakoj školi, instituciji i kompaniji.

Tempo kompjuterizacije je zaista neočekivano brz i gotovo spektakularan. Značaj kompjuterske


tehnologije upravo se ogleda u širini njene primjene. Bukvalno gotovo ne postoji ljudska oblast
djelovanja u kojoj se kompjuteri ne mogu primijeniti. Periodizacija primjene kompjuterske tehnologije
uopšte mogla bi se grafički predstaviti na sljedeći način:

Period 1945-1970 1955-1980 1970-1990 1980-2000

Naučno-tehnološka Privredne Društvene Život


Težište
revolucija i odbrana organizacije službe pojedinca
Racionalizacija Organizacija
Protivavionska odbrana i
poslovanja zdravstva,
Ciljevi raketna tehnika, kosmos i Humanizacija života
privrednih obrazovanja i javne
nuklearna energija
organizacija uprave
Profit Privredni Društveni Potvrda
Motivi
države rast standard ličnosti

Narodna Radno mjesto


Područja Čitava zemlja Opština
privreda i stan

Granične Prirodne Bihevio-rističke


Organizacione nauke Društvene nauke
discipline nauke nauke

Tabela 3 Periodizacija primjene kompjuterske tehnologije

Tabela pokušava periodizovati primjenu kompjuterske tehnologije kroz četiri faze ili perioda od 1945.
do 2000. godine, time da se težište postepeno pomjera od rješavanja naučno-tehničkih problema i to
specijalno u oblasti narodne odbrane, prema problemima privrednih orgnizacija, pa zatim društvenih
službi do života pojedinaca. Tabela je nastala sintezom i adaptacijom prikaza poznatih japanskih
prognoza i anticipira dijalektičku tj. uzročno-posledičnu povezanost kompjuterske tehnologije i
proizvodnih snaga društva.
Savremena preduzeća koriste IT - informacionu tehnologiju u izvršnim i upravljačkim procesima. U
izvršnim procesima automatizuje rutinske operacije, a u upravljačkim procesima obezbjeđuje podršku
za upravljačke odluke. U oba ova domena racionalizuje se i olakšava ljudska aktivnost. Informaciona
tehnologija u preduzeću danas je sistem koji obuhvata računarske i komunikacione uređaje i sva
znanja i metode potrebne za njihovu primjenu.

Smisao informatizacije preduzeća jeste osposobljavanje za brzo reagovanje na događaje u sredini.


Fleksibilnost preduzeća se ne može zamisliti bez uvođenja i primjene IT. Može se reći da je
fleksibilnost organizacije izbacila IT na prvo mjesto na listi situacionih faktora koji oblikuju
organizacionu strukturu preduzeća. Informatizovano preduzeće je sposobno da brzo reaguje, dođe do
informacije brže, i da pri tom ostvaruje bolji kvalitet usluga. Kompjuterski kontrolisani sistem
omogućuje da usluga bude brzo i tačno ostvarena, s mogućnošću praćenja rada. U ovim uslovima
možemo reći da je "ekonomija obima" ustupila mjesto "ekonomiji širine". U velikoj proizvodnoj jedinici
ljudi se osjećaju slabi, bezimeni i nesposobni da utiču na način rada , kao i na konačne rezultate. S
druge strane, pod uticajem IT, organizacioni parametri (podjela rada, sistem odlučivanja, veličina
jedinica i mehanizmi koordinacije) su promjenili svoj izgled i oblikovali novu strukturu koja
savremenom preduzeću daje nove organizacione osobine. Organizacona piramida je uzrok mnogih
korporativnih problema, jer je vrh suviše udaljen od baze. Piramida naglašava vlast, promoviše
nesigurnost, iskrivljuje komunikaciju, ometa interakciju i otežava ljudima koji planiraju i izvršavaju da
se kreću u istom smjeru. Efekti IT na organizaciju mogu se sagledati iz analize uticaja koje ostvaruje
na djelove preduzeća, prema modelu "5s".
Strateški vrh - U strateškom vrhu
oblikuje se "ideologija"
preduzeća, kao dominantan
sistem vrijednosti, ideja i stavova
koji čine poslovnu filozofiju ili
kulturu preduzeća. IT omogućava
širu specijalizaciju vrhovnog
rukovodstva koje i dalje zauzima
centralno mjesto u strateškom
upravljanju i vođenju preduzeća.
Računarska podrška oslobađa
rukovodstvo u vrhu niza
operativnih poslova i omogućava
mu da se bavi kreativnim
aktivnostima.
Slika 28Pet osnovnih dijelova u organizaciji
Srednji dio - obuhvata linijske
rukovodioce koji obrazuju
hijerarhiju, od vrha do operativnog nivoa. Zahvaljujući IT imamo uspješnu kontrolu vrha nad dijelovima
i imamo da ovaj "relejni sistem" u potpunosti preuzimaju računari. Uticaji IT na srednjem nivou
doprinjeli bi da se promjeni izgled organizacione strukture preduzeća u cjelini. On-line informacioni
sistem zamjenio bi mnoštvo analitičara i linijskih rukovodilaca.

Operativno jezgro - svi operativni poslovi iz strukture izvršne funkcije preduzeća mogu se u potpunosti
informatizovati. Na ovom nivou moguć je najviši nivo tehniziranosti poslova, što je u sistemu PTT i
učinjeno.

Osoblje podrške - ovaj dio u organizaciji IT ne može u potpunosti zamjeniti. Ovde IT služi kao "alat" za
podržavanje, odlučivanje i obradu podataka.To su specijalističke službe preduzeća, koje se bave
studijskim aktivnostima kao što su planiranje, istraživanje, razvoj i sl.To je inovativni deo preduzeća. IT
je promenila način komuniciranja između članova u grupi i između strateškog vrha i funkcionalnih
rukovodilaca. Kompjuteri su preuzeli ulogu informatora.Terminali na svakom kancelarijskom stolu i
njihovo povezivanje omogućava da se kreiraju centri znanja, i da svako ko to želi može videti posao
svakog drugog, onako kako je on i urađen. Time su potisnuti štabni rukovodioci (savjetnici,
specijalisti). Može se zaključiti da bi IT doprinjela prevazilaženju klasičnog organizacionog konflikta
između linije i štaba, inovativni dio preduzeća preoblikovala od hijerarhijske u adaptivnu organizaciju.

Tehnostruktura - u savremenom preduzeću neophodno je da postoji organizacioni dio sa grupama


ljudi koji posjeduju tehnička znanja, iskustva i vještine. Sa uvođenjem IT njihova uloga je redukovana
na software, nadzor i instruktažu novog osoblja. Poslove kao što su operaciona istraživanja, studije
rada i pripremu proizvodnje preuzimaju kompjuterski sistemi. U upravljačkom sistemu preduzeća IT je
promenila njegov sadržaj i izgled. IT je umanjila razlike u strukturi između malih, srednjih i velikih
preduzeća i između centralizovane i decentralizovane organizacije.
2. PRINCIPI INFORMACIONE
TEHNOLOGIJE

2.1. BROJNI SISTEMI

Gledano kroz prošlost, još su se u staro vrijeme Grci i Rimljani služili određenim brojnim sistemima, no
vrlo složenim i neprikladnim za složenije matematičke operacije. Poznato nam je da su Rimljani u
svrhu zapisivanja brojeva koristili slova svoje latinične abecede. Slova I, V, X, L, C, D, M označavala
su redom brojeve 1, 5, 10, 100, 500, 1000. Njihovim kombinovanjem možemo zapisati višecifrene
brojeve. Očito je ovakav način zapisivanja pogodan samo za zapis broja, a nikako za računanje takvim
brojevima. Sličan sistem zapisivanja brojeva koristio se u doba upotrebe glagoljice. Praktički je svako
slovo glagoljice imalo i svoju numeričku vrijednost.

Danas je uglavnom decimalni sistem brojeva osnovni sistem korišćen u ljudskoj komunikaciji, ali
rčunar poznaje samo jedan sistem, a to je binarni sistem preko koga se zapisuju svi podaci. Pored
binarnog i decimalnog sistema, za lakše pisanje i razumijevanje, postoje i sistemi s bazom osam, tj.
oktalni i s bazom šesnaest tj. heksadecimalni.

Brojni sistemi se dijele na pozicione i nepozicione.

Nepozicioni brojni sistemi su oni kod kojih značenje pojedine cifre ne zavisi o njenom položaju u
zapisanom broju. Najpoznatiji nepozicioni brojni sistem, koji se danas upotrebljava je sistem rimskih
brojeva.

Način na koji mi danas zapisujemo brojeve ima dvije bitne karakteristike. To je pozicioni zapis, tj.
vrijednost cifara nije određena samo njenim iznosom, već i mjestom u zapisu broja na kome se ona
nalazi.

To je tzv. aditivno-multiplikativni sistem koji su u Evropu prenijeli Arapi, a razvijen je u Indiji. U tom
sistemu možemo po volji veliki broj napisati pomoću svega nekoliko različitih cifara (najmanje dvije).
Svaka cifra tog sistema ima svoju brojnu i mjesnu (pozicionu) vrijednost. Takav sistem se zato naziva i
težinski ili pozicioni. Krajnje lijeva cifra ima najveću težinu, a krajnje desna cifra najmanju. Zbog toga
se krajnje lijeva cifra zove najznačajnijom cifrom, a krajnje desna cifra najmanje značajnom cifrom.
Broj upotrebljenih cifara određuje osnovu (bazu) sistema. Opšti prikaz broja R u težinskom sistemu je:

R = dndn-1...d2d1d0.d-1d-2...d-(m-1)d-m =
= dnBn + dn-1Bn-1 +...+ d2B2 + d1B1 + d0B0 + d-1B-1 + d-2B-2 + ... +
d-(m-1)B-(m-1)d-mB-m

gdje je di odgovarajuća cifra ( di  (B-1) ), a B osnova sistema.

Danas je uobičajen težinski sistem sa osnovom 10. Razlog je anatomske prirode: čovjek ima deset
prstiju koje je koristio kao pomoćno sredstvo prilikom računanja. Zapravo, sistem sa osnovom 12 bio
bi praktičniji (djeljivost bez ostatka sa 2, 3, 4, 6), ali bi prelaz na njega izazvao velike probleme.
Zanimljivo je i to da su Vavilonci upotrebljavali sistem sa osnovom 60, čije tragove nalazimo kod mjera
za ugao i vrijeme. Računari koriste binarni brojni sistem, tj. sistem sa osnovom 2. Takav sistem je
najjednostavniji jer zahtjeva svega dvije cifre (0 i 1), a to znači i jednostavne elektronske sklopove za
prikaz tih cifara. U računarstvu se upotrebljavaju i sistemi sa osnovom 8 i 16, prvenstveno zbog lakog
pretvaranja između njih i binarnog sistema, pa se ponekad koriste za skraćeni prikaz binarnih brojeva.

U Evropi se do 12. vijeka primjenjivao rimski brojni sistem sve dok Arapi nisu donijeli dekadni, koji je
zbog jednostanijeg računanja postao osnovni brojni sistem. Kako su potrebe za računanjem stalno
rasle, tako su i mnogi matematičari i drugi naučnici tražili praktične metode i sredstva računanja.
Rezultat je bio u 17. vijeku pojava: decimalne tačke, logaritamskih tablica i logaritamske sprave
odnosno logaritmara, koji je bio preteča kalkulatora.

Škotski matematičar Džon Neper izradio je praktičnu tablicu množenja, kojom je množenje sveo na
sabiranje. Upravo ova tablica omogućila je izgradnju uređaja za računanje. Izgledala je ovako:

1 1 2 3 4 5 6 7 8 9 0
1 1 1 1 1
2 2 4 6 8 0 2 4 6 8 0
12 2 2 2
3 3 6 9 15 18 1 4 7 0
1 1 2 2 2 3 3
4 4 8 2 6 0 4 8 2 6 0
1 1 2 2 3 3 4 4
5 5 0 5 0 5 0 5 0 5 0
1 1 2 3 3 4 4 5
6 6 2 8 4 0 6 2 8 4 0
1 2 2 3 4 4 5 6
7 7 4 1 8 5 2 9 6 3 0
1 2 3 4 4 5 6 7
8 8 6 4 2 0 8 6 4 2 0
1 2 3 4 5 6 7 8
9 9 8 7 6 5 4 3 2 1 0

Tabela 4 Neperova tablica množenja

Cifre prvog faktora nalaze se u prvoj koloni lijevo, a cifre drugog faktora u gornjem prvom redu. Ako
treba da pomnožimo npr. 3 x 45, rezultat nalazimo u trećem redu u kvadratićima koji pripadaju četvrtoj
i petoj koloni tako da počinjemo očitavanje od gornjeg dijela kvadratića, zatim cifre u donjem dijelu
istog kvadratića i u gornjem dijelu sledećeg kvadratića saberemo i dopišemo preostalu cifru u donjem
dijelu. Znači:

3 x 45 = 1 i (2 + 1) i 5, tj. 135.

Ako prvi faktor ima dvije cifre, prvo se izračunava prvi međuproizvod, zatim drugi i oni se saberu. Npr.
34 h 456 izračunavamo ovako:

3 x 456 = 1 i (2 +1) i (5 + 1) i 8 = 1368


4 x 456 = 1 i (6 +2) i (0 + 2) i 4 = 1824

Rezultat je: 13680 + 1824 15504

Svi brojni sistemi imaju:


 bazu,
 najveći elemanat i
 pozicionu ili mjesnu vrijednost.

Baza je broj različitih znakova (elemenata) u određenom brojnom sistemu. Baza dekadnog brojnog
sistema je 10, jer ima deset znakova (0, 1, 2, 3, 4, 5, 6, 7, 8, 9). Baza binarnog brojnog sistema je 2 (0,
1), oktalnog 8 (0,1, 2, 3, 4, 5, 6, 7) a heksadecimalnog 16 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F).
Najveći elemenat je najveći broj baze, a određen je izrazom: E mah = baza - 1 (za dekadni sistem 10 - 1
= 9; za binarni sistem 2 - 1 = 1). Poziciona vrijednost se određuje množenjem elemenata sistema sa
odgovarajućom potencijom u kojoj je baza osnova sistema, a eksponent redni broj mjesta, odnosno
pozicija tog elementa.

2022 = 2 x 102 + 0 x 102 + 2 x 101 + 2 x 100


264,6 = 2 x 102 + 6 x 101 + 4 x 100 + 5 x 10-1
2.1.1. DEKADNI BROJNI SISTEM

Dekadni ili pravilnije rečeno decimalni brojni sistem svakodnevno upotrebljavamo. Kao što je poznato
sadrži 10 cifara, što znači da mu je baza 10, a najveći elemenat 9.Povećanje preko 9 izaziva pomak
za jedno mjesto ulijevo, na mjesto sledeće veće pozicione vrijednosti. Množenjem elemenata ovoga
sistema i potencija baze može se prikazati bilo koji broj kao zbir tih proizvoda.

Znači da dekadni sistem ima osnovu 10 i koristi sljedeće cifre: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Svaka cifra
dekadnog broja ima svoju težinu koja je stepen broja 10 (10 i). Pritom je eksponent (i) cijeli broj, a
njegova vrijednost određena je položajem cifre u broju.

Primjer

43 = 4*101 + 3*100
444 = 4*102 + 4*101 + 4*100
12.5 = 1*101 + 2*100 + 5*10-1

Može nas zanimati koliko različitih brojeva možemo da prikažemo brojem koji ima n cifara (na primjer,
kod kalkulatora i računara n je ograničeno). Tada govorimo o kapacitetu (K) broja sa n cifara: K = Bn,
gde je B osnova brojnog sistema. Dakle, kapacitet je broj koji nam kaže koliko različitih brojeva
možemo prikazati sa n cifara, ako je zadata osnova sistema. Najveći broj M koji možemo prikazati sa
n cifara je za jedan manji od kapaciteta, tj.: M = Bn - 1 = K - 1.

Primjer

Sa 4 cifre u dekadnom sistemu možemo prikazati 10 4 = 10000 različitih brojeva, a najveći je 10000 - 1
= 9999.

Konstruktori kompjutera računske operacije višeg reda (množenje, dijeljenje i dr.) sveli su na računske
operacije nižeg reda (sabiranje i oduzimanje), a oduzimanje na sabiranje. To su postigli pomoću
komplementa broja 9. Tako se u kompjuterima dešava uglavnom operacija sabiranja.

Pravilo komplementa broja 9 znači da se oduzimanje brojeva izvodi po pravilu oduzimanja, tako da se
oduzima umanjilac (suptrahend) od umanjenika (minuenda) i dobiva se razlika (diferencija), koja može
biti pozitivna i negativna, zavisno od veličine brojeva. Oduzimanje se svodi na sabiranje korišćenjem
komplementa umanjioca do broja 9. Komplement umanjioca do broja 9 odredi se tako da se ciframa
umanjioca dodaju cifre koje ih dopunjuju do broja 9, i to toliko koliko cifara ima umanjenik. Onda,
umjesto oduzimanja umanjioca od umanjenika, dodaje se komplement umanjioca umanjeniku, dodaje
se 1 i zanemaruje prva cifra slijeva. Tako se dobiva razlika dva broja preko sabiranja dva broja. Na
primjeru oduzimanja manjeg broja od većeg to izgleda ovako:

umanjenik 853
umanjilac 269
komplement umanjioca 730 (269 + 730 = 999)
sabiranje umanjenika i 853
komplementa umanjioca 730
1583
dodavanje 1 bez prve cifre x 1
razlika 584

Kada se oduzima veći broj od manjeg, princip je isti kao kod oduzimanja manjeg broja od većeg, samo
što se rezultat mora dopuniti do komplementa broja 9 i razlika je negativna. Sljedeći primjer ilustruje
ovaj slučaj:

umanjenik 396
umanjilac 6845
komplement umanjioca 3154 (6845 + 3154 = 9999)

sabiranje umanjenika i 396


komplementa umanjioca 3154
3550
komplement zbira 6449 (3550 + 6449 = 9999)
negativna razlika - 6449

Pravilo komplementa važi u svim brojnim sistemima. Primjenom ovoga pravila oduzimanje se može
zamijeniti sabiranjem. Ovo je znatno doprinijelo postizanju velikih brzina računanja kod kompjutera.
2.1.2. BINARNI BROJNI SISTEM

Binarni ili dualni brojni sistem spada u najjednostavnije brojne sisteme koji postoje. Naziv binarni
potiče od latinske riječi bis - dva puta, od čega je nastala riječ binaris - dvojni, dok naziv dualni potiče
takođe od latinske riječi duo - dva, od čega je nastalo duans - dvojni. Cifre binarnog sistema su 0 i 1, a
njegova osnova B = 2. Binarna cifra zove se bit (skraćeno od engleskog izraza Binary digit). Ukupni
kapacitet K binarnog broja sa n bita je K = 2n, a najveći broj M koji možemo prikazati je M = 2n - 1 = K
– 1 pa tako na primjer:

Primjer

Sa 8 bita možemo prikazati 28=256 različitih brojeva, najveći je 255 (111111112), a najmanji je 0
(000000002).

Jednostavnije rečeno, binarni brojni sistem ima samo dvije cifre 0 i 1, koje mogu izražavati dva stanja.
Upravo ova osobina učinila ga je osnovnim brojnim sistemom sa kojim radi kompjuter. Naime,
aritmetička jedinica i memorija kompjutera izgrađene su od bistabilnih elemenata, koji se mogu nalaziti
u dva različita stabilna stanja. Jedno stanje je označeno cifrom 0, a drugo cifrom 1. Baza binarnog
brojnog sistema je 2, a najveći element 1, dok se pozicione vrijednosti dobiju množenjem cifri sa
odgovarajućom potencijom baze.

U sljedećoj tabeli prikazani su neki dekadni brojevi i njihovi binarni ekvivalenti:

DEKADNI
BROJEVI 0 1 2 3 4 5 6 7 8 9 10

BINARNI BROJEVI
0 1 10 11 100 101 110 111 1000 1001 1010

Tabela 5 Dekadni i binarni brojevi

Binarni broj 100110 prikazan kao zbir pozicionih vrijednosti izgledao bi:

1 x 10101 + 0 x 10100 + 0 x 1011 + 1 x 1010 + 1 x 101 + 0 x 100

Binarni broj se pretvara u dekadni tako da se binarna baza 10 prikaže kao dekadni broj 2, a
eksponenti baze u binarnom sistemu odgovarajućim dekadnim brojevima. Kao i kod dekadnog
sistema radi se o težinskom sistemu, dakle važi:

1011012 = 1*25 + 0*24 + 1*23 + 1*22 + 0*21 + 1*20 = 32 + 0 + 8 +


+ 4 + 0 + 1 = 4510

Na taj način možemo bilo koji binarni broj pretvoriti u dekadni. Kod dekadnog broja obično ne
označavamo osnovu sistema, ali, ako se radi o nekoj drugoj osnovi, moramo je označiti. Npr. pretvoriti
1001102 u dekadni ekvivalent:

1 x 10101 + 0 x 10100 + 0 x 1011 + 1 x 1010 + 1 x 101 + 0 x 100


1 x 25 + 0 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 0 x 20
1 x 32 + 0 x 16 + 0 x 8 + 1 x 4 + 1 x 2 + 0 x 1
32 + 0 + 0 + 4 + 2 + 0 = 38

Znači: 1001102 = 3810

Identično postupamo kod pretvaranja necijelog binarnog broja u dekadni. Npr. pretvoriti 0,110011 2 u
dekadni ekvivalent:

0 x 100 + 1 x 10 -1 + 1 x 10-10 + 0 x 10-11 + 0 x 10-100 + 1 x 10-101 + 1 x 10-110


0 x 20 + 1 x 2-1 + 1 x 2-2 + 0 x 2-3 + 0 x 2-4 + 1 x 2-5 + 1 x 2-6
0 x 1 + 1 x 0,5 + 1 x 0,25 + 0x0,125 + 0x0,0625 + 1x0,03125 + 1x0,015625
0 + 0,5 + 0,25 + 0 + 0 + 0,03125 + 0,015625 = 0,796875

Znači: 0,1100112 = 0,79687510.

Dekadni broj se pretvara u binarni uzastopnim dijeljenjem bazom 2 i pisanjem ostatka koji može biti
0 ili 1. Dobiveni broj se čita i piše obrnuto od nastajanja ostatka, ili to možemo pojednostaviti prateći
sljedeće postupke:

1. Podijeli dekadni broj sa 2.


2. Zapiši ostatak dijeljenja (0 ili 1).
3. Dobiveni količnik (cjelobrojni dio) podijeli sa 2.
4. Zapiši ostatak dijeljenja.
5. Ako količnik nije 0 vrati se na tačku 3.

Ostaci dijeljenja koje smo zapisivali predstavljaju traženi binarni broj koji treba čitati obrnuto, tj.
posljednja dobivena cifra je najznačajnija cifra, a prva dobivena cifra je najmanje značajna cifra.

Npr. pretvoriti 46310 u binarni ekvivalent:

Dijeljenje sa bazom 2 , Ostatak dijeljenja

463 : 2 = 231 1 najniža poziciona vrijednost


231 : 2 = 115 1
115 : 2 = 57 1
57 : 2 = 28 1
28 : 2 = 14 0
14 : 2 = 7 0
7:2= 3 1
3:2= 1 1
1:2= 0 1 najviša poziciona vrijednost

Znači: 46310 = 1110011112.

Primjer

Napravite tablicu dekadnih brojeva od 0 do 18 i njihovih binarnih ekvivalenata. Uočite kako se broji u
binarnom sistemu.

Dekadni brojevi manji od 1 pretvaraju se u binarne brojeve primjenom sledećeg postupka:

1. Pomnoži dekadni broj sa 2.


2. Ako je dobiveni broj veći od 1 iza tačke u binarnom broju piše se 1.
3. Ako je dobiveni broj manji od 1 iza tačke u binarnom broju piše se 0. Postupak se ponavlja sa
dijelom umnoška iza decimalne tačke s time da se 0 ili 1 dopisuje već napisanim brojevima (sa desne
strane).

Primjer

Pretvoriti dekadni broj 0.625 u binarni.

0.625*2 = 1.250 -- bilježimo 1


0.250*2 = 0.500 -- bilježimo 0
0.500*2 = 1.000 -- bilježimo 1

0.62510 = 0.1012

Ispravnost pretvaranja može se provjeriti tako da se dobiveni binarni broj ponovo pretvori u dekadni:

0.1012 = 1*2-1 + 0*2-2 + 1*2-3 = 0.62510

Ako imamo realni dekadni broj veći od 1, možemo ga pretvoriti u binarni broj tako da pretvorimo
posebno cjelobrojni dio, a posebno dio iza decimalne tačke, a dobivene binarne brojeve saberemo.

Primjer

Pretvoriti 43.625 u binarni broj.

Od prije imamo: 4310 = 1010112 i 0.62510= 0.1012. Dakle, 43.62510 = 101011.1012.


2.1.3. OKTALNI BROJNI SISTEM

Oktalni brojni sistem ima bazu 8, a cifre su mu: 0, 1. 2, 3, 4, 5, 6, 7. Kapacitet (K) n oktalnih cifara je K
= 8n, a najveći broj (M) koji možemo prikazati sa n cifara je M = 8n - 1 = K - 1. U informatici se oktalni
sistem koristi za skraćeni prikaz binarnih brojeva.

Primjer

Sa dvije oktalne cifre možemo prikazati 82 = 64 različita broja, a najveći je 82 - 1= 63 (778).

Konverzija dekadnog brojnog sistema u oktalni brojni sistem i obratno veoma je jednostavna. Za
konverziju oktalnog brojnog sistema potrebno je znati potencije baze 8:

85 = 32768
84 = 4096
83 = 512
82 = 64
81 = 8
80 = 1
8-1 = 0,125
8-2 = 0,015625
8-3 = 0,001953125
8-4 = 0,000244140625

Tako broj 6778 konvertujemo u dekadni brojni sistem ovako:


6 x 82 + 7 x 81 + 7 x 80 = 6 x 64 + 7 x 8 + 7 = 384 + 56 + 7 = 44710

Najveći elemenat oktalnog brojnog sistema je broj 7, koji u binarnom obliku ima tri binarna mjesta.

111 = 1 x 22 + 1 x 21 + 1 x 20 = 4 + 2 + 1 = 7

Radi lakšeg i jednostavnijeg čitanja i kontrolisanja brojeva napisanih u binarnom brojnom sistemu,
formiraju se grupe po tri bita (trijade). Oktalni brojevi izraženi u binarnim trijadama izgledali bi ovako:

oktalni broj binarna trijada


0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
Tabela 6 Oktalni brojevi izraženi binarnim trijadama

Broj oktalnog brojnog sistema pretvaramo u binarni brojni sistem koji je predstavljen trijadama veoma
jednostavno, tako da svaku cifru oktalnog brojnog sistema izrazimo binarnom trijadom.

Npr. 62534178

6 2 5 3 4 1 7
110 010 101 011 100 001 111
= 1100101010111000011112

Pretvaranje binarnog broja izraženog trijadama u oktalni broj izgleda ovako:

(1 100 110 101 010 101 111 001 100)2 = 1465257148

Primjer

Pretvoriti oktalni broj 76543 u binarni.

7 6 5 4 3
111 110 101 100 011

Dakle, 765438 = 1111101011000112.

Primjer

Pretvoriti oktalne brojeve 37, 142 i 364 u dekadne.

378 = 3 x 81 + 7 x 80 = 24 + 7 = 3110
1428 = 1 x 82 + 4 x 81 + 2 x 80 = 64 + 32 + 2 = 9810
3648 = 3 x 82 + 6 x 81 + 4 x 80 = 192 + 48 + 4 = 24410
2.1.4. HEKSADECIMALNI BROJNI
SISTEM

Heksadecimalni brojni sistem ima bazu 16. Ima 16 cifara, a najveća mu je 15 odnosno F. Cifre su mu
sve cifre dekadnog sistema i prvih šest slova internacionalne abecede: A = 10, B = 11, C = 12, D = 13,
E =14 i F = 15. Dakle, cifre heksadecimalnog brojnog sistema su: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D,
E i F.

Sa n heksadecimalnih cifri možemo da prikažemo K = 16n različitih brojeva, a najveći je M = 16n - 1 =


K - 1. U informatici se heksadecimalnim sistemom služimo za skraćeni prikaz binarnih brojeva.

Svaki elemenat heksadecimalnog brojnog sistema može se predstaviti sa 4 binarna mjesta ili tetradom
na sljedeći način:

heksadecimalni broj binarna tetrada


0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111

Tabela 7 Heksadecimalni brojevi izraženi binarnim tetradama


Heksadecimalni broj se pretvara u dekadni broj množenjem cifara odgovarajućom pozicionom
vrijednošću i sabiranjem njihovih proizvoda. Za te potrebe koristi se potencija baze 16:

164 = 65536
163 = 4096
162 = 256
161 = 16
16-1 = 0,0625
16-2 = 0,00390625
16-3 = 0,000244140625
16-4 = 0,000015258789

Pretvaranje heksadecimalnog broja u dekadni broj na primjer izgleda ovako:

B6C9816 = B x 164 + 6 x 163 + C x 162 + 9 x 161 + 8 x 160 =


= 11 x 65536 + 6 x 4096 + 12 x 256 + 9 x 16 + 8 =
= 720896 + 24576 + 3072 + 144 + 8 = 74869610

Dekadni broj se pretvara u heksadecimalni tako da se dijeli sa bazom heksadecimalnog brojnog


sistema tj. sa 16, a rezultat se čita odozdo prema gore. Npr. 6395 10 treba pretvorito u heksadecimalni
ekvivalent.

Dijeljenje bazom 16 ostatak dijeljenja

6395 : 16 = 399 11 = B najniža poziciona vrijednost


399 : 16 = 24 15 = F
24 : 16 =1 8
1 : 16 = 0 1 najviša poziciona vrijednost

Znači rezultat je: 639510 = 18FB16

Heksadecimalne brojeve konvertujemo u binarne brojeve tako da svaki heksadecimalni broj


konvertujemo u binarnu tetradu:

Npr. D2B9C816
D 2 B 9 C 8
1101 0010 1011 1001 1100 1000
= 1101001010111001110010002

Konverzija binarnih brojeva u heksadecimalne brojeve vrši se obrnutim postupkom.

Primjer

Pretvoriti heksadecimalne brojeve 23, 3B i 1AF u dekadne.

2316 = 2 x 161 + 3 x 160 = 32 + 3 = 3510


3B16 = 3 x 161 + B x 160 = 3 x 161 + 11 x 160 = 48 + 11 = 5910
1AF16 = 1 x 162 + A x 161 + F x 160 = 1 x 162 + 10 x 161 + 15 x 160
= 256 + 160 + 15 = 43110
Primjer

Napraviti tablicu dekadnih brojeva od 0 do 16 i njihovih binarnih, oktalnih i heksadecimalnih


ekvivalenata.

Dekadni Binarni Oktalni Heksadecimalni

0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10
2.1.5. BINARNA ARITMETIKA

Binarna aritmetika svodi se na rad sa četiri osnovne računske operacije sa binarnim brojevima:
 sabiranje,
 oduzimanje,
 množenje i
 dijeljenje.

SABIRANJE BINARNIH BROJEVA

Sabiranje binarnih brojeva izvodi se na osnovu sljedećih pravila sabiranja binarnih brojeva:

0 + 0 =0
0+1=1
1+0=1
1 + 1 = 10 (1 se prenosi).

Primjenom navedenih pravila na sljedećim primjerima, sabiranje izgleda ovako:

10101 1101011 101111011


+11010 + 10110 + 10000110
101111 10000001 1000000001

Primjer

1011011 91
+1011010 + 90
10110101 181
ODUZIMANJE BINARNIH BROJEVA

Oduzimanje binarnih brojeva izvodi se na osnovu sjledećih pravila:

0-0=0
0 - 1 = 1 (pamti se 1 i sabira sa sljedećom cifrom
umanjoca)
1-0=1
1 - 1 = 0.

Iz pravila oduzimanja binarnih brojeva zaključuje se da se veći broj umanjioca može oduzimati od
manjeg broja umanjenika, tako da se 1 pamti i prenosi u sledeću kolonu. Prenos 1 u sledeću kolonu
čini da 0 umanjioca postaje 1, zbog prenesene jedinice koja se sa njom sabira., ili 1 postaje 0 sa
prenosom 1 u sledeću kolonu. Pravila sabiranja ilustrativno pokazuju sledeći primjeri.

110101 100110 111001


- 10011 - 11011 - 10010
100010 1011 100111

Kompjuter, odnosno aritmetičko-logička jedinica više aritmetičke računske operacije svodi na sabiranje
i oduzimanje, a oduzimanje na sabiranje, prema pravilu komplementa umanjioca. To pravilo je u
binarnom brojnom sistemu, analogno pravilu komplementa u dekadnom brojnom sistemu. Na jedan
način je i jednostavnije, jer komplement 0 je 1, a komplement 1 je 0. Način pretvaranja operacije
oduzimanja u operaciju sabiranja izgledao bi ovako:

10100110
- 01101001
111101

komplement umanjioca 01101001 je 10110


komplementu u manjioca dodamo 1 + 1
10010111

saberemo i otcijepimo krajnju lijevu cifru:

umanjenik 10100110
komplement umanjioca povećan za 1 + 10010111
100111101

rezultat 111101

U slučaju kada je umanjilac veći od umanjenika, prvo se odredi kompement umanjioca i sabere se sa
umanjenikom. Od dobivene vrijednosti odredi se komplement koji predstavlja negativnu razliku. Na
primjeru to izgleda ovako:

1000
- 1100
?

umanjenik 1000
komplement umanjioca + 0011
međurezultat 1011

komplement međurezultata 0100

rezultat - 100
MNOŽENJE BINARNIH BROJEVA

Množenje u binarnom brojnom sistemu je veoma jednostavna aritmetička operacija. Svodi se na


sabiranje djelimičnih proizvoda, koji se dobivaju množenjem jedinice faktora. Pravila množenja
binarnih brojeva su sljedeća:

0x0=0
0x1=0
1x0=0
1 x 1 = 1.

Primjeri množenja binarnih brojeva izgledaju ovako:

1001 x 110
1001
1001
0000
110110

111011 x 100
111011
000000
000000
11101100

11001,10 x 111
1100110
1100110
1100110
10110010,10
DIJELJENJE BINARNIH BROJEVA

Dijeljenje binarnih brojeva isto kao i množenje veoma je jednostavna aritmetička operacija. Naime, kod
ove operacije vrši se samo oduzimanje djelioca od djeljenika. Operaciju dijeljenja predstavlja sljedeći
primjer:

11011 : 11 = 1001
- 11
00011
- 11
00
2.2. LOGIČKA ALGEBRA

Da bi se upoznale logičke funkcije, mora se poći uopšte od pojma funkcije. Poznato je da je pojam
funkcije jedan od osnovnih pojmova u matematici. Funkcija se definiše kao međusobna zavisnost dvije
promjenljive veličine. Na osnovu funkcionalne zavisnosti svakoj vrijednosti nezavisno promjenljive
veličine, odnosno argumenta, koji se označava sa a, pridružena je određena vrijednost zavisno
promjenljive veličine ili funkcije, koju označavamo sa v. Upravo koristeći navedenu funkcijsku vezu,
pomoću jedne veličine moguće je odrediti drugu veličinu.

U matematici i fizici funkcije, odnosno nezavisna i zavisna promjenljiva veličina, u ograničenom


području mogu imati razne numeričke vrijednosti. Funkcije kod kojih nezavisna i zavisna promjenljiva
veličina mogu imati samo dvije vrijednosti nazivamo logičkim funkcijama.

Primjer ove vrste funkcija ilustrovaće sljedeći primjer iz saobraćaja, gdje učesnik u saobraćaju stoji
pred semaforom. Ako je upaljeno crveno svjetlo onda to za učesnika znači NE IDI, a ako nije upaljeno
crveno svjetlo, onda to za njega znači IDI. Ovdje se radi o određenim parovima jednostavnih sudova,
jer ne može biti crveno svjetlo je upaljeno - idi. Promjenljive veličine u ovom primjeru predstavljaju
jednostavne sudove. Osnovna karakteristika promjenljivih veličina je da svaka može imati samo dvije
vrijednosti.

U ovom primjeru:

prva veličina može biti


1. crveno svjetlo je upaljeno i
2. crveno svjetlo nije upaljeno;

druga veličina može biti


1. IDI i
2. NE IDI.

Prva promjenljiva veličina je nezavisna (crveno svjetlo je upaljeno - nije upaljeno). Druga promjenljiva
veličina je zavisna, jer njena vrijednost zavisi od vrijednosti nezavisno promjenljive veličine (idi, ne idi
zavisi od crveno svjetlo upaljeno, crveno svjetlo nije upaljeno). Dakle, između ove dvije veličine postoji
funkcijska veza.

Promjenljive veličine su jednostavni sudovi, jer se sa njima nešto tvrdi ili poriče, odnosno S je P ili S
nije P. Određivanje vrijednosti pojedinih veličina postiže se upotrebom brojeva.

Jednostavan sud: crveno svjetlo je upaljeno (S je P) označićemo sa 1, a drugu vrijednost tog suda:
crveno svjetlo nije upaljeno (S nije P) označićemo sa 0. Takođe, Vrijednost zavisno promjenljive
veličine označimo sa 1 kada je IDI (S je P) i sa 0 kada je NE IDI (S nije P).

Tabela sa svim parovima vrijednosti, koja odražava funkcijsku vezu naziva se tabela vrijednosti.
Izgledala bi ovako:

a 0 1
v 1 0

Tabela 8 Tabela vrijednosti za NE funkciju


Iz tabele vrijednosti jasno se uočava da se funkcijska veza između nezavisne i zavisne promjenljive
izražena sledećim odnosom: ako je vrijednost nezavisno promjenljive veličine a = 0, onda je vrijednost
zavisno promjenljive veličine v = 0 i obrnuto, kada je a = 0 onda je v = 1. Ovaj oblik funkcijske veze se
naziva NEGACIJA ili INVERZIJA, odnosno NE FUNKCIJA.

Algebarski oblik ove funkcije je:

v=a

Pored funkcija sa jednom nezavisno promjenljivom veličinom postoje i funkcije sa dvije nezavisno
promjenljive veličine. Kao primjer takve funkcije posmatraćemo slučaj kada putnik stoji na autobuskoj
stanici i čeka autobus broj 5. Da bi putnik krenuo autobusom trebaju biti ispunjena dva uslova i to prvi
da dođe autobus broj 5 i drugi da taj autobus stane na stanici.

Dakle, jednostavni sudovi ULAZI i NE ULAZI zavise od dva suda:

(a) autobus je broj 5; autobus nije broj 5 i


(b) autobus je stao; autobus nije stao.

Ta dva jednostavna suda povezana su tzv. i vezom i predstavljaju složeni sud. U ovom primjeru
jednostavni sudovi ULAZI i NE ULAZI zavise od složenog suda:

AUTOBUS JE/NIJE 5 i AUTOBUS JE/NIJE STAO.

Svaki jednostavni sud ima dvije vrijednosti S je P ili S nije P, tj. sud je istinit ili neistinit, odnosno 1 ili 0.

Ako se vrijednostima nezavisnih promjenljivih veličina (a i b) pridruže vrijednosti zavisne promjenljive


veličine (v), dobije se tabela vrijednosti koja odražava određenu funkcijsku vezu.

U tabeli vrijednosti sadržane su sve moguće kombinacije argumenata (a, b), a za svaku kombinaciju
odgovarajuća vrijednost funkcije (v). Kako postoje dva argumenta (svaki sa dvije vrijednosti, treba
odrediti vrijednost funkcije za četiri kombinacije argumenata (1, 1); (1, 0); (0,1) i (0, 0).

a b v
AUTOBUS JE 5 1 I AUTOBUS JE STAO 1 ULAZI 11
AUTOBUS NIJE 5 0 I AUTOBUS JE STAO 1 NE ULAZI 0
AUTOBUS JE 5 1 I AUTOBUS NIJE STAO 0 NE ULAZI 0
AUTOBUS NIJE 5 0 I AUTOBUS NIJE STAO 0 NE ULAZI 0

Tabela 9 Kombinacije argumenata za I funkciju

a 1 0 1 0
b 1 1 0 0
v 1 0 0 0

Tabela 10 Tabela vrijednosti I funkcije

Iz tabele vrijednosti uočava se da funkcija v ima vrijednost 1 samo onda kada oba argumenta (a i b)
imaju vrijednost 1. Znači. putnik u autobus ulazi onda kada je istinit prvi sud a = 1 (S = P) i drugi sud b
= 1 (S = P). U ostalim slučajevima putnik ne ulazi u autobus, odnosno tada je v = 0. Navedena logička
funkcija naziva se I FUNKCIJA, KONJUNKCIJA ili LOGIČKI PROIZVOD.

Algebarski oblik funkcije je:

a : b = v (a i b = v; a x b = v).

Sljedeći primjer će nam ilustrovati novu logičku funkciju. Neka se sjedi u sobi i neka zazvoni zvonce ili
neko pokuca na vrata. Posljedica toga je da se otvaraju vrata. Jednostavni sudovi (neko zvoni i neko
kuca) povezani su u složeni sud vezom ili. Ta veza predstavlja drugi oblik zavisnosti funkcije (v) od
argumenata (a, b).

Da bi se pokazala funkcijska veza, treba odrediti vrijednosti jednostavnih sudova (a, b, v) i na osnovu
njih formirati tabelu vrijednosti, odnosno svakom paru vrijednosti argumenata (a i b) treba pridružiti
određenu vrijednost funkcije (v). Tabelarno se to predstavlja na sljedeći način:

a b v
NEKO ZVONI 1 ILI NEKO KUCA 1 OTVORI 1
NIKO NE ZVONI 0 ILI NEKO KUCA 1 OTVORI 1
NEKO ZVONI 1 ILI NIKO NE KUCA 0 OTVORI 1
NIKO NE ZVONI 0 ILI NIKO NE KUCA 0 NE OTVARAJ 0

Tabela 11 Kombinacija argumenata za ILI funkciju

Tabela vrijednosti za ovaj oblik funkcije izgledala bi ovako:

a 1 0 1 0
b 1 1 0 0
v 1 1 1 0

Tabela 12 Tabela vrijednosti ILI funkcije

Tabela vrijednosti navedene funkcije pokazuje da funkcija ima vrijednost 1 kada jedan argumenat ili
oba argumenta imaju vrijednost 1. Takav oblik funkcijske veze naziva se ILI FUNKCIJA,
DISJUNKCIJA ili LOGIČKI ZBIR.

Algebarski oblik funkcije je:

a V b = v (a ili b = v; a + b = v).
Povezivanjem jednostavnih sudova u određene parove na osnovu njihove vrijednosti (S je P ili S nije
P), dobili smo tri logičke funkcije:

NE funkciju.

I funkciju i

ILI funkciju.

Vrijednost argumenata se može nazvati ulazom, a vrijednost funkcije izlazom. Kombinacijom datih
funkcija mogu se praviti složene funkcije. Primjer jedne složene funkcije (kada naiđe i stane autobus 5
ili 10, putnik ulazi u njega), koja se sastoji od funkcije ILI i I izgledao bi ovako:

a b c v
AUTOBUS NIJE 5 ILI AUTOBUS JE 10 I AUTOBUS JE STAO ULAZI
AUTOBUS JE 10 ILI AUTOBUS NIJE 10 I AUTOBUS JE STAO ULAZI
AUTOBUS NIJE 5 ILI AUTOBUS NIJE 10 I AUTOBUS JE STAO NE ULAZI
AUTOBUS JE 5 ILI AUTOBUS JE 11 I AUTOBUS NIJE STAO NE ULAZI
AUTOBUS NIJE 5 ILI AUTOBUS JE 10 I AUTOBUS NIJE STAO NE ULAZI
AUTOBUS JE 5 ILI AUTOBUS NIJE 10 I AUTOBUS NIJE STAO NE ULAZI
AUTOBUS NIJE 5 ILI AUTOBUS NIJE 10 I AUTOBUS NIJE STAO NE ULAZI

Tabela 13 Kombinacija argumenata za složenu funkciju

a 1 0 1 0 1 0 1 0
b 1 1 0 0 1 1 0 0
c 1 1 1 1 0 0 0 0
v 1 1 1 0 0 0 0 0

Tabela 14 Tabela vrijednosti za složenu funkciju

Algebarski oblik navedene funkcije je:

(a V b) : c = v.

Sa jednostavnim i složenim logičkim funkcijama predstavljaju se i aritmetičke operacije u binarnom i


drugim sistemima. Kako su složene funkcije sastavljene od tri osnovne logiče funkcije (NE, I, ILI), za
njihovu realizaciju koriste se elektronska logička kola (od tranzistora, otpornika i kondenzatora), koja
imaju ulaze i izlaze prema tabelama vrijednosti osnovnih logičkih kola.
2.3. ARITMETIKA FIKSNOG I
KLIZNOG ZAREZA

Kod obrada numeričkih podataka memorišu se numeričke vrijednosti u binarnom obliku. Binarni
brojevi se memorišu u registre sa određenim brojem binarnih mjesta, odnosno bitova. Dužine
registara, prema potrebi izračunavanja rezultata na manji ili veći broj decimala, mogu biti:

 poluriječi (16 bitova),


 riječi (32 bita) i
 dvostruke riječi (64 bita).

U registru od jedne riječi krajnji lijevi bit rezervisan je za predznak broja, a 31 bit za cifre binarnog
broja. Najveći broj koji se može smjestiti u ovakav registar je:

231 - 1 + 2 147 483 647

Aritmetika fiksnog zareza (fixed point arithmetic) je metod izračunavanja kod koga kompjuter ne
uzima u obzir položaj decimalnog zareza ili tačke. Naime, unaprijed se definiše određeni broj
decimalnih mjesta i koristi se tamo gdje je broj decimalnih mjesta konstantan, npr. u računovodstvenim
obradama gdje se finansijski izrazi zaokružuju na pare.

Svaki binarni broj koji se nalazi u registru dužine jedne riječi ima memorisan predznak. Predznak se
unosi i memoriše na prvo lijevo binarno mjesto riječi, a broj se memoriše s desna u lijevo. Pozitivan
predznak se označava sa 0, a negativan sa 1. Pozitivan broj 851 memorisan u dužini riječi i u
aritmetici fiksnog zareza ima sljedeći oblik:

0 0000000000000000000001101010011

Aritmetika kliznog zareza (floating point arithmetic) koristi se onda kada nam je potreban rezultat sa
određenim brojem decimala. Ovaj metod je pogodan za aritmetičke operacije iz oblasti nauke i
tehnike. Dužina riječi od 32 bita dijeli se na sledeći način:

 24 bita za upis binarnog broja,


 1 bit za oznaku predznaka broja i
 7 bita za oznaku eksponenta baze 10.

Pomoću 7 bitova prikazuju se eksponenti od 0 do 127, jer je 27 -1 = 127.

U aritmetici kliznog zareza, za decimalni zarez je rezervisano mjesto ispred prve cifre memorisanog
broja, a definisan je eksponentom 64 na bazu 10. Eksponent 64 nalazi se u sredini niza brojeva od 0
do 127 i prikazan je sa jedinicom na šestom binarnom mjestu.Od tog polaznog položaja decimalni
zarez se pomjera ili nadesno (povećava se broj) dodajući eksponentu 64 broj koji je jednak broju
pomaka udesno, ili se zarez pomjera ulijevo (smanjuje se broj) oduzimajući broj pomaka od
eksponenta 64. Tako se dobiva relativni eksponent baze 10, a od 63 do 1 negativne eksponente baze
10.
Izgled broja +787 ili 0,787 x 103:

67 0,787

0 1000011 000000000000001100010011
predznak eksponent mantisa broja

Izgled broja - 0,0787 ili - 0,787 x 10-1:

63 0,787
1 0111111 000000000000001100010011
Aritmetika kliznog zareza optimalnije koristi glavnu memoriju kompjutera jer dužinu određuje prema
potrebi. Međutim, nedostatak je što se kod traženja podataka mora tačno navesti adresa i dužina polja
gdje je podatak memorisan. Suprotno, u aritmetici fiksnog zareza slabije se koristi glavna memorija
kompjutera, a relativno lakše se traže podaci. Ipak, obje aritmetike imaju primjenu, zavisno od toga šta
obrada podataka treba da uradi.
2.4. KODOVI

Kompjuterski brojni sistemi baziraju se na ciframa 0 i 1, a mogu biti binarni, oktalni i heksadecimalni.
Kada se brojevi prikazuju u konkretnom brojnom sistemu binarna mjesta se grupišu u grupe kojima se
može prikazati najveći elemenat toga brojnog sistema. Konkretnim brojnim sistemom prikazuju se i svi
znakovi. Brojevi i znakovi uvijek se prikazuju pomoću istoga broja mjesta, ali se razlikuju poretkom
nula i jedinica. Raspored nula i jedinica kojima se interpretiraju brojevi i znakovi naziva se kod.

Za kodiranje se obično koriste 6-bitni i 8-bitni bajtovi. 6-bitnim bajtovima mogu se prikazati 2 6 = 64
različita znaka, a 8-bitnim bajtovima 28 = 256 znakova ili različitih kombinacija. Pored mogućnosti
određenih brojem binarnih mjesta u bajtu, postoji veliki broj načina kodiranja i pomoću istovrsnih
bajtova. U daljem tekstu obradićemo:

 tetradni kod,
 šest-bitni kod i
 osam-bitni kod.
2.4.1. TETRADNI KOD

Prvi kompjuteri obrađivali su podatke napisane u binarnom brojnom sistemu. Poslije je došlo do
upotrebe grupa od četiri binarna mjesta koje su se zvale tetrade. Tetrade su se koristile za
prikazivanje cifara dekadnog brojnog sistema. Tako je nastao binarno-decimalni kod, kojim se postigla
veća preglednost i lakša kontrola obrade podataka. Međutim, osnovni nedostatak je bio relativno slaba
iskorišćenost glavne memorije kompjutera.

Binarno-decimalni kod (BCD) sadrži tetrade, a svaka tetrada ima četiri binarna mjesta sa mjesnim
vrijednostima 8,4, 2, 1. Jedna tetrada predstavlja bilo koju cifru od 0 do 9 i služi za određenu mjesnu
vrijednost, npr. jedinica, desetica, stotica itd.

Primjer

binarni kod binarno-decimalni kod dekadni broj


10100012 1000 0001 81
+ 11100102 0001 0001 0100 114
110000112 0001 1001 0101 195

U postupku sabiranja kod pojedinih tetrada dobile su se samo dekadne jedinice. Kako se tetradom
može prikazati dekadna vrijednost 15, a najveći elemenat dekadnog sistema je 9, pa se zato moraju
uskladiti vrijednosti tetrade sa dekadnim brojnim sistemom. To se postiže na taj način da se tetradi
doda binarni broj 6. Tetrada sa binarnim brojem 6 (0110) naziva se pseudotetrada i predstavlja
neiskorišćeni broj kombinacija tetrade kod interpretacije cifara dekadnog brojnog sistema.

Sljedeći primjer ilustruje korišćenje pseudotetrade kod sabiranja:

1000 0110 86
+ 0111 0100 74
1111 1010 160
+ 0110
1 0000
+ 0110
1 0110
0001 0110 0000 = 16010
2.4.2. ŠEST-BITNI KOD

Šest-bitni bajtovi se koriste za prikaz numeričkih, alfabetskih i specijalnih znakova. Svi alfanumerički
znakovi mogu se prikazati u izmjenjenom binarno-decimalnom kodu, koji je nastao proširenjem BCD
koda. Ovaj kod je prihvaćen kao međunarodni standard, a pored 6 bitova za prikazivanje znakova
pridružen mu je i bit za kontrolu.

Naročito je poznat tzv. ECMA (European Computer Manufacturing Association) kod, koji predstavlja
vrstu 6-bitnog koda, koji se zasniva na oktalnom brojnom sistemu. Kod ovoga koda bajt se dijeli na
dva jednaka dijela po tri bita u kojima se može prikazati najveći elemenat oktalnog brojnog sistema (7
= 111). Kontrolni bit ni ovdje nije sastavni dio bajta. Binarno-decimalni kod u 6-bitnom bajtu ima
sljedeći izgled:

kontrolni bit zonski dio numerički dio


C BA 8421

Njegova transformacija u ECMA-kod u 6-bitnom bajtu izgleda ovako:

kontrolni bit bit oktalne desetice


K 22 21 20 22 21 20
421 421

U oba koda možemo prikazati 26 = 64 različita znaka, a u ECMA-kodu u jednom bajtu najveću
dekadnu numeričku vrijednost 63, jer se u oba dijela po 3 bita može prikazati broj 7, odnosno 77 8 =
6310. Šest-bitni kodovi su vezani za pojavu druge generacije kompjutera i još su u primjeni, iako je
danas dominantan 8-bitni kod.
2.4.3. OSAM-BITNI KOD

Savremenu generaciju kompjutera, odnosno kompjuterskih sistema sa bajtnom organizacijom


unutrašnje memorije, karakteriše primjena heksadecimalnog brojnog sistema i 8-bitni bajt. Bajt u ovom
slučaju ima osam bitova. Kada se govori o 8-bitnom kodu onda se podrazumijeva prošireni i
izmijenjeni binarno-decimalni kod, koji je poznatiji po skraćenom nazivu EBCDIC. To je ujedno i
najpopularniji 8-bitni kod.

U ovom kodu moguće je predstaviti 28 = 256 različitih znakova, a kako su obično u primjeni samo 64
znaka, to znači da mogućnosti ovoga koda nisu potpuno iskorišćene. Struktura koda se sastoji od
podjele bajta u dva jednaka dijela:

kontrolni bit zonski dio numerički dio


0123 4567
2322 21 20 2322 21 20

Za prikazivanje alfa, numeričkih i specijalnih znakova koristi se numerički dio u kombinaciji sa zonskim
dijelom. Tako na primjer, za kodiranje slova od A do I u zonskom dijelu nalazi se 1100, a u
numeričkom za slovo A 0001, za B 0010, za C 0011 ... i tako redom sve do I 1001. Kompletno
kodiranje znakova u EBCDIC-kodu prikazano je u sljedećoj tabeli:

ZONSKI DIO NUMERIČKI DIO


1100 od 0001 do 1001 za slova od A do I
1101 od 0001 do 1001 za slova od J do R
1110 od 0010 do 1001 za slova od S do Z
1000 od 0001 do 1001 za mala slova od a do i
1001 od 0001 do 1001 za mala slova od j do r
1010 od 0010 do 1001 za mala slova od s do z
0100 od 1010 do 1111 za grupe posebnih znakova (+,%,?,x itd)
0110 od 1010 do 1111
0111 od 1010 do 1111
1111 od 0000 do 1001 za brojeve od 0 do 9

Tabela 15 Kodiranje znakova u EBCDIC-kodu

Brojevi se kodiraju u dva formata i to u:

 zonskom ili nepakovanom formatu i


 pakovanom formatu.
U zonskom formatu se cjelokupan bajt upotrebljava za prezentovanje jednog znaka. Kod ovoga
formata za sve cifre u zonskom dijelu stoji 1111. Dakle, zonski dio se ne koristi za upisivanje cifara.

Pakovani format je mnogo ekonomičniji, jer se obe tetrade koriste za upisivanje cifara. U ovom
formatu, numerički dio bajta koristi se za prezentovanje jedne, a zonski dio za prezentovanje druge
cifre dekadnog brojnog sistema.

Ilustracija ovih postupaka vidi se na sljedećem primjeru. Za broj 4871 potrebna su četiri bajta za upis u
zonskom ili nepakovanom formatu, a samo dva bajta za upis u pakovanom formatu:

u zonskom formatu:

11110100 11111000 11110111 11110001

u pakovanom formatu:

01001000 01110001

Osam-bitni kod omogućuje dobro iskorišćenje glavne memorije kompjutera, jer se numerički znakovi
mogu memorisati i obrađivati u pakovanom formatu tj. numerički i zonski dio predviđeni su za cifre,
tako da se u jednom bajtu mogu memorisati dvije umjesto jedne cifre.

Osam-bitni kod prilagođen je našim potrebama, jer umjesto posebnih znakova, koji se neće koristiti,
mogu se zamijeniti sa znakovima naše abecede (š, č, ž itd).
2.4.4. PRIKAZ BROJEVA

Za smještanje (memorisanje) brojeva u računaru služi elektronski sklop koji se naziva bistabil (flip-
flop). Naziv bistabil dolazi tako što takav sklop ima dva stabilna stanja. Jedno stanje (na primer,
niskog napona) odgovara znaku 0, a drugo stanje (na primer, visokog napona) odgovara znaku 1.
Prema tome bistabil je sklop koji može da zapamti dvije cifre, 1 ili 0 (jedan bit). Kako se binarni broj
sastoji od više cifara (bitova) za prikaz broja moramo upotrebiti nekoliko bistabila. Takva grupa
bistabila čini registar. Registri su sastavni dio svih dijelova kompjutera. Broj bistabila u registru nekog
kompjutera određuje njegovu dužinu. Dužina većine registara u nekom računaru je određena dužinom
riječi računara. Riječ je količina informacija koju računar može da obradi u jednoj operaciji, smjesti u
memoriju, odnosno uzme iz memorije. Najčešće dužine riječi (pa prema tome i registara) su 8, 16, 32 i
64 bita, a kod personalnih računara danas je uobičajena dužina riječi od 32 bita.

Grupa od 8 bitova obično se naziva bajt (engl. byte). Jedan bajt se sastoji od osam bitova. Bit se
skraćeno označava s b, a bajt sa B, pa važi 1B = 8b. Dakle, personalni kompjuteri imaju dužinu riječi
od 4B ili 32b.

Sljedeća slika prikazuje registar dužine 16 bita (2 bajta). Svaki bistabil simbolično je prikazan kao
jedan kvadratić u koji je zapisan jedan bit. Informacija smještena u registru čini jednu riječ. Riječ može
predstavljati broj, znak, kôd neke instrukcije i sl. Kako je sadržaj jednog bistabila 0 ili 1, a registar se u
ovom slučaju sastoji od 16 bistabila, možemo jednom riječju predstaviti 216 različitih objekata, na
primjer, 216 različitih brojeva (216 = 65536).

1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1
_
bit
_________________ ________________
bajt bajt

__________________________________
riječ

Za smještanje podataka i programa u kompjuteru služi memorija kompjutera koja se može predstaviti
kao skup registara.

Nas zanima u kom obliku se podaci zapisuju u memoriju računara. Osnovni tipovi podataka koji se
upisuju u memoriju računara su brojevi (prirodni, cijeli i realni) i znakovi (slova, cifre, znakovi
interpunkcije i sl.).

PRIKAZ PRIRODNIH BROJEVA

Prirodni brojevi se zapisuju u memoriju računara slično kao što bi ih zapisivali na papir. Najvažnija
razlika je u tome što je broj bitova u računaru koji imamo na raspolaganju za prikaz broja ograničen.
Broj bita za prikaz broja nije proizvoljan i može biti jednak dužini riječi, ali i duplo manji (poluriječ) ili
duplo veći (dvostruka riječ).
Primjer

Na raspolaganju za prikaz broja imamo jedan bajt. Kako će u memoriji računara biti prikazan dekadni
broj 8?

810 = 10002

U memoriji računara biće zapisano 00001000. Važno je uočiti da smo napisali i nule sa lijeve strane
što je uobičajeno kada se prikazuje sadržaj nekog dijela memorije. Na taj način se vidi koliko je bita
određeno za prikaz broja, te iznos svakog bita.

PRIKAZ NEBROJČANIH VELIČINA

Osim sa brojevima, računari moraju raditi i sa slovima i drugim znakovima. Njih u memoriju računara
ne možemo zapisati u izvornom obliku, već samo koristeći unaprijed dogovorenu kombinaciju binarnih
cifri za svaki znak. Takva kombinacija bitova naziva se kôd određenog znaka.

Da bi se omogućila razmjena podataka između računara potrebno je imati standardizovan kôd koji će
svi upotrebljavati i razumjeti. Danas je u širokoj upotrebi ASCII (American Standards Code for
Information Interchange). To je osmo-bitni kôd (kôd čija je dužina 8 bita), koji omogućuje prikaz velikih
i malih slova, specijalnih znakova (na primer, *, +, =, ?, $, %, itd.), te upravljačkih znakova (na primer,
početak poruke, kraj poruke, novi red, itd.). Ukupno je sa osam bita moguće prikazati 256 (28=256)
različitih znakova. Međutim, prvih 128 znakova je zaista standardizovano, a preostalih 128 nije
jedinstveno standardizovano. Razlog tome je što je originalni ASCII koristio 7 bita. Dodatnih 128
kodova za novih 128 znakova dobiveno je dodavanjem jednog bita, te je dobiven tzv. prošireni skup
znakova. Kompanija IBM koristi neke od dodatnih 128 kodova za prikaz slova koja su specifična za
različite evropske zemlje. Naime, ne treba zaboraviti da je riječ o američkom standardu, koji ne vodi
računa o specifičnostima drugih zemalja.

U tabeli su prikazani i kodovi koje za prikaz naših znakova koristi firma Microsoft u operativnom
sistemu Windows, čime se dodatno komplikuje problem naših slova.

Naš znak YUSCII IBM 852 Microsoft 1250


Č 9410 (^) 17210 20010
Ć 9310 ( ] ) 14310 19810
Đ 9210 ( \ ) 20910 20810
Š 9110 ([ ) 23010 13810
Ž 6410 (@) 16610 14210
č 12610 (~) 15910 23210
ć 12510 (}) 13410 23010
đ 12410 ( | ) 20810 24010
š 12310 ({) 23110 15410
ž 9610 ( ` ) 16710 15810

Tabela 16 Prikaz kodova


Poteškoće sa našim znakovima mogu nastupiti prilikom sortiranja riječi po abecedi. Naime, kod
sortiranja se koristi činjenica da numeričke vrijednosti kodova (dakle kodovi shvaćeni kao binarni
brojevi) odgovaraju redosljedu slova u abecedi. Na primjer, kôd slova a manji je od koda slova b, a taj
je opet manji od koda slova c, itd. Međutim, to važi samo za slova američke abecede koja zauzimaju
kodove 65 - 90 (slova A - Z) i 97 - 122 (slova a - z). Zbog toga program koji ne vodi računa o
specifičnostima naših slova neće dobro sortirati, na primjer, prezimena sa našim slovima, iako će
sortiranje engleskih prezimena raditi bez greške.
2.5. PROGRAMIRANJE

Često ljudi mogućnosti računara prenaglašavaju odnosno mistifikuju. U principu računar je


neinteligentna mašina, koja je u stanju da izvršava zadatke na način koji odredi čovjek. Sve što
računaru treba da se kaže sadrži program. To znači da čovjek za svaki problem koji želi da riješi na
računaru, treba da definiše način i korake (algoritam) njegovog rješavanja. Ovaj postupak se naziva
programiranje.

Naravno, sa računarom čovjek obavlja komunikaciju na jeziku koji mašina odnosno kompjuter
razumije. Na tom se jeziku treba napisati program koji se unosi u kompjuter, da bi on mogao izvesti
operacije sadržane u programu

Proces rješavanjnja problema primjenom računara možemo sistematizonvati kroz nekoliko faza, koje
su međusobno povezane i uslovljene. Zajedno čine proces koji preko sistemske analize i
programiranja dovodi do traženog rezultata. Za rješavanje konkretnog problema na računaru
uglavnom se primjenjuju sljedeće faze:

 analiza problema,
 izrada algoritma,
 kodiranje programa,
 kompilacija programa,
 testiranje programa i
 dokumentovanje programa.

Analiza problema je početna faza rješavanja problema. Ona identifikuje problem i daje osnovne
konture rješenja problema. Ova faza uključuje iskustva koja su rješavala slične probleme i kao rezultat
daje identifikaciju relevantnih činjenica koje su od važnosti za rješavanje problema.

Izrada algoritma predstavlja fazu u kojoj se apstraktno rješenje, nastalo u prethodnoj fazi,
transformiše u grafički prikaz rješenja problema.

Kodiranje programa je proces prevođenja algoritma ili grafičke slike rješenja problema u konkretne
instrukcije određenog programskog jezika, čija sintaksa se obavezno mora poštovati. Takav oblik
programa se konačno unosi u računar.

Kompilacija programa predstavlja proces prevođenja programa napisanog u izvornom (source) kodu
u oblik koji razumije računar tj. u izvršni (object) kod. Ovaj posao obavlja posebna klasa programa
sistemskog softvera (kompajleri ili interpreteri).

Testiranje programa je faza u kojoj se otkrivaju logičke greške programa. Sprovodi se na podacima
koji trebaju biti reprezentativni po sadržaju, ali koji su u principu malobrojni. Kada se identifikuju i
otklone eventualne greške posao se ponavlja i vraća na prethodne faze.

Dokumentovanje programa predstavlja poslednju fazu rješavanja problema u kojoj se relevantni


dokumenti iz prethodnih faza sistematizuju i odlažu. Na taj način se lako uočava struktura, fizionomija i
funkcionisanje programa, što je od velikog značaja za njegovo dalje održavanje i razvoj.
2.5.1. ALGORITAM

POJAM ALGORITMA

Iako pojam algoritam zvuči dosta apstraktno i veći dio ljudi nije baš blizak s istim, vjerovatno da nema
čovjeka koji u svakodnevnom životu nije bar ponekad razmišljao algoritamski. Jer, ako sintetizujemo
značenje algoritma u jednu definiciju, dobivamo sljedeći rezultat:

Algoritam je konačni niz dobro definisanih i slijednih pravila za rješavanje nekog problema. U životu
se često susrećemo s problemima koji se mogu algoritamski opisati. Takve situacije zahtjevaju od
čovjeka poštivanje zadanog niza pravila, jer samo takvo ponašanje dovodi do očekivanog kraja ili
rezultata. Nezaobilazna je primjena algoritama u računarstvu gdje čine veliki dio tog dijela nauke.

Jedan od svakodnevnih lako shvatljivih primjera osnovnih svojstava algoritama jeste kuvanje čaja.
Svaki korak pripremanja čaja mora biti ispravno izvršen kako bi mogli preći na idući te u konačnici
dobiti topao i ukusan čaj. Kako najlakše skuvati čaj? Evo odgovora:
1. Stavi lonac s vodom na vatru
2. Čekaj dok ne provrije
3. Pazi da voda ne pokipi
4. Kad provrije voda, ugasi vatru
5. Stavi kesice čaja u vodu
6. Ako želiš, dodaj šećera
7. Ako želiš, dodaj limun
8. Posluži se

I to je to! Dobili smo šalicu vrućeg čaja pa ćemo lakše svariti «brainstorming» koji znače algoritmi! Iz
ovog se jednostavnog primjera jasno vidi slijednost i konačnost algoritma. Naime, nema previše koristi
od algoritma koji nikad ne završava. Očito je da algoritam definiše način kako se neki problem rješava.

ISTORIJA ALGORITMA

Riječ "algoritam" dolazi od latinskog prevoda imena arapskog matematičara Muhammad al-
Khwaeizimija koji se bavio trigonometrijom, astronomijom, geografijom, kartografijom, a smatra se
ocem algebre jer je definisao osnovna pravila rješavanja linearnih i kvadratnih jednačina. Njegovi
radovi su osnova razvoja mnogih matematičkih i prirodnih disciplina, među njima i računarstva.

Prvi zapis algoritma prilagođen računaru pripada Adi Byron iz 1842 (pa se zbog ovoga smatra prvom
programerkom), a računao je Bernoullijeve brojeve. Računar za koji je napisan bio je analitička
mašina, kojeg je zamislio, ali nikad u potpunosti proveo u djelo, Englez Charles Babbage. Analitička
mašina je trebal biti prvi programabilni računar, sastavljeno u potpunosti od mehaničkih dijelova.
Mehanički dijelovi i fizička glomaznost su glavni razlozi zašto nikad nije završen.

Nedostatak čvrste matematičke forme pravio je određene probleme matematičarima i logičarima 19. i
20. vijeka prilikom analiziranja algoritama. Definicija Turingove mašine je riješila većinu tih problema, a
predstavio ju je engleski matematičar Alan Turing. Turingova mašina omogućavala je izvođenje većine
današnjih algoritama (uz određena prilagođavanja), a dodatno olakšavala i analizu složenosti zbog
svoje jednostavnosti izvedbe (glava, funkcija pomaka glave te beskonačna ili jako duga traka za
čitanje/pisanje).

Primjenom Turingove mašine kao idealnog modela definisani su mnogi moderni problemi vezani uz
analizu algoritama, kao npr. Turingov problem zaustavljanja ili klase NP-teških i NP-potpunih
problema.
Kasnije, uporedo s razvojem računarskih komponenti i mogućnosti prosesora, struktura algoritama
kao inicijalne pripreme rješavanja problema putem računara, postajala je sve kompleksnija i
kompleksnija. Moderno računarstvo je nezamislivo bez primjene algoritama, njihove matematičke
analize te postupcima ubrzavanja njihova izvođenja (optimizacija). Sva su ta područja povezana i
međusobno se nadopunjuju.

PRIMJENA ALGORITMA U RAČUNARSTVU

Kako je već napomenuto, moderno računarstvo nezamislivo je bez primjene algoritama. Dvije
najznačajnije karakteristike algoritma su sljedeće:

1. procedura koja je određena algoritmom je deterministički proces – data u obliku konačnog


broja instrukcija;
2. instrukcije koje čine algoritam definišu proceduru koja se može izvršiti na odgovarajućem
skupu podataka i u svakom slučaju dovodi do konkretnog rezultata;

Pet važnih osobina algoritma su:

1. konačnost,
2. definisanost (bez dvosmislenosti – opis u odgovarajućem jeziku),
3. ulaz,
4. izlaz i
5. efikasnost (vrijeme ili količina zauzete memorije).

Grafički prikaz algoritma

Obično nije problem dobiti tačno rješenje pomoću algoritma predstavljenim programskim jezikom, ali o
efikasnosti algoritma zavisi da li će pronađeno rješenje zaživjeti u praksi. Ukoliko pretražujemo listu sa
30000 imena, tada algoritam sekvencijalnog pretraživanja u prosjeku pretraži 15000 imena dok ne
dođe do cilja, ako pretpostavimao da svako pretraživanje traje 10 ms, onda će nam za pronalazak
imena u listi trebati (u prosjeku) 150 000 ms = 2.5 minuta. Kod binarnog pretraživanja broj koraka koji
nas dovodi ciljne vrijednosti iznosi In (30000) = 8, što znači da je ukupno vrijeme pretraživanja cca 80
ms, s tim da treba voditi računa o tome da slogovi moraju biti složeni po nekom redu kako bismo
algoritam uopšte mogli primjeniti.

Prema dobivenom rješenju treba biti kritičan. Čak i kada smo sigurni da je ono tačno, treba provjeriti
da li je riječ o najboljem mogućem rješenju.

Algoritam se radi preglednosti predstavlja u grafičkom obliku koji se naziva blok dijagram ili dijagram
toka (flowchart) i ova faza u rješavnju problema nezavisna je od računara. Njen završetak sastoji se u
predstavljanju problema u određenom algoritamskom jeziku, npr.u obliku dijagrama toka.

Za složenije algoritme način njihovog prezentiranjaje veoma važan, jer od njega zavisi preglednost, ali
i tačnost pojedinog algoritma, a time i uspješnost ove faze rješavanje problema.

Ovo se naročito odnosi na slučajeve kada je dati algoritam potrebno pripremiti za računar. Zbog toga
je uvedena jedna standardna notacija za prikazivanje algoritma različitih tipova. Ta notacija
omogućava predstavljanje svakog algoritma grafički i naziva se dijagram toka ili organigram. U
dijagramima toka postoji određeni standardni skup simbola koji se primjenjuje za opisivanje
karakterističnih koraka u algoritmu.

Ovaj skup simbola koji se koristi u dijagramima toka je ograničen, ali ipak dovoljno izražajan. Pomoću
njega se mogu opisati vrlo različiti,pa i najsloženiji algoritmi. Prednost ovakvog opisivanja algoritma
sastoji se u sistematičnosti, preglednosti i povećanoj preciznosti dijagrama toka.
Drugim riječima, grafički prikaz algoritma može biti opšti i detaljni i sastoji se od grafičkih simbola. U
blok-dijagramu uvijek se upotrebljavaju simboli sa istim značenjem iz razloga da se koristi što manje
teksta u šemi i da ona bude što preglednija. Smboli nisu za sve korisnike unikatni, što znači da neko
upotrebljava jedan tip simbola, a neko drugi tip simbola za isto značenje. U nekim zemljama simboli su
standardizovani, dok kod nas nisu.

Osnovni simboli koji se koriste u dijagramima toka, prema preporuci poznate američke kompjuterske
kompanije IBM, dati su na slici:

SIMBOL NAZIV SIMBOLA ZNAČENJE

Početak izvođenja Ovaj simbol označava početak ili kraj algoritma. U jednom dijagramu
programa BEGIN i Kraj toka postoji samo jedan početni blok, dok krajnjih može da bude više.
izvođenja END

Ovaj blok se koristi za naznačavanje ulaznih podataka u algoritam, kao i


Ulaz / izlaz
prezentiranje izlaznih rezultata.

Ovo je bazični blok u kome se naznačavaju sve vrste procesiranja


Blok procesiranja ili
podataka, odnosno obrada podataka.
obrade

Ovaj blok naznačava tačke u dijagramu toka u kojima se donose


odluke.obično su 2 izlaza iz bloka, a za svkog slijedi određeni akcija
Blok odluka
koje se realiziraju na osnovu donesene odluke

Ovo je pomoćni simbol za povezivanje složenih dijagrama toka.Oznaka


Vezni simbol u njemu povezuje izlazni dio jednog dijela dijagrama toka i ulazni dio
drugog dijela dijagrama toka,zapisanih na različitim mjestima

Ovaj blok označava dio programa tzv. potprogram


Potprogram

Modifikacija Ovaj blok označava proces modifikacije

Manuelna operacija Ovo je blok za označavanje manuelnih operacija

Tabela 17 Simboli algoritama

Kada smo upoznali simbole za sastavljanje ili strukturu blok dijagrama, njome možemo prikazati način
rješavanja konkretnog problema ili prikazati programsko rješenje.

Blok dijagram se čita odozgo prema dolje, a na mjestima odluka prema dolje ili nadesno. Strelice
povezuju simbole, a na mjestima programskih odluka, gdje dolazi do grananja, na njih se postavljaju
odgovori DA ili NE, čime se obilježava nastavak programskog toka prema odgovarajućem uslovu.
OSNOVNE ALGORITAMSKE STRUKTURE

Linijska struktura

Ovo je tip algoritma u kojima se svaka operacija izvršava samo jedanput.To je u stvari sekvenca ili niz
instrukcija koje se izvršavaju u slijedu, jedna za drugom. Primjer ove algoritamske grupe izgleda
ovako:

POČETAK

ULAZ
A, B

SUMA <- A+B


RAZ<- A - B

IZLAZ
A, B, SUMA, RAZ

KRAJ

Granajuća struktura

Granajući algoritmi predstavljaju takvu grupu algoritama, gdje se neke operacije izvršavaju u
zavisnosti od ispunjenosti određenih uslova. To znači da u određenom dijelu programa postoji
selekcija, na osnovu koje treba izvršiti jedan ili drugi dio programa. Grafički izgled ove algoritamske
grupe je sljedeći:
POČETAK

ULAZ
A

< >
A:0

ABS <- - (A) ABS <- 0 ABS <- A

IZLAZ
A, ABS

KRAJ
Ciklička struktura - petlja

Ciklički algoritmi su algoritmi gdje se operacije izvršavaju više puta. To je zatrvoreni krug instrukcija
koje se u programu ponavljaju toliko puta dok se ne zadovolji postavljeni uslov.primjer ove
algoritamske grupe prikazan je na sljedećoj slici:

POČETAK

ULAZ
N,M

I <- 0
BIN <- 1

=
BIN <- (N-I)/(I+1)*BIN

IZLAZ
I <- I + 1
N, M, BIN

<=
I:M

>

KRAJ

Struktura sa podalgoritmima

Veza između algoritma i podalgoritma – lista ulazno-izlaznih parametara


 stvarna lista parametara – parametri koji se prosljeđuju podalgoritmu iz glavnog
algoritma
 formalna lista parametara – lista parametara pozvanog algoritma

Broj, redoslijed i vrsta parametara stvarne i formalne liste treba da se poklapa.


POČETAK

ULAZ A = {ai}, i = 1, ..., N


N, A N - br. el. niza

SABIR(A, N, REZ)

IZLAZ
REZ

KRAJ

PRAKTIČNI PRIMJERI ALGORITAMA I NJIHOVE TRANSFORMACIJE U


PROGRAMSKI JEZIK

ZADATAK 1: Napiši algoritam i program (QBASIC) za zbrajanje prvih N prirodnih brojeva.

Algoritam Program

------------------------------------------------------
10 CLS
20 CLEAR
30 X = 0: Zbroj = 0
40 INPUT "Upisi granicu zbrajanja"; N
DO
X=X+1
Zbroj = Zbroj + X
LOOP WHILE X < N
REM 'LOOP UNTIL' po prvom zdovoljenom izlazi iz petlje
50 PRINT "Zbroj je:"; Zbroj
60 END
------------------------------------------------------
10 CLS
20 CLEAR
30 x = 0: Zbroj = 0
40 INPUT "Upisi granicu zbrajanja"; N
FOR i = 1 TO N STEP 1
x=x+1
Zbroj = Zbroj + x
NEXT i
50 PRINT "Zbroj je:"; Zbroj
60 END
------------------------------------------------------
ZADATAK 2: Napiši algoritam i program koji učitava N cijelih brojeva. Izračunati zbroj svih pozitivnih i
zbroj svih negativnih brojeva.

Algoritam Program

10 CLS
20 CLEAR
30 broj = 0: pozitivni = 0: negativni = 0
40 INPUT "Upisi granicu zbrajanja"; N
DO
INPUT "Upisi jedan broj:"; X
IF X > 0 THEN
pozitivni = pozitivni + X
ELSE
negativni = negativni + X
END IF
broj = broj + 1
LOOP WHILE X < N
REM 'LOOP UNTIL' po prvom zdovoljenom izlazi iz petlje
50 PRINT "Zbroj pozitivnih je:"; pozitivni
60 PRINT "Zbroj negetivnih je:"; negativni
70 END

Algoritam predstavlja esencijalni programerski alat – bez algoritma nema ni programa. Koraci
algoritma predstavljaju jednoznačne radnje koje, nakon transformacije u programski jezik, računar
razumijeva. U nekoj sažetijoj formi moglo bi se reći da je algoritam dekompozicija kompleksnih radnji
na njihove jednoznačne i neupitne faktore. Tu vrijedi ona stara mudrost: "Umjetnost se zasniva na
jednostavnosti!". Upravo ta sposobnost da se kompleksni problem svede na niz jednostavnih koraka
zaista predstavlja umjetnost! Da bi se to uspjelo, pored programerovog intelekta, potrebna je i velika
doza kreativnosti i maštovitosti, ali ta maštovitost ne smije preći u apstrakciju, jer krajnji rezultat uvijek
mora biti determinisan i racionalan.

Racionalnost u izradi algoritma mora uzimati u obzir resurse vremena i memorije, mogućnosti
ulaznih/izlaznih komponenti, energije i brojnih drugih tehničkih performansi. Optimalnost korišćenja
ovih parametara pokazuje nam programsku (algoritamsku) efikasnost i funkcionalnost. Znači, krajnji
produkt – algoritam, pored matematičko-logičkih zahtjeva, mora ispunjavati i potrebnu dozu ove,
uslovno rečeno, tehničke komponente. Samo algoritam/program koji zadovoljava sve ove nijanse jeste
funkcionalan i poželjan za primjenu.
2.5.2. KOMPJUTERSKI PROGRAM

Kompjuterski programi su algoritmi napisani na način koji kompjuter može da razumije. Program je niz
instrukcija koji kompjuteru određuju šta i kako treba da uradi. Svaka instrukcija predstavlja određenu
naredbu koju kompjuter može izvršiti. To je najmanji element programa.

U kompjuterskoj obradi instrukcije se nalaze u glavnoj memoriji centralne jedinice jedna do druge,
onako kako slijede u programu. Program se izvršava upravo redoslijedom kako su instrukcije
napisane, ako kompjuteru nije naređeno da radi na drugi način, tj. ako nije naveden redni broj naredbe
od koje treba nastaviti izvođenje programa. Najvažnije vrste instrukcija su:

Instrukcija ulaza/izlaza (npr. čitanje ili pisanje, pomoću kojih se obavlja komunikacija između
kompjutera i okruženja);

Instrukcije grananja (obavljaju preskakanje i prekidanje toka izvođenja programa);

Instrukcije računanja (sabiranje, oduzimanje, množenje, dijeljenje, potenciranje);

Logičke instrukcije (ispituju se određene vrijednosti, porede dvije veličine, utvrđuje predznak i sl.);

Instrukcije prenosa (izvršavaju prenos podataka unutar centralne jedinice sa jednog memorijskog
mjesta na drugo).
Dakle, osnovni cilj kompjuterskog programiranja je da se od ulaznih podataka dobiju izlazni rezultati
obrade. Kao što se razlikuju podaci i rezultati obrade, tako se razlikuju i programi.

Kompjuteri pomoću kompjuterskih program najčešće rješavaju složene obrade podataka, postupak
programiranja se može razmatrati kroz nekoloko koraka:

 Identifikacija zadataka za obradu podataka.


 Izbor odgovarajuće metode programiranj.
 Pisanje algoritma i programa.
 Implementacija programa.

Programi se obično pišu u nekom višem programskom jeziku, koji kompjuter u tom obliku ne razumije.
Kompjuter jedino razumije program u mašinskom jeziku. Tu konverziju obavljaju programi prevodioci
ili kompajleri.

Po tome razlikujemo izvorni (source) program, koji se piše sintaksom višeg programskog jezika i koji
se sa editorom unosi u računar. Onda nastupa program za prevođenje, koji se nalazi u biblioteci
sistemskog softvera. On program prevodi u ekvivalentni asemblerski program, a zatim tako dobiveni
program prevodi u program na mašinskom jeziku. Ovaj program se naziva izvršni (object) program i
on je sposoban da svojim izvođenjem riješi određeni problem. Takvi nastali programi se memoršu na
neku od sekundarnih memorija (npr. magnetni disk) i po potrebi se pozivaju, kada treba riješiti
konkretan problem za koji je pisan. Pozvani izvršni program se sa sekundarne memorije prebacuje u
glavnu ili operativnu memoriju kompjutera, gdje procesor preuzima instrukciju po instrukciju i pod
kontrolom operativnog sistema ih izvršava do kraja programa. Kad se jedan program realizuje on
svoje mjesto u glavnoj memoriji ustupa drugom programu i tako dalje.
RAZVOJ KOMPJUTERSKIH PROGRAMA

Prvi kompjuterski programi su vezani za nastanak programibilnog kompjutera. Tada u ono vrijeme
programirali su samo tvorci kompjutera. Oni su jedni koji su mogli programirati, jer su samo oni
detaljno znali karakteristike i način funkcioniranje kompjutera. Programiranje je bilo izuzetno
komplikovano i tražilo je mnogo vremena, a rizik od grešaka je bio velik.

Zbog ovih problema i težina rada programiranja počeli su naučnici i stručnjaci tražiti nova rješenja.
Prvo su nastali simbolički jezici, a zatim i viši programski jezici. Pojava ovih jezika omogućila je da se
programiranjem bave i stručnjaci koji nisu morali detaljno poznavati hardver i njegove karakteristike.
Tako je programiranje postalo mnogo efikasnije i produktivnije. Tada su nastale dvije vrste stručnjaka:
sa jedne strane stručnjaci iz područje hardvera i sa druge strane stručnjaci za razvoj softvera.

Zbog nastanak ove branše, koja uključuje veoma visoku stručnost i kapital, to uzrokuje novi kvalitet
softvera i kompjuterske tehnologije uopšte. Pored klasičnog programiranja, koje pripada prošlosti
razlikujemo sljedeće metode programiranja:

 Modularno programiranje pretpostavlja da se kompletno programsko rješenje podijeli na


module. Svaki modul predstavlja zasebnu, parcijalnu, ali logički zaokruženu programsku
cjelinu, koja realizuje određeni zadatak. Moduli se u principu razvijaju nezavisno, a na kraju
se zajedno komponuju u jedinstveno programsko rješenje.
 Strukturalno programiranje je slično modularnom i praktično predstavlja jednu njegovu
varijantu. Principi ovog programiranja traže od programera da hijerarhijski dekomponuje
program na module, a module na grupe instrukcija koje čine logičku cjelinu. Tako nastaje
programsko rješenje razvijeno po principu od gore prema dolje. Strukturalno programiranje
omogućuje:
o Dobru preglednost programa, zbog njegove hijerarhijske dekompozicije na module.
o Bržu izradu programa uz niže troškove, jer se jednom kreirani modul, uz manju
modifikaciju može primijeniti u više programa.
o Relativno lako otkrivanje i otklanjanje eventualnih grešaka.
o Produktivnost programiranja na visokom nivou.

Objektno orijentisano prgramiranje

Objektno orijentisano programiranje (Object-Oriented Programming) predstavlja savremeni pristup


programiranja. Osnovna ideja je da se programska rješenja modeliraju na način kako se ostvaruju
procesi u realnom životu. Tako se definišu programi koji su organizovani u obliku komunicirajućih
skupova objekata, pri čemu svaki objekat predstavlja jednu pojavu neke klase, sa hijerarhijskom
organizacijom i mogućnošću nasljeđivanja osobina. Postoji i objektno bazirano programiranje, koje se
zasniva na istoj ideji kao i objektno orijentisano programiranje, ali je ipak u nekim elementima različito
od njega.

Programeri postojećim načinom programiranja ne uspijevaju da zadovolje složene zahtjeve korisnika u


veoma kratkom vremenskom periodu. Ovaj problem se uveliko može prevazići većom participacijom
korisnika u samoj proceduri kreiranja programskih rješenja. Zbog toga kreirani su softverski alati koji
omogućuju snažniju interakciju programera i korisnika na izradi aplikacije. Ovaj koncept moguće je
realizovati na dva načina:

1. Korišćenjem aplikacijskog generatora za izradu prototipa (krajnji korisnik analizira prototip i


modifikuje ga sve dok ne postane model za progarmiranje).
2. Korišćenjem aplikacijskog generatora ili drugog softvera za razvoj čitave aplikacije (prototip
postaje aplikacija pa nema potrebe za programiranjem i programerima).

Drugi koncept, uglavnom zbog hardverskih nedostataka, nije ostvaren, dok je prvi koncept
realnost i danas na tržištu softvera postoje alati pomoću kojih se može realizovati.
Naziv softvera Pogodan za krajnjeg Proizvođač Pogodan za Proizvođač
korisnika profesionalce
Jezici za pretraživanje Query-by-example IBM GIS IBM
baza podataka On-line-english Cullinane Mark IV Informatics
Quick Query CACI Quick Query CACI
Sistem pronalaženja Stairs IBM
informacija
Generatori izvještaja NOMAD NCSS NOMAD NCSS
Quick Query CACI GIS IBM
RPGII Various
RPGIII IBM
ADRS IBM
Aplikacijski generatori Mapper Univac ADF IBM
Ramis II Mathematica Inc. DMS IBM
UserII Northcounty
Adminis II Adminis
Programski jezici vrlo APL Various APL Various
niskog nivoa NOMAD NCSS APL-Plus STSC
ADRS IBM

Tabela 18 Softverski alati za izradu prototipa


2.5.3. PROGRAMSKI JEZICI

Računar razumije samo jezik binarnih jedinica i nula ili kako se još naziva mašinski jezik i reaguje
samo na binarne električne signale. Čovjeku bi bilo najprikladnije kada bi sa računarom komunicirao
na način koji je najbliži međusobnom komuniciranju ljudi, koristeći prirodne jezike (engleski, srpski
itd.). Da bi se premostile ove razlike u komuniciranju između ljudi i računara stvoreni su vještački jezici
koji se nazivaju programski jezici.

Programski jezici su čovjeku mnogo prikladniji od mašinskog jezika, a računaru su bliži od prirodnih
jezika, jer nemaju neke nedostatke koji imaju prirodni jezici kao što su:

 Zamršena sintaksa (izgradnja jezički instrukcija);


 Komplikovana gramatička pravila;
 Česte nejasnoće i dvosmislenost kod određivanja značenja rečenice (semantike).

Najstariji kompjuteri zahtijevali su da programer prevede sve algoritme na mašinski jezik. Taj pristup je
dao još veću važnost izučavanja algoritma, jer je efikasniji algoritam smanjivao broj linija programskog
koda. Mašinski jezik se odlikuje binarnim šifrovanjem operacija i binarnim predstavljanjem memorijski
adresa.

Prvi korak ovoga zadatka bilo je izostavljanje brojeva kojima se predstavljao op-code i operandi
mašinskih instrukcija. Postalo je jako popularno pridruživati različite mnemonike različitim op-kodovima
i koristiti ih umjesto heksadecimalnoga prikaza.

Umjesto korišćenja op-koda za punjenje registra, programer bi pisao LD ili ST ( skraćenice od LOAD i
STORE ).

Javlja se program nazvan Assembler koji prevodi program napisan mnemoničkim kodom u mašinski
jezik. Jezik je komunikaciono sredstvo između učesnika u komunikcionom procesu. Komunikacija
između čovjeka i kompjutera je specifična. Jezik kompjutera se sastoji iz dva simbola (0 i 1), dok je
jezik čovjeka raznovrstan i bogat. Direktna komunikacija između čovjeka i kompjutera nije moguća,
zbog toga je stvoren jezik koji je bio pristupačan čovjeku a nakon prevođenja i kompjuteru.

Programski jezik je formalni jezik za prezentaciju (notaciju) kompjuterskih programa. Pomoću njega se
kompjuterskom sistemu, čovjeku čitljivim tekstom, daju instrukcije i naredbe za izvršenje unutrašnjih
zadataka, opis ulaznih i izlaznih podataka kao i njihova struktura u zavisnosti od unutrašnjih (u
sistemu) i spoljnjih (izvan sistema) događaja.

Do danas napravljeno je hiljade programskih jezika, dok je samo nekoliko od njih postalo poznato i
dostupno širokom krugu korisnika. Neki su više usmjereni za rješavanje određenog zadatka, dok su
sveobuhvatniji programski jezici (kao C programski jezik) mnogo poznatiji i češće u primjeni.

Većina komandi svakog programskog jezika se može podijeliti u 5 glavnih kategorija:

1. Obrada ulaznih podataka (Podatke preuzeti sa tastature, iz datoteke ili nekog drugog izvora);
2. Obrada izlaznih podataka (Podatke predati monitoru, datoteci, bazi podataka ili nekom
drugom mediju);
3. Matematička obrada podataka (Podatke obraditi pomoću matematičke operacije, kao npr.
sabiranje, oduzimanje ili dijeljenje);
4. Poređenje i izbor (Provjera određenih uslova i kontrola izvršavanja komandi;
5. Ponavljanje (Posebnim pravilima regulisano je ponavljanje izvršavanja komandi, obično sa
varijacijama podataka ili pravila ponavljanja).
GENERACIJE PROGRAMSKIH JEZIKA

Prva generacija programskih jezika

Prva generacija programskih jezika nastala je početkom pedesetih godina ovoga vijeka. Program
jeimao binarni oblik i njegove instrukcije su se sastojale od kombinacija 0 i 1.

Programi pisani u mašinskom jeziku su glomazni, monotoni i nepregledni, za njegovo pisanje potrebna
je velika koncetracija programera i mnogo vremena, a mogućnost grešaka je velika. Svaka mašina za
obradu podataka ima vlastiti jezik.

Instrukcije napisane na mašinskom jeziku sastoje se od: operacionog koda i operanda.

Operacioni kod definiše šta kompjuter treba da uradi (sabira, čita, prenosi, štampa), a operandi sadrže
lokacije podataka u memoriji nad kojim će se izvršiti operacija iz operacionog koda.

KOD DOPUNSKI ADRESA PRVOG ADRESA


OPERACIJE KOD OPERANDA DRUGOG
DUŽINA OPERANDA
100100 000100 000011 000001 000101 001000
000100 000100 000000 000000

M 4 3 1 5 8
4 4 0 0

Tabela 19 Primjer jedne instrukcije napisane na mašinskom jeziku

M znači prenos 4 mjesta s adrese 3144 na adresu 5800.


Druga generacija programskih jezika

Druga generacija programskih jezika nastala je polovinom pedesetih godina. Nastala je kao posljedica
programiranja na mašinskom jeziku.

U ovim jezicima kodovi operacija umijesto binarne forme pišu se Simbolima. Simbol je obično
skraćenica engleske riječi koja označava neku operaciju.

Na primjer: MVC (MOVE CHARACTERS) - prenesi znakove; MUL (MULTIPLY) - pomnoži; ADD -
saberi.

Adrese takođe imaju simbolična imena, obično prema značenju podataka koji se u njima smiještaju,
npr. IZN1 za prvi iznos, ZBR2, za drugi zbir.

Glavni predstavnik ove generacije je Assembler – to je niži simbolički jezik programiranja mašinske
orijentacije.

Program u assembler-u se često označava i kao assembler kod.Taj kod se putem specijalnog
kompajlera pretvara u mašinski kod koji je direktno izvršiv od strane procesora.

Obrnuti proces pretvaranja mašinskog u assembler kod se naziva Disasembliranje .

U razvoju programskih jezika spajanjem nizova asemblerskih naredbi nastaju viši programski jezici koji
objedinjuju neke elemente prirodnih jezika i neka opisna sredstva.

Između instrukcija na mašinskom jeziku i instrukcija na Assembleru postoji odnos 1:1 .

Operaciju prevođenja izvršava jedan poseban program prevodilac - Translator-assembler.

Program napisan u assembleru zavisio je od procesora kojem je bio namijenjen i nije se baš
jednostavno prenosio na kompjuter sa drugim tipom procesora.

ADRESA ADRESA
KOD DOPUNSKI
PRVOG DRUGOG
INSTRUKCIJE KOD DUŽINA
OPERANDA OPERANDA

MVC 4 IZN1 ZBR2

Tabela 20 Primjer instrukcije na assembleru


Treća generacija programskih jezika

Program napisan jezikom treće generacije može se koristiti na bilo kojem kompjuteru ako za njega
imamo kompajler. Prvi programski jezici treće generacije nastali su početkom šezdesetih godina i
nazivaju se viši simbolički jezici. Njihove osnovne karakteristike su:

 Nezavisnost jezika o mašini


 Orijentisanost problemu

Nezavisnost jezika o mašini - znači da jezici nisu vezani za određeni tip mašine i mogu se prenositi i
funkcionisati na različitim mašinama.

Orijentisanost problemu – vezana je za različite zahtjeve koji se postavljaju pred programski jezik,
zavisno od domena koji treba obraditi.

Najvažniji predstavnici treće generacije programskih jezika su:

 FORTRAN
 COBOL
 PL/1
 PASCAL
 C
 BASIC

FORTRAN – predstavlja jedan od prvih viših simboličkih jezika programiranja. Naziv je nastao od riječi
FORmmula TRANslation (prevod formule). FORTRAN je veoma ekonomičan jezik, pojavio se 1954. a
razvio ga je John Backus u IBM–u. Iz FORTRANA prvi se pojavio se pojavio ALGOL u kasnim 1950-
im.

Programi u FORTRANU su nezavisni od kompjutera, pa se uz odgovarajuće prevođenje mogu


izvršavati na raznim kompjutrima. Numerički podaci se u FORTRANU predstavljaju kao cijeli ili realni
brojevi (pozitivni i negativni).

Posebno je primjenljiv za pisanje matematički izraza, jer su simboli računskih operacija veoma slični
matematičkom označavanju. Nakon tri godine rada Backus je isporučio FORTRAN programski
prevodilac za IBM 704, a odmah zatim su naišli na prvu poruku o greški – nedostaje zarez u
izračunatoj GO TO naredbi.

COBOL – (COmmon Business Oriented Language – opšti poslovni orijentisani jezik) je viši simbolički
jezik koji je namijenjen rješavanju problema iz domena upravljanja poslovnim sistemima. Grejs Mari
Hoper i Čarls Filips izmislili su programski jezik COBOL.
Poslovni programi širom svijeta do kraja 20. vijeka uglavnom su pisani u COBOL-u. Pojavio se 1959
godine i do danas je više puta modifikovan. Danas je to programski jezik u standardnoj formi (ANSI
COBOL).

Program napisan na COBOL-u nezavisan je od kompjutera na kojem se izvršava. COBOL se sastoji iz


četiri dijela:

1. IDENTIFICATION DIVISION (identifikacioni dio koji sadrži osnovne odatke o programu kao
što su: naziv programa, datum pisanja itd.);
2. ENVIRONMENT DIVISION (dio okruženja u kojem se opisuje sistem za kompjutersku obradu
podataka );
3. DATA DIVISION (dio podataka gdje se opisuju podaci koji se obrađuju, rezultati obrade,
konstante i memorija );
4. PROCEDURE DIVISION (dio obrade u kojem su dati nalozi za obradu).
PL/1 – Ili programski jezik 1 (Programming Language / 1) proizvod je kompanije IBM i nastao je 1964.
godine. Savremenik je treće generacije kompjutera, odnosno kompjutera IBM 360.

Ovaj jezik integriše karakteristike naučnog i poslovnog jezika i ima veoma široku primjenu.

PL /1 je modularno dizajniran i može se parcijalno koristiti. Jako je primjenljiv u svim oblastima


poslovanja i rada (za sve vrsta problema).

Testiranje i održavanje programa u ovom jeziku je vrlo jednostavno, a u funkciji izlaza ima dva tipa,
tzv. RECORD i STREAM, izlaz od kojih je prvi pogodan za oblasti u kojima se radi Cobolom, a drugi
Fortranom.

PASCAL – Programski jezik nastao je sedamdesetih godina ovog vijeka i podržava koncept
strukturiranog programiranja. PASCAL je nastao kombinacijom najboljih osobina Algola, Basica i
programskog jezika PL/1. Predstavlja strukturni programski jezik, koji zahtjeva bolja programerska
znanja, ali omogućava bolju preglednost programske strukture i jednostavnije ispravljanje eventualnih
grešaka. Svaki program se sastoji iz dva dijela:

1. Opisa radnji koje treba izvršiti ( što se postiže kreiranjem iskaza ) i


2. Opis podataka nad kojima se te radnje izvršavaju ( a što se postiže deklaracijama i
definicijama ).

PASCAL je ime programskog jezika kojeg je stvorio švajcarski naučnik Niklaus Wirth 1970. godine.
Isprava se PASCAL koristio kao nastavno pomagalo za struktruralnu metodu programiranja računara.
Tokom 80-ih i ranih 90-ih godina 20. vijeka PASCAL se proširio u industriju, ali ubrzo nakon pojave i
masovnijom upotrebom objektno orijentisanih jezika kao C++ ili JAVA tokom sredine 90-ih godina 20.
vijeka, PASCAL počinje gubiti primat u industriji. Proširivanja PASCAL-a s objektno orijentisanim
konceptima kroz Object Pascal i kasnije kroz programski jezik Delphi uspjele su prilagoditi PASCAL
novim izazovima, ali njegova popularnost sve više opada.

C JEZIK – Svrstava se u grupu programskih jezika opšte namjene. Razvijen je 1972. godine u Bell
labaratorijama. Autor ovog programskog jezika je Dennis Ritche, no značajan doprinos nastanku C-a
dali su Ken Thomson kao autor programskog jezika B i Martin Richards, autor programskog jezika
BCPL. Dennis Ritchie je stvorio ovaj programski jezik za rješavanje praktičnih problema kodiranja
sistemskih programa i jezgre operativnog sistema UNIX koji je praktično u cijelini napisan u C–u.

C je danas ostao jedini programski jezik prilagođen za sve računarske platforme, od malih sistema pa
do mrežnih superračunara. Programi napisani u njemu vrlo su bliski načinu rada hardvera te
zahtjevaju od programera dobro razumijevanje rada procesora, memorije, ulazno-izlaznih uređaja itd.
Tokom 1980-ih, Bjarne Stroustrup proširuje C dodavajući sposobnosti orijentisanog programiranja, a
naziv ovog novog programskog jezika je C++.

Nažalost, ta je 100%-na kompatibilnost ujedno i razlog što su problemi koje programiranje u C-u nosi
sa sobom naslijeđeni u C++. Danas se relativno rijetko ukazuje potreba za pisanjem novih korisničkih
aplikacija direktno u C-u, pa čak i u vrlo malim sistemima kao što su na primjer mobilni telefoni .

Glavno područje njegove upotrebe su sistemski programi na strani servera, programi prevodioci, i
jezgra operativnih sistema, gdje je potreba za najvećom mogućom brzinom izvođenja, efikasnom
kontrolom resursa i direktnom kontrolom hardvera od primarne važnosti.

BASIC – je programski jezik koji je posebno interesantan programerima početnicima. BASIC


(engleska skraćenica za Beginner's All-purpose Symbolic Instruction Code). Kao programski jezik bio
je veoma popularan na kućnim računarima u 1980-tim godinama (ZX Spectrum, Commodore 64 i
Commodore 128, Amiga, Amstrad,...).
BASIC je sigurno najpoznatiji programski jezik za makro kompjutere. Nove verzije BASIC-a jezika
veoma su komforne za programiranje i komunikaciju. BASIC program ima veoma jednostavnu
strukturu naredbi: Broj Glagol Izraz.

 Broj daje programer, obično tako što svakoj naredbi dodjeljuje redni broj koji je za 10 veći od
rednog broja prethodne naredbe.
 Glagol je rezervisana riječ jezika i ima strogo određeno značenje, a programer je treba koristiti
samo u tom značenju.
 Izraz predstavlja raznovrsnu konstrukciju pojmova, npr. Aritmetičkih, logičkih, promjenljivih,
literala u znacima navoda.

BASIC - ima jednostavnu sintaksu i poštuje skup sintaksnih pravila (petlje, ispis, logičko ispitivanje,
rad s datotekama, itd), veoma je jednostavan za upotrebu i lagan za učenje. Postoj više tipova
promjenljivih:

 INTEGER: cijeli broj između -32,768 i 32,767;


 LONG: cijeli broj između -2, 147, 483, 648, i 2, 147, 483, 647;
 SINGLE: decimalni broj ''dvostruke preciznosti'';
 STRING: znakovi koji se ne shvataju kao brojevi.

Služi za pravljenje jednostavnih programa i simulacija. Kao i većina drugih programskih jezika, za
programiranje koristi naredbe koje čine programski kod kojima se piše program. Stvoren je 1965.
godine i izmišljen kao prvi korak u učenju programiranja, 1990 evoluirao je u Visual Basic, a danas je
aktivna verzija Visul Basic.NET. Napravljen od strane Microsoft kompanije.

Naredbe u programskom jeziku BASIC se dijele na SISTEMSKE i PROGRAMSKE.

SISTEMSKE naredbe upravljaju BASIC jezikom i nalaze se izvan programa. Osnovne sistemske
naredbe su:

 SYSTEM (sistem) – ova naredba služi za napuštanje BASICA–a i prelazak u DOS;


 RUN (izvršiti) – izvršava red po red;
 LIST (Prikazati ili prelistati) – ova naredba ispisuje program na ekranu;
 SAVE (sačuvati) – korisnik sam određuje naziv pograma;
 NEW (novi) – ako ne želimo da napustimo rad sa BASIC–om, nego da unosimo novi program
ili aktiviramo neki stari program, potrebno je izbrisati memoriju naredbom NEW;
 LOAD (unijeti, prebaciti) – ovom naredbom sa nekog medija učitava se neki program koji je
ranije napisan i pohranjen na mediji. Pojedine verzije BASICA–a umjesto naredbe LOAD
koriste naredbu OLD.

Osnovne PROGRAMSKE naredbe BASIC jezika su:

 REM (primjedba) ova naredba služi za upis komentara u programu. Obično se koristi na
početku programa kada tekstualno, odnosno opisno identifikuje program;
 LET (neka je) – koristi se kad treba dodijeliti vrijednost imenu promjenljive;
 END (kraj) – određuje kraj programa ;
 PRINT (štampaj);
 INPUT (ulaz) – služi za unos podataka preko tastature;
 EXIT (izlaz) – služi da u slučaju neregularnosti sa podacima ostvari skok na prgramski red čiji
je broj Br.
 READ (čitaj) i DATA (podaci) – određeni broj podataka može se čuvati u okviru samog
programa;
 GOTO (pređi na) – naredba bezuslovnog karaktera i ostvaruje prelaz izvršavanja programa na
naredbu broj Br.
 IF...THEN (ako onda) – naredba uslovnog prenosa upravljanja;
 FOR...NEXT (za...naredni) - naredba za korišćenje ciklusa koji se kontroliše brojačem;
 GOSUB (pređi na potprogram) – predstavlja specifičan dio BASIC programa, rješava jednu
programsku rutinu i koristi direktno sve vrijednosti iz glavnog programa;
 RETURN (vratiti se) – daje korisniku mogućnost da formira biblioteku aplikacja;
 STOP (stop) – se može zamijeniti naredbom GOTO Br, gdje je Br obilježije naredbe END.
Četvrta generacija programskih jezika

Programski jezici četvrte generacije su razvijeni paralelno sa razvojem hardvera i operativnih sistema,
kako bi se smanjio broj ograničenja i instrukcija. Masovnija primjena informacione tehnologije u svim
sferama društva pobudila je interes velikog broja korisnika računarskih sistema za kreiranjem
sopstveni softverskih riješenja.

Kombinovanje navedenih pristupa dovela je do sljedećih jezika četvrte generacije:

 Query – By – Exemple ( QBE )


 APL
 MULTIPLAN
 LOTU 1-2-3
 IDEAL
 FOCUS

Četvrta generacija programskih jezika veže se za osamdesete godine prošloga vijeka i direktno je
povezana sa novim performansama i masovnošću kompjutera. Ova generacija ne predstavlja samo
efikasne programske jezike u klasičnom smislu riječi jezika, već praktično integrisane skupove jezika i
visokosofisticiranih alata.

Za razliku od programskih jezika prethodne generacije koji su strogo proceduralni, postupak


programiranja kod jezika ove generacije je neproceduralan, što znači da ima relativno malo pravila i
njegovo pisanje je veoma slobodno.

Jezici četvrte generacije omogućavaju krajnjem korisniku da dođe do potrebnih informacija


samostalnim korišćenjem raspoložive baze podataka. U novije vrijeme se kategorizuju na sljedeći
način: jezici upita, generatori izviještaja, grafički jezici, generatori aplikacija i programski jezici vrlo
visokog nivoa. Jezici upita omogućavaju korisniku da bazi podataka zadaje jednostavne i složene
upite. Sintaksa jezika je pravljena tako da bude što je moguće bliže korisniku, ali isto tako da bude i
što je moguće efikasnije podržana od strane sistema za upravljanje bazom podataka. SQL je tipičan
primjer ovakvog jezika.

Grafički jezici su se razvili sa padom cijena grafičkih terminalskih ili PC stanica i porastom značaja
grafičkih prikaza. Njihova primjena je posebno značajna u tzv. CAD/CAM sistemima (Computer Aided
Design/Computer Aided Manufacturing) za projektovanje i proizvodnju uz pomoć računara.
Najpoznatiji primjeri ovakvih jezika su: SAS. Hardver graphices i dr.

Generatori aplikacija omogućavaju stvaranje čitavih aplikacija u odgovarajućem programskom jeziku


na osnovu definicije ulaza, načina vrednovanja ulaza i načina obrade. Povećavaju produktivnost
programera za dvadesetak puta. Većina aplikacija sa punom funkcijom sadrže široki integrisani skup
razvojnih alata: sistem menadžmenta baze podataka, rječnik podataka, upitni jezik, Screen Painter,
grafički generator, generator izvještaja, alate za podršku odlučivanja, bezbjednost i programski jezik
visokog nivoa.

Kod četvrte generacije, organizacija, memorisanje, i imenovanje podataka realizuje se u obliku


relacione baze podataka. Ostale programske funkcije takođe su veoma jednostavne:

 INSERT (ubaci) za formiranje novog sloga;


 UPDATE (ažuriraj) za provođenje promijena;
 DELETE (briši) za eliminisanje podataka.

Programski jezici četvrte generacije nemaju standarde, ponekad instrukcija u jednom redu predstavlja
kompletan program. Cijeli niz područija pokriven je novim jezicima, a to su:
 Jednostavni ili složeni upitni jezici koji omogućuju traženje ili mijenjanje podataka;
 Generatori izviještaja koji oblikuju iskaze ili slike na ekranu kao rezultate obrade;
 Grafički jezici koji prikazuju rezultate u obliku pravih linija, krivulja, krugova itd;
 Jezici za podršku odlučivanja, koji pomažu pri donošenju poslovnih odluka;
 Generatori aplikacija koji definišu različite uslove pojedinih aplikacija.
Peta generacija programskih jezika

Peta generacija programskih jezika još uvijek se nalazi u pionirskom dobu. Uovoj oblasti prisutno je
nekoliko kategorija kao što su:

 Baze znanja,
 Ekspertni sistemi,
 Mašinsko odlučivanje...

Najpoznatiji progamski jezici pete generacije su: LISP i PROLOG.

LISP (LISt Prosessing – obrada lista) je programski jezik koji se nalazi u klasi jezika za manipulisanje
simbolima tj. elementima koje i obrađuje ovaj jezik. Simboli su rješavane problemske oblasti, i veoma
je pogodan za izgradnju ekspertnih sistema. Specifičnost LISP-a je njegovo efikasno upravljanje
reorganizacijom memorije.

PROLOG (PROgramming in LOGic – logičko programiranje) je programski jezik koji se zasniva na


predikativnom računu prvog reda, a čiji je autor 1879. godine bio matematičar Gottlob Freg. Prva
verzija PROLOG-a nastaje 1971. godine pod nazivom SYSTEM Q, čiji je autor Alen Kalmero iz
Marselja, 1977. godine izgrađen je kompajler za Prolog i upravo ova verzija nazvana Edinburški
PROLOG.

Za PROLOG se kaže da je jezik vještačke inteligencije, koji objezbjeđuje:

 Deklarativnost izražavanja
 Automatizovno traženje rješenja i
 Intezivnu primjenu rekurzije

Deklarativnost PROLOGA stvara mogućnost da se znanje predstavi na mnogo višem nivou u odnosu
na orijentisane programske jezike. Koristi se za izradu ekspertnih sistema, analizatora za prirodni jezik
i rješavanje drugi specifičnih problema.

2.6. ORGANIZACIJA PODATAKA

2.6.1. PODACI

Podaci su osnovni elementi koje kompjuter može da obrađuje i generiše. Rezultat obrade podataka je
informacija u obliku koji je za korisnika prihvatljiv. Podaci se klasifikuju s obzirom na njihov sadržaj na:

 numeričke,
 alfabetske i
 alfanumeričke podatke.

Numerički podaci imaju numerički sadržaj i koriste se za numeričke operacije. Alfabetski podaci
sadrže kontinuirani niz simbola nekog konačnog alfabeta. Alfanumerički podaci posjeduju kontinuirani
niz simbola nekog konačnog alfanumeričkog alfabeta.

Podaci pored ove klasifikacije na određene tipove, imaju i svoje relevantne osobine:

 naziv,
 sadržaj,
 sliku i
 dužinu.

Naziv ili ime podatka čini skup slovno-numeričkih simbola određene dužine. Na primjer, podatku ime i
prezime može se dodijeliti simbolički naziv IME_PR. Sadržaj se prikazuje numeričkim, alfa ili
alfanumeričkum znacima. Tako npr. podatku pol mogu biti pridružena dva simbola: 1 (za muški pol) i 2
(za ženski pol). Slika određuje vrstu sadržaja podatka. U klasičnom označavanju numerički podatak
označavamo sa 9, najvećom cifrom dekadnog sistema, alfa podatak označavamo slovom A, a
alfanumerički podatak slovom H. Dužina predstavlja dijapazon linerane dimenzije podatka. Ona zavisi
od osobina podataka i tako je i dimenzionisana, da adekvatna zona memorije prihvati bilo koju
vrijednost podatka.

Podaci se u interesu obrade organizuju u određene strukture. Organizacija podataka podrazumijeva


hijerarhijski poredak podataka, koji počinje od najsitnijih elemenata podataka (bitova) i usložnjava se
bajtovima, poljima, slogovima, datotekama i bazom podataka.

Osnovni elemenat hijerahijske organizacije podataka je bajt ili karakter. Može biti veliko slovo
(A,B,C,...), malo slovo (a,b,c...), numerički znak (0,1,2...9) ili specijalni znak (+,-,*,%...).

Ako se udruži više bajtova ili karaktera onda takvu formu nazivmo polje. Polje u zavisnosti od sardžaja
može biti, alfabetsko, numeričko ili kombinacija alfabetskih i numeričkih znakova.

Kolekcija povezanih i uređenih polja je slog. Slog čine identifikator sloga ili ključ sloga, i jedan ili više
podataka atributa. Svaki podatak-atribut sadrži neku vrijednost. Na primjer, atribut IME I PREZIME
radnika ima npr. vrijednost MARKO MARKOVIC. Identifikator sloga je dakle određeni atribut i njegova
vrijednost postoji samo u tom slogu. Tako se postiže unikatnost identifikacije sloga.
2.6.2. DATOTEKA

Datoteka predstavlja kolekciju povezanih slogova. Ona je skup istovrsnih slogova koji su povezani
nekim zajedničkim kriterujumom i nalazi se na mediju koji omogućava kompjutersku obradu podataka.
Slogovi su slični jedni drugima po namjeni, obliku i sadržaju. Zajednički kriterijumi određuju područja
informacionog sistema (npr. datoteka radnika, datoteka kupaca i dobavljača, datoteka materijala itd.).

Veze između slogova u datoteci čine strukturu organizacije datoteke. Postoji fizička i logička veza
između slogova. U fizičkoj vezi dva sloga se nalaze jedan do drugog, pa se od jednog sloga može doći
samo do njemu susjednog sloga. Logička veza pretpostavlja da se u slogu nalazi podatak tj. adresa
pomoću koje se pronalazi mjesto drugog sloga, koji sadrži logički povezane podatke. Tako se slogovi
povezuju lančano. Pojam koji sadrži adresu sljedećeg sloga u lancu naziva se pokazivač. Fizička i
logička veza se ilustruju na sljedeći način:

Fizička
veza
Logička
A A veza

S obzirom na moguće veze između elemenata, odnosno slogova, u datotekama se razlikuju četiri
osnovne strukture:

 linijska struktura,
 hijerarhijska struktura,
 puna ili mrežna struktura i
 datoteka bez strukture.

Linijska struktura povezuje elemente u liniju tako da se od jednog sloga može doći samo do
susjednog.

Hijerarhijska struktura povezuje elemente po nivoima i tu postoje nadređeni i podređeni odnosi. Najviši
tj. ishodišni elemenat je jedan jedini i naziva se korijenom. Pod njim se nalazi jedan ili više podređenih
elemenata, koji dalje mogu biti nadređeni drugim elementima.

Puna ili mrežna struktura povezuje elemente tako da su moguće sve vrste veza između pojedinih
elemenata. Ovdje nema posebnih ograničenja ili pravila u povezivanju, pa se od jednog do drugog
elementa može doći na onoliko načina koliko postoji veza. U praksi ne postoje veze svakog elementa
sa svakim zbog toga se ni podaci ne koriste svaki sa svakim.

Datoteka bez strukture predstavlja takav oblik veze, gdje se elementi međusobno ne povezuju, pa je
svaki elemenat samostalan. U takvom tipu datoteke svakom njenom elementu ponaosob se direktno
pristupa.

Slogovi se mogu grupisati u veću jedinicu, blok, na nekoliko načina. Ovi načini se nazivaju formati
zapisa. Zavisno od toga da li je dužina sloga fiksna ili varijabilna, te da li je jedan slog u bloku
(neblokovani) ili više slogova u bloku (blokovani) razlikujemo sljedeće formate zapisa:

 fiksno neblokovani format,


 varijabilno neblokovani format,
 fiksno blokovani format i
 varijabilno blokovani format.

Datoteka je skup podataka složen na jednom mjestu. Sve što računar radi zasnovano je na podacima
složenim u datotekama. Kao što omiljenu radio - emisiju prepoznajete po imenu, tako i datoteku
možete prepoznati po nazivu.

Datoteke se skladište na određenim mjestima na hard disku računara, kao što se i određene emisije
emituju na određenim frekvencijama. Da biste pronašli datoteku morate znati gdje je
uskladištena/sačuvana, kao što morate znati na kojoj talasnoj dužini je vaša omiljena emisija. Pandan
radio - kanalima su direktorijumi na hard disku vašeg računara.

Problem uskladištenja previše datoteka na jednom mjestu (direktorijumu) je da kompjuteru treba više
vremena da bi prikazao listu datoteka u jednom direktorijumu (ako je broj datoteka u direktorijumu veći
od 50). Računar, u osnovi, prikazuje listu datoteka po tri kriterijuma:

 ime,
 tip (ekstenzija – vrsta datoteke) i
 datumu (kreiranja ili modifikacije/promjene).

Nepisano je pravilo da, ako imate više od 50 datoteka u jednom direktorijumu, organizujete više
direktorijuma u kojima ćete klasifikovati datoteke. Kada organizujete/sistematizujete svoje datoteke
možete izabrati bilo koji vid organizacije koji vama odgovara ili vam je logičan.

Osnovni cilj organizacije datoteka u direktorijume je da do tražene datoteke dođete što lakše i brže.
Uvijek dobro pogledajte skup datoteka i vidite da li se neki metod organizacije sam nazire prema vrsti
datoteka i direktorijuma koje trebate organizovati.

Što se tiče organizacije direktorijuma, takođe je nepisano pravilo je da ne smije biti više od tri
subdirektorijuma u okviru osnovnog (root) direktorijuma. Bolje je otvoriti novi direktorijum u okviru
osnovnog direktorijuma, nego ići više u dubinu – subdirektorijum - subdirektorijum sustiže.
Direktorijume, kao i datoteke, treba tako imenovati da asociraju na sadržaj (vijesti, raspored rada, itd.).
Samo direktorijumi sa ličnim datotekama smiju da nose imena ljudi. Praktično govoreći, to znači da
ako novinar radi na autorskom projektu, dokumenti ne treba da se nalaze u njegovom ličnom
direktorijumu (često se takav direktorijum naziva po imenu autora), već u direktorijumu koji nosi ime za
takvu vrstu posla.

Prilikom imenovanja datoteka, treba izbjegavati opšte nazive tipa doc1, doc2 i slično (dužina imena
može biti do 251 znakova). Na primjer, da vidimo kako bi trebalo organizovati datoteke u nekoj
novinarskoj redakciji. Na nivou redakcije trebalo bi razviti i sistem za obilježavanje više verzija jednog
fajla (da li sa ver.1, ver.2. ili slovima abecede, ili ...). Kod datoteka koje su dnevne, izjava nekog
zvaničnika, imenovanje bi trebalo da se vrši tako da se zna ko je na snimku i kada je snimak
napravljen. Ovo važi i za tekstualne datoteke. Još treba da ukažemo na to da bi, pri konfiguraciji
operativnog sistema trebalo imati jednog generalnog korisnika (da bi svako kome PC treba na kratko
vrijeme mogao da ga iskoristi) i nekoliko ličnih profila (konfigurisanih prema licima koji će kompjuter
koristiti). Dobra organizacija podataka na hard disku računara doprinosi efikasnosti korisnika i
sveukupnoj efektivi organizacije u kojoj radi.

Osnovne karakteristike datateke su:

 dvojni karakter, što znači da datoteka predstavlja i logičko-semantičku i fizičku jedinicu


podataka,
 u strukturi podataka (datoteke) uvijek postoje neki formalni red koji omogućava obavljanje
informacione djelatnosti i izvršenje operacija nad datotekama,
 u kompjuterskoj organizaciji datoteka predstavlja najčešći oblik strukture i organizacije
podataka,
 datoteke predstavljaju najbolji i najprihvatljiviji oblik čuvanja i arhiviranja podataka.
Datoteke se međusobno razlikuju prema:

 vrsti, odnosno tipu datoteke,


 veličini datoteke,
 brzini pristupa slogovima u datoteci,
 uređenosti datoteke i
 mogućnostima povezivanja sa drugim datotekama.
METODE ORGANIZACIJE DATOTEKA

S obzirom na metode organizacije datoteka razlikuju se sljedeće organizacije datoteka:

 sekvencijalna organizacija datoteke,


 indeksno-sekvencijalna organizacija datoteke i
 direktna organizacija datoteke

Sekvencijalna organizacija datoteke je takva organizacija gdje su slogovi jedan za drugim, tj. onim
redoslijedom kako se unose, upisani na određeni nosilac podataka. To je najjednostavniji oblik
organizovanja datoteke i veoma se mnogo koristi. Princip je da se slogovi redoslijedom upisuju obično
na sekvencijalne nosioce podataka, kao što je npr. magnetna traka. Tako zapisani podaci imaju
karakter niza, pa se manipulacija podacima u ovim datotekama svodi na manipulaciju sa elementima
niza. Dakle, slogovi su u memoriji fizički poredani jedan za drugim. Prvi slog koji se upisuje zauzima
prostor u memoriji rezervisan za njegovo zapisivanje, do njega se upisuje drugi slog i tako redom do
kraja upisa u datoteku.

Iz praktičnih razloga slogovi se najčešće upisuju prema rastućoj ili opadajućoj vrijednosti nekog
obilježja koje služi kao identifikacioni ključ sloga. Formiranje sekvencijalnih datoteka je vrlo
jednostavno, jer se upisivanje slogova vrši serijski u željenom redoslijedu na rezervisani prostor na
disku.

Sekvencijalno organizovane datoteke optimalno iskorištavaju memorijski prostor nosioca podataka, jer
između slogova nema neiskorišćenih rupa. Ovaj oblik organizacije posjeduje najjednostavniju linijsku
strukturu, u kojoj su slogovi povezani fizičkom vezom. Takva veza omogućuje samo pristup od jednog
sloga do susjednog i zato je u obradi podataka obično potrebno pročitati sve njene slogove od prvog
do posljednjeg.

Sekvencijalna datoteka uglavnom je sortirana određenim redoslijedom. U tako sortirnoj sekvencijalnoj


datoteci brže se pronalazi određeni slog. U sekvencijalnoj organizaciji datoteke mogu se primjeniti svi
formati zapisa (fiksni, varijabilni, neblokovani i blokovani). Veličina ove datoteke nije ograničena.

Podaci koji se nalaze u datotekama vremenom se mijenjaju, što znači da se u datoteci mogu dodavati
novi slogovi, brisati postojeći nepotrebni slogovi i mijenjati sadržaj postojećih slogova. Ovaj postupak
se naziva ažuriranje datoteke.

U odnosu na druge organizacije datoteka, sekvencijalna datoteka ima određene prednosti. Optimalno
je iskorišćen prostor nosioca podataka i nema ograničenja u veličini. Programiranje obrade podataka
za ove datoteke veoma je jednostavno, jer se poslije obrade jednog sloga fizičkom vezom unose u
obradu elementi sljedećeg sloga. U slučaju obrade svakog sloga datoteke ili većine slogova obrada je
brza i ekonomična.

Osnovni nedostaci sekvencijalne organizacije datoteke su: zamorna prepisivanja kompletne datoteke
kod njenog ažuriranja, pretraživanje svih slogova koji se nalaze ispred sloga koji se traži i konačno
ograničenost obrade podataka samo na serijski način.

Indeksno-sekvencijalna organizacija datoteke podrazumijeva da su slogovi sekvencijalno upisani u


glavno područje podataka, a u posebno područje upisuju se indeksi (ključevi i adrese slogova)
pomoću kojih se može ostvariti direktan pristup do traženog sloga. Indeksno-sekvencijalna
organizacija datoteka ima tri zone:

 glavnu zonu podataka,


 indeksnu zonu i
 zonu prekoračenja.
Glavna zona podataka sadrži slogove sortirane prema ključu. Slogovi mogu biti blokovani u fiksnom
formatu s izdvojenim ključem, koji služi za identifikovanje sloga, odnosno bloka i pomoću kojeg se
ostvaruje direktni pristup bloku. To je ključ izdvojen od slogova, a sadrži vrijednost ključa posljednjeg
sloga u bloku tj. najvećeg ključa, s obzirom da su slogovi unutar bloka uređeni po rastućem
redoslijedu.

Indeksno-sekvencijalna organizacija datoteka je najčešće upotrebljavani oblik organizacije datoteka.


Prednosti ove organizacije su u relativno dobroj iskorišćenosti memorijskog nosioca podataka
(blokovanje slogova), mogućnosti direktnog ili sekvencijalnog pristupa podacima, kao i ažuriranju
podataka bez prepisa kompletne datoteke. Osnovni nedostaci ovog oblika organizacije datoteke su
veći broj pristupa do jednoga sloga tj. pomaka glave za čitanje/pisanje, dopunska obrada pomicanja i
lančanja slogova prilikom ažuriranja datoteke, ažuriranje indeksa, kao i postojanje izdvojenog ključa
na štetu prostora za podatke.

Direktna organizacija datoteke, za razliku od prethodnih oblika organizacije , koji zahtjevaju fizičku i
logičku uređenost podataka, to ne zahtjeva. Svaki slog u datoteci je praktično samostalna linearna
lista. Adresa sloga koji se ažurira ili traži, bazira se na relaciji koja postoji između ključa (šifre) sloga i
fizičke adrese u memoriji. Ova logička veza je u obliku algoritma, kojim se ključ sloga transformiše u
odgovarajuću adresu.

Slogovi se identifikuju na različite načine. Kako se ove datoteke obično nalaze na magnetnom disku,
fizički slog se adresira identifikacijom cilindra i staze. Ovdje se koristi poseban metod relativnog
adresiranja, koji je dominantan kod savremenih operativnih sistema. Dakle, u direktno organizovanoj
datoteci postoji povezanost između ključa sloga i fizičke adrese na kojoj se nalazi slog.

Osnovna obilježja direktne organizacije datoteka su:

 postojanje algoritamske veze između fizičke adrese i ključa sloga,


 direktan pristup slogovima datoteke se postiže bez prethodnog pretraživanja datoteke
indeksa,
 svaki novi slog ima unaprijed obezbijeđenu lokaciju u memoriji,
 ukoliko dođe do eventualnih poklapanja adresa, novi slog se automatski upisuje u rezervno
područje. 

Datoteke sa direktnom organizacijom podataka na izvjestan način predstavljaju idealno rješenje, ali se
to rješenje u praksi teško postiže. Ovaj oblik organizacije datoteke ima prednost u direktnom, veoma
brzom pristupu, ali samo do jednoga sloga i pod uslovom da su slogovi sortirani. Međutim, nedostaci
su slaba iskorišćenost prostora nosioca podataka, jer se između slogova nalazi pasivan prostor, zatim
nemogućnost blokovanja, komplikovana sekvencijalna i grupna obrada, transformacija ključeva,
pojava sinonima itd.
2.6.3. BAZA PODATAKA

POJAM I ISTORIJA BAZA PODATAKA

BP- Baza podataka ili DB – Data Base je organizovana zbirka podataka. Termin je izvorno nastao
unutar računarske industrije, a njegovo se značenje proširilo popularnom upotrebom toliko da
Evropska direktiva za baze podataka (koja za baze podataka donosi prava za intelektualno vlasništvo)
uključuje i neelektronske baze podataka unutar svoje definicije. Ovaj članak je ograničen više na
tehničku upotrebu termina, iako čak i među računarskim profesionalcima neki pripisuju mnogo šire
značenje riječi od drugih.

Jedna od mogućih definicija baze podataka glasi da je to zbirka zapisa pohranjenih u računaru na
sistemski način, takav da joj se računarski program može obratiti prilikom odgovaranja na problem.
Svaki se zapis za bolji povratak i razvrstavanje obično prepoznaje kao skup elemenata (činjenica)
podataka. Predmeti vraćeni u odgovoru na upitnike postaju informacije koje se mogu koristiti za
stvaranje odluka koje bi inače mogle biti mnogo teže ili nemoguće za stvaranje. Računarski program
korišćen za upravljanje i ispitivanje baze podataka nazvan je SUBP - sistem upravljanja bazom
podataka ili DBMS – Data Base Management System. Karakter i dizajn sistema baze podataka
uključeni su u proučavanje informacione tehnologije.

Centralni koncept baze podataka je jednak onome od zbirke zapisa ili dijelova znanja. Za datu bazu
podataka tipično postoji strukturni opis vrste činjenica sadržanih u toj bazi podataka: taj opis naziva se
shema. Shema opisuje predmete koji su prikazani u bazi podataka, te odnose među njima. Postoje
brojni različiti načini organizovanja sheme, to jest od modeliranja strukture baze podataka: oni se zovu
modeli baza podataka (ili modeli podataka). Model u najraširenijoj upotrebi danas je relacioni model,
koji laički rečeno prikazuje sve informacije u obliku mnogostrukih relacionih tabela od kojih se svaka
sastoji od redova i kolona (prava definicija koristi matematičku terminologiju). Ovaj model prikazuje
odnose upotrebom vrijednosti koje su zajedničke za više od jedne tabele. Ostali modeli poput
hijerarhijskog modela i mrežnog modela koriste prikaze i odnose koji su mnogo eksplicitniji.

Najranija poznata upotreba termina baza podataka potiče iz juna 1963. kada je Društvo za razvoj
sistema uzelo pod pokroviteljstvo simpozijum pod naslovom Razvoj i upravljanje računarski
centriranom bazom podataka. Baza podataka kao jedinstvena riječ postala je uobičajena u Evropi
ranih 1970-ih, a krajem decenije koristila se u glavnim američkim novinama. (Banka podataka,
uporedni termin, koristio se vrlo rano u novinama Washington Post, 1966.)

Prvi sistemi upravljanja bazom podataka razvijeni su u 1960-ima. Začetnik u tom polju bio je Charles
Bachman. Bachmanovi rani radovi pokazuju da je njegov cilj bio stvaranje djelotvornije upotrebe novih
uređaja s direktnim pristupom pohrane koji su postali dostupni: do tada se obrada podataka zasnivala
na bušenim karticama i magnetnoj traci, pa je tako sekvencijalna obrada bila dominantna aktivnost.
Dva su se ključna modela podataka pojavila u to vrijeme: CODASYL je razvio mrežni model baziran
na Bachmanovim idejama, te se hijerarhijski model koristio u sistemu koji je razvio North American
Rockwell, a kojeg je kasnije prihvatio IBM kao kamen temeljac svoga SUI proizvoda.

Relacioni model podataka predložio je E. F. Codd 1970. godine. On je kritikovao postojeće modele
zbog zbrke apstraktnih opisa informacijskih struktura s opisima mehanizama fizičkog pristupa. Ipak je
dugo vremena relacioni model ostao samo u području akademskog interesa. Dok su CODASYL
sistemi i SUI bili zamišljeni kao rješenja praktičnog inženjerstva, uzimajući u obzir tehnologiju koja je
postojala u ono vrijeme, relacioni model je zauzeo mnogo veću teoretsku perspektivu, smatrajući
(ispravno) da će hardverska i softverska tehnologija uhvatiti korak s vremenom. Među prvim
realizacijama bili su Stonebrakerov Ingres na Berkeleyju, te projekt Sistem R u IBM-u. Oba navedena
su bili istraživački prototipovi objavljeni tokom 1976. Prvi komercijalni proizvodi, Oracle i DB2, nisu se
pojavili sve do oko 1980.

Tokom 1980-ih istraživačka aktivnost se usredsredila na sisteme distributivnih baza podataka i na


mašine baza podataka, međutim taj je napredak imao mali učinak na tržište. Druga važna teoretska
zamisao bio je funkcionalni model podataka, ali bez obzira na neke specijalizovane primjene u
genetici, molekularnoj biologiji i istraživanju prevara, svijet nije na njega obratio veliku pažnju.

U 1990-im pažnja se prebacila na baze podataka orijentisane prema objektu. To je imalo nekakav
uspjeh u poljima gdje je bilo potrebno rukovati kompleksnijim podacima nego što bi se mogli udobno
nositi relacioni sistemi: prostorne baze podataka, inženjerski podaci (uključujući odlagališta
softverskog inženjerstva), multimedijalni podaci. Neke od tih ideja prihvatili su relacioni prodavači, koji
su kao posljedicu integrisali nove osobine u svoje proizvode; nezavisnii prodavači klasičnih baza
podataka uveliko su nestali sa scene.

U 2000-im pomodno područje za inovacije postale su XML baze podataka. To je izbacilo, kao s
klasičnim bazama podataka, novu zbirku pokrenutih društava, ali su se istovremeno ključne ideje
integrisale u uspostavljene relacione proizvode. XML baze podataka ciljaju ukloniti tradicionalnu
podjelu između dokumenata i podataka, dopuštajući svim organizacijskim informacijskim resursima da
se drže na jednom mjestu bez obzira da li su visoko strukturirani ili ne.

Hijerarhijski model baze podataka ili kako se često naziva struktura stabla, ima oblik linearnog grafa.
Elementi ove strukture hijerarhijski su raspoređeni po različitim nivoima. Elementi mogu biti povezani
samo sa jednim elementom višeg nivoa, ali istovremeno sa više elemenata nižeg hijerarhijskog nivoa.
Na najvišem nivou grafa nalazi se jedan elemenat koji ima posebnu ulogu i predstavlja korijen te
strukture. On nije povezan ni sa jednim elementom višeg nivoa te strukture. Elemente koji nisu
povezani ni sa jednim elementom na nižem nivou, nazivamo listovima strukture.

Mrežni model (definisan prema CODASYL specifikaciji) organizuje podatke upotrebom dvije
fundamentalne konstrukcije, nazvane zapisi i skupovi. Zapisi sadrže polja (koja mogu biti
organizovana hijerarhijski kao u COBOL-u). Skupovi (ne treba se zabuniti s matematičkim skupovima)
definišu odnose "jednog naprama svima" između zapisa: jedan vlasnik, mnogo članova. Zapis može
biti i vlasnik i član u bilo kojem broju skupova. Operacije mrežnog modela navigacijske su u stilu da:
program održava tekući položaj i upravlja od jednog do drugog zapisa slijedeći odnose u kojima
sudjeluje zapis. Zapisi mogu takođe biti smješteni dobavljanjem ključnih vrijednosti. Iako nije bitno
obilježje modela, mrežna baza podataka uopšteno provodi skup odnosa sredstvima pokazivača koji
direktno adresiraju mjesto zapisa na disku. To daje izvrsne povratne performanse na račun operacija
poput učitavanja i reorganizacije baze podataka.
RELACIONI MODEL BAZA PODATAKA

Relaciona baza podataka se sastoji od serije dvodimenzionalnih tabela. Termin "relaciona baza
podataka" dolazi od činjenice da ona koristi relaciju (odnos) umjesto datoteke.

Relacija je tabela sastavljena od slogova. Unutar jedne tabele može postojati samo jedna vrsta
slogova ili entiteta. Relacione tabele pokazuju logičke, ne fizičke odnose, a zanemaruje redoslijed
podataka odnosno slogova uključenih u relaciju. Relacioni model odvaja bazu podataka od
operativnog sistema, kao i od aplikacije. Kada se da zahtjev za informacijama, sistem napravi tabelu
koja sadrži te informacije. Standardni programski jezik za izražavanje pristupa podacima i manipulaciju
sa tabelama u relacionoj bazi podataka se naziva SQL (Structured Query Language). U ovom jeziku,
pitanja na jednostavnom engleskom jeziku se automatski prevode u SQL. U ovom slučaju softverski
program, koji se zove Natural language (prirodni jezik) i koji dozvoljava upite u ograničenoj formi
prirodnog jezika, analizira korisnikov upit, prevodi ga u upit na SQL, prenosi SQL zahtjev DBMS-u i
daje na displeju podatke korisniku. Relacioni model je smišljen početkom osamdesetih godina od
strane Ted Codda, zaposlenika IBM korporacije i trenutno je najraširenija paradigma za razvoj
podataka. Pravila dr Codd-a za relacioni model baze podataka su:

1. Relacioni DBMS mora biti u mogućnosti da manipuliše u potpunosti bazama podataka kroz
svoje relacione mogućnosti.
2. Pravila o informacijama - sve informacije u relacionoj bazi podataka (uključujući imena tabele i
kolona) predstavljaju se eksplicitno kao vrijednosti u tabeli.
3. Obezbjeđivanje pristupa svakoj vrijednosti u relacionoj bazi podataka može se pristupiti
upotrebom kombinacije imena tabele, vrijednosti primarnog ključa i imena kolone.
4. Sistemska podrška nedefinisanim vrijednostima - DBMS obezbjeđuje sistemsku podršku u
radu sa nedefinisanim veličinama (nepoznati ili nepromijenjivi tipovi podataka), koji se razlikuju
od predefinisanih vrijednosti i nezavisni su od bilo kog domena.
5. Aktivan, uvijek dostupan relacioni katalog - opis baze podataka i njenog sadržaja je
predstavljen na logičkom nivou u vidu tabela i može se pretraživati pomoću jezika baze
podataka.
6. Razumljiv podjezik podataka - bar jedan podržani jezik mora da ima dobro definisanu sintaksu
i da bude razumljiv. Mora da podržava definiciju podataka, manipulisanje podacima, pravila
integriteta, autorizaciju i transakcije.
7. Pravilo za ažuriranje pogleda - svi pogledi koji se teoretski mogu ažurirati, ažuriraju se kroz
sistem.
8. Unošenje, ažuriranje i uklpapanje podataka na nivou skupova - DBMS za dobivanje podataka
na nivou skupova i za unošenja, ažuriranje i uklanjanje.
9. Fizička nezavisnost podataka - mijenjanje fizičkog zapisa strukture ili metoda pristupa ne utiče
na aplikacije i ad-hoc programe.
10. Logička nezavisnost podataka - koliko god je moguće, promjena strukture tabela ne utiče na
aplikacije i ad-hoc programe.
11. Nezavisnost integriteta - jezik baze podataka mora da obezbjedi način za definisanje pravila
integriteta. Ona moraju biti sačuvana u katalogu, koji je uvijek dostupan i ne mogu se
predvidjeti.
12. Nezavisnost od distribucije - prva ili ponovna distribucija podataka ne utiče na zahtjeve
aplikacija i ad-hoc programe.
13. Zaštita podataka - ne smije postojati mogućnost zaobilaženja pravila integriteta definisanih
jezikom baza podataka upotrebom jezika koji rade na niskom nivou.

Organizacija podataka je od veoma velikog značaja kada želimo raditi sa bazom podataka. Jedan od
ključnih aspekata, dobrog kreiranja baze podataka jeste kako će podaci biti organizovani u bazi
podataka. Da bi postigli dobro kreiranu bazu podataka, podatke bi trebalo organizovati tako da su lako
dostupni i da omogućavaju lako održavanje baze podataka.

Treba odrediti koji će podaci ulaziti u bazu podataka, zatim koji će se podaci smjestiti u određene
tabele među kojima će biti uspostavljen odnos, te kakav je odnos među tim podacima. Potrebno je
smanjiti mogućnost koliko je moguće da se isti podatak zapisuje više puta (redundacija), jer
višestrukim zapisivanjem nastaju problemi očuvanja stvarne, jedinstvene vrijednosti svih podataka pri
ažuriranju. To utiče i na pouzdanost informacija koje se dobiju iz tih podataka. Potrebno je upravljati
smještanjem podataka i čuvanjem tih podataka od namjernih i nenamjernih uništenja tj. da ne dođe do
gubitka integriteta podataka. Neke podatke treba zaštititi od toga da ih neovlašćeni korisnici ne
mijenjaju što se zove tajnost ili privatnost podataka.
Kreiranje baze podataka

U svakodnevnom životu da bi počeli nešto praviti, kreirati potrebno je da unaprijed odredimo dizajn,
nacrt. Ako hoćemo da pripremimo neko jelo, potreban nam je recept, ako hoćemo graditi kuću
potreban nam je nacrt kako će izgledati i sl. Pri kreiranju baze podataka, takođe prethodno trebamo
organizovati podatke, odrediti ciljeve. Ciljevi dizajniranja/kreiranja su:

 eliminisati suvišne podatke,


 omogućiti brzo pronalaženje pojedinačni podataka i
 sačuvati jednostavno održavanje baze podatakai

Ključne aktivnosti pri kreiranju baze podataka su:

 Modeliranje aplikacije;
 Definisanje podataka neophodnih za aplikaciju;
 Organizovanje podataka u tabelama;
 Uspostavljanje međusobnih veza između tabela;
 Uspostavljanje zahtjeva indeksiranja i vrednovanja podataka;
 Izrada i snimmanje svih potrebnih upita u vezi sa aplikacijama.

Modeliranje aplikacije se odnosi na postupak pri kojem definišemo zadatke koje aplikacija treba da
obavi. Bilo bi dobro da definisane zadatke specifikujemo u određeni dokument koji nam može pomoći
da budemo usredsređeni na zadatak našeg programa.

Prilikom organizovanja podataka u tabele možemo lako odrediti da li neki podatak pripada toj tabeli ili
ne. Npr. ako neki klub želi da prati informacije o svojim članovima i zaposlenima, uprava kluba će u
jednu tabelu staviti i zaposlene i članove. Obe grupe zahtjevaju informaciju o imenu, adresi,
telefonskom broju, dok zaposleni zhtjevaju i informacije o broju socijalnog osiguranja, visini plate i sl.

IME I BROJ
ADRESA ZAPOSLENOST PLATA ZANIMANJE
PREZIME TELEFONA

Milan Milić Mllići 21 432-188 Zaposlen 1000 Direktor

Božo
Pećani 4a 653-221 Zaposlen 400 Konobar
Božić
Zmajeva
Pero Perić 404-111 Nezaposlen
13
Marko Brzi put
389-535 Zaposlen 300 Čistačica
Marković 19
Ivan
Novi put 5 301-908 Nezaposlen
Ivanić
Dobojska
Jovo Jović Nezaposlen
67
Nenad
Kulska 26 314-405 Zaposlen 650 Menadžer
Nenadić

Vidimo da ukoliko ih stavimo u jednu tabelu, mnoga polja će ostati nepopunjena što će rezultovati
velikim gubitkom prostora. Znači, ako unošenje podataka dovede do pojave praznog prostora u
mnogim poljima, podatak treba smjestiti u drugu tabelu.

Pod normalizovanjem podataka podrazumijeva se eliminacija suvišnih podataka iz baze podataka.


Rezultat normalizovanja podataka je da se svaki podatak u bazi pojavljuje samo jedanput. Ako se
podaci ponavljaju više puta gubimo više prostora i ako poslije dođe do nekih izmjena moramo ponovo
unositi tu novu informaciju u sva polja koja se odnose na tu informaciju. Ali ako napravimo više tabela
gdje se svaki podatak pojavljuje samo jedanput i mi ćemo prilikom izmjena, novu informaciju upisivati
samo jedanput.

Drugi način da se podaci normalizuju jeste da se formira tzv. tabela dijete. Tabela dijete je tabela u
kojoj svi unijeti podaci dijele zajedničku informaciju koja je smještena u nekoj drugoj tabeli. Ako
uzmemo za primjer neku porodicu gdje su kod svih ista prezimena, ista adresa, isti broj telefona, a
različita imena. Njihove zajedničke podatke stavimo u jednu tabelu, a imena u drugu. Tabela koja
sadrži imena članova je tabela dijete. Tabela pretraživanja je još jedan pristup smještaju informacija s
ciljem sprečavanja pojave suvišnih informacija i povećanje tačnosti unošenja podataka. Ona se obično
koristi za smještaj opštevažećih ulaznih podataka. Kada neko u toku aplikacije unese takvu oznaku,
program provjerava u odgovarajućoj tabeli da li ta oznaka stvarno postoji. Kada normalizujemo
podatke, međusobno povezane informacije obično smještamo u nekoliko tabela. Međutim, kada je
potrebno da pristupimo podacima želimo da vidimo informacije iz svih tabela na jednom mjestu. Da
bismo to postigli moramo formirati skupove zapisa koji objedinjuju međusobno povezane informacije iz
nekoliko tabela. Taj skup zapisa se formira upotrebom SQL naredbe u kojoj navodimo željena polja,
lokacije polja i odnos između tabela i te naredbe možemo smjestiti kao upit u bazu podataka.
Upotreba upita ima nekoliko prednosti: premještanje aplikacije u server okruženje je jednostavnije,
unošenje izmjena u SQL naredbu je jednostavnije, SQL naredbu možemo lakše koristiti na više mjesta
u programu ili u više programa. Ovi upiti rade brže od upita koji se izrađuju zadavanjem naredbe
programa koda.

Dobro kreirana baza podataka omogućava:

 minimalno vrijeme potrebno za pronalaženje zapisa,


 smještanje podataka na najefikasniji način tako da baza ne postane suviše velika,
 najjednostavnije ažuriranje podataka,
 zahvaljujući svojoj fleksibilnosti uključivanje novih funkcija koje bi se od programa mogle
zahtjevati…
Pristupi bazama podataka

SQL omogućava puni pristup podacima u relacionim bazama podataka (kao što su:Oracle, SQL
Server, Acces, i dr.) tako što korisnik opiše podatke koje želi da vidi. SQL omogućava i definisanje i
modifikaciju izgleda tabela unutar baze podataka. Niti jedna operacija na bazama podataka, izvršena
direktno iz DBMS-a ili preko korisničke aplikacije, ne bi mogla biti izvršena bez direktne ili indirektne
upotrebe SQL jezika. Često, sam SQL nije dovoljan ukoliko je potrebno izvršiti neki upit u tačno
određeno vrijeme ili ga ponoviti nekoliko puta. Zbog toga, svaki DBMS pored SQL podržava bar još
jedan programski jezik pomoću kojeg se mogu izvršiti kompleksne operacije. Dakle, postoje još neki
programski jezici (sredstva) za pristup podacima koji se nazivaju Database API, a to su: ODBC, OLE
DB, JDBC, DAO, ADO…

ODBC – pomoću njega programeri mogu raditi sa tabelarnim podacima, kao što su SQL baze
podataka ili sa multidimenzionalnim podacima, kao što je OLAP kocke. Aplikacije za upravljanje
bazama podataka pozivaju funkcije u OBDC-u, a ODBC putem svojih drajvera za baze podataka,
aplikaciji vraća podatke iz baze.

OLE DB – se pojavio kao odgovor problemu pristupanja komleksnije organizacije podataka , kao što
su tekst fajlovi, e-mail sistemi i dr. To je nova verzija ODBC-a. OLE DB nadograđuje ODBC tako što
na jednako uniforman način na koji to radi ODBC sa relacionim bazama podataka, omogućava pristup
heterogenim izvorima podataka i vrši njihovu prividnu homogenizaciju.

JDBC – je ekvivalent ODBC tehnologije namijenjen upotrebi prilikom razvoja aplikacija u Java
programskom jeziku.

DAO – se javlja kao rješenje u pravljenju objektnog modela za pristup bazi podataka koji sprečava da
dođe do eventualnih grešaka pri programiranju ODBC, OLE DB i JDBC. On je sastavni dio Visual
Basica. Služi za pristup MS Access bazama podataka. DAO takođe omogućava pristup ODBC
izvorima podataka i tu leži i njegov najveći nedostatak. Pošto se oslanja na Access, prilikom pristupa
ODBC bazama podataka sve naredbe za bazu podataka i svi podaci iz nje moraju proći kroz ovaj
dodatni sloj, što može znatno ugroziti performanse aplikacije.

ADO – nova tehnologija iz Mikrosofta čiji je cilj da zamijeni DAO kao standardni objektni model za
pristup bazama podataka.
Sistemi za upravljanje bazom podataka

DBMS (Data Base Menagment System) - sistem za upravljanje bazom podataka. To je softversko –
hardverski paket koji omogućava da baza podataka bude lako dostupna svim korisnicima. Softverski
dio DBMS, koji neki proizvođači zovu rukovodilac bazom, služi kao veza (interfejs) između korisnika i
baze podataka. On obezbjeđuje softverske alate potrebne za kreiranje, primjenu, pristupanje i
ažuriranje baze podataka. On takođe upravlja ulazno-izlaznim operacijama, a na većim sistemima vodi
računa o tajnosti i problemima istovremenih korisnika. Ukratko dobro projektovan DBMS će obezbjediti
softver koji omogućava korisniku da lako komunicira sa bazom podataka. DBMS omogućava
nezavisnost podataka što znači da se aplikativni program može mijenjati bez uticaja na memorisane
podatke. Sa nezavisnošću podataka promjene se mogu dešavati na nekim podacima bez uticaja na
druge. Rječnik podataka (Data Dictionary) se ugrađuje u sistem upravljanja bazom podataka kroz
shemu (bazu podataka) i podshemu (dio baze podataka koju program koristi). DBMS može biti
zasnovan na jednom od tri specifična modela podataka što opredjeljuje strukturiranje dizajna i način
na koji se mogu reprezentovati odnosi između entiteta. Ti modeli su hijerarhijski, mrežni I relacioni
model podataka.

SQL Server predstavlja prizvod koji u sebi ujedinjuje snagu i fleksibilnost velikih baza podataka, uz
istovremenu lakoću administracije kako smo već navikli u Windows-ima. Nudi mogućnost prenosa
baze podataka sa jednog na više fizičkih servera, koji se sa aspekta korisnika ponašaju kao jedan.
SQL Server dozvoljava korisniku da upite postavlja koristeći obični engleski jezik. SQL Server dolazi u
pet različitih verzija, tako da će svaki korisnik bez obzira na veličinu baze koje ima, naći odgovarajući
server za svoje potrebe. SQL Server je daleko najbrža i najpouzdanija baza podataka, ali još uvijek
ima puno posla da bi se dokazao na enterprise tržištu.

MySQL se nikakvom cijenom i prihvatljivim performansama nametnuo kao odlično rješenje za male ili
srednje web sajtove bez obzira rade li oni na Linuxu ili Windows-ima. Ukoliko imamo sajt koji će
istovremeno mijenjati veliki broj korisnika, MySQL se ponovo nameće kao bolje rješenje. Ali nedostaci
su mu što ne podržava tzv. stored procedure, što može nedostajati prilikom razvoja velikih projekata.
Pored toga ne podržava podupite (subqueries), što je prije svega praktičan problem obzirom da se
većina takvih upita može prepisati na drugačiji način. Podrška za foreign (strane) ključeve postoji na
transparentnom nivou odnosno samo da bi se zadovoljila sintaksna kompatibilnost sa drugim SQL
implementacijama, pa možemo reći da foreign ključevi u MySQL-u zapravo ni ne postoje.

FoxPro već dugo postoji na svjetskom tržištu koji obuhvata bazu podataka. Ovaj softver tokom svog
ukupnog postojanja nikad nije bio zamišljen da obuhvata i upravlja složenim i podacima pretrpanim
bazama podataka. I u ovoj verziji pokazuje se kao za poboljšanja koja se odnose na pojačanu
komunikacionu i Internet funkcionalnost, Wizard za konstrukciju nove baze sa unaprijed definisanom
svrhom. Zahtjeva stotinjak Mb prostora za aplikaciju i još pedesetak za smještanje instalacije osnova
helpova. Slično kao kod ostalih i ovdje je projekat izdjeljen na zasebne oblasti (podatke, dokumente,
procedure koda i ostale elemente), koje svaka za sebe sadrži istovrsne elemente buduće aplikacije.
FoxPro ima svoj skriptni jezik.

MS Access je sastavni dio MS Office paketa i u potpunosti je integrisan sa ostatkom paketa. Osnovne
osobine koji čine Access onim što jeste su:

 Potpuna podrška za SQL Server bazu podataka.


 Access posjeduje integrisanu podršku za povezivanje ili za slično korišćenje SQL Server
formata baze podataka. Moguće je pratiti ovakve baze, a kasnije ih prebaciti na Server, ali i
koristiti one koje su već smještene na Server.
 Potpuna, dvosmjerna u program integrisana podrška za XML.
 Podrška za uvoz XML pri čemu se odmah vidi je li moguće izbjeći ogromni posao prilikom
pravljenja neke baze.

Odnedavno je prisutan i Data Access Page Designer koji omogućava pravljenje ASP stranica za
pristup bazi podataka na isti način na koji kreiramo i forme. Access je izvanredan izbor za vođenje
malih i srednjih baza podataka (i do nekoliko desetina hiljada slogova po tabeli). Access je kralj
desktop baza podataka.

Oracle zajedno sa SQL Serverom je baza podataka namijenjena za velike ustanove i korporacije gdje
se podaci ne mjere stotinama i hiljadama slogova već milionima; gdje od pouzdanosti baze podataka
zavisi opstanak kompanija ili sigurnost država. Oracle 9i je relaciona baza podataka koja pored baze
podataka uključuje i cijeli skup pomoćnih alata i aplikacija kao što su e-mail i web serveri. Najvažniju
novost u ovoj verziji predstavlja Real Application Clusters (RAC). Oracle predlaže klaster-ujedinjavanje
više manjih računara u jednu logičku cjelinu koja gledana spolja djeluje kao jedan veliki računar. Ovo
praktično znaći da koristeći RAC tehnologiju, kompanije više ne moraju ulagati u skupu opremu za
koju ne znaju da li će ikada biti upotrebljena u svom punom kapacitetu, već u slučaju potrebe za većim
kapacitetom obrade on dodaje nove jeftine mašine u klaster (kao što su obični PC serveri). Dodatna
prednost je poboljšana pouzdanost (reliability) ovakvog sistema, jer je do sada sistem zavisio od
jednog računara, dok sada u slučaju pada jednog ili više računara unutar klastera ostali računari
unutar tog klastera nastavljaju raditi. Standardno jako polje Oracle baze podataka oduvijek je bila
velika mogućnost programiranja unutar okruženja. Oracle baze podataka nisu namijenjene masovnom
tržištu.

OLAP - Online Analytical Processing je novijeg datuma. Jedno od glavnih pitanja u obradi podataka je
pitanje kako obrađivati sve veće i veće baze podataka koje sadrže sve kompleksnije podatke, ali bez
žrtvovanja vremena potrebnog za odziv. Baze podataka postaju sve kompleksnije - relacioni model
više nije dovoljan, jer je potrebno podatke sagledati iz više uglova istovremeno. Tu na scenu stupa
OLAP. OLAP omogućava korisniku da lako i selektivno pronađe i prikaže podatke iz više različitih
gledišta. OLAP podaci su smješteni u tzv. OLAP kocke-multidimenzionalne tabele, gdje se svako polje
smatra jednom od dimenzija tabele. Presjek ovih dimenzija daje odgovor na postavljeni upit. OLAP se
koristi za Data Mining odnosno za otkrivanje neočiglednih veza u podacima. Srce svakog OLAP
sistema je OLAP server, aplikacija koja sjedi između klijenta i DBMS-a i zna kako da transformiše
dvodimenzionalne, relacione tabele u multidimenzionalne OLAP tabele. Većina današnjih ozbiljnih
DBMS-ova, kao što su Oracle, SQL Server ili DB2 već imaju u sebi ugrađen OLAP server. OLAP
aplikacije imaju mnoštvo mogućih primjena. Suština OLAP-a je da su glavni konzumenti njegovih
informacija menadžeri, dakle, ljudi koji nemaju vremena da čekaju da im se tražene informacije
pripreme. Njima trebaju informacije onog trenutka kada im padne na pamet da im trebaju, a OLAP
nudi upravo to.
2.7. OBRADA PODATAKA

Postoji nekoliko oblika kompjuterske obrade podataka, odnosno sa korisnikovog stanovišta, više
načina racionalnog korišćenja kompjuterskog sistema. U savremenoj praksi klasifikuju se sljedeći
načini obrade podataka:

 serijska ili paketna obrada podataka,


 daljinska obrada podataka,
 obrada sa podjelom vremena,
 multiprogramska obrada,
 simultana obrada,
 obrada u stvarnom vremenu i
 distribuirana obrada podataka.
2.7.1. BATCH – SERIJSKA OBRADA
PODATAKA

Serijska ili paketna obarada (Batch processing) danas je klasičan način kompjuterske obrade
podataka. Princip obrade sastoji se u tome da se više programa sa svojim podacima prethodno
memoriše na nekoj spoljnoj memoriji, a zatim se vrši sukcesivno izvođenje programa tj. obrade po
pojedinim programima se vrše jedna za drugom automatski. Tek kada se završi kompletna obrada po
jednom programu slijedi obrada po drugom programu i tako redom.

Kod serijske obrade podataka jasno se razlikuju tri faze: ulaz, transformacija ili obrada podataka u
kompjuteru i izlaz. Postoje dvije varijante serijske obrade podataka:

 serijska obrada podataka bez prioriteta i


 serijska obrada podataka sa prioritetima.

Serijska obrada bez prioriteta predstavlja najjednostavniju varijantu obrade, gdje se programi izvode
prema redoslijedu kako su smješteni u memoriju tj. kako su u nju pristigli. Rezultati obrade dobiveni
svakim programom memorišu se na magnetni medij, da bi se poslije završene obrade uputili na izlaz.
Kako se obrada u centralnoj jedinici izvodi mnogo brže nego ulazne i izlazne operacije, jasno je da je
centralna jedinica slabo iskorišćena, jer je praktično nezaposlena dok rade ulazne ili izlazne jedinice.
Sve to rezultuje dosta sporom obradom podataka.

Serijska obrada sa prioritetima postiže određena ubrzanja. Ovaj metod paketne obrade daje prioritet
jednom programu u odnosu na ostale programe. Program sa prioritetom može u svakom trenutku da
prekine izvršavanje drugog programa. Obično se u prvoj instrukciji programa označi prioritet. Prioritet
se utvrđuje prema vremenu potrebnom za obradu programa, prema tipu programa, prema zahtjevima
korisnika obrade itd.

Operativni sistem kompjuterskog sistema u zavisnosti od oznake prioriteta odlučuje kojim redoslijedom
će se obrađivati programi koji čekaju izvršenje. Tako se stvaraju uslovi da se do važnijih rezultata
obrade podataka dođe prije. Nedostaci i jedne i druge vrste paketne obrade podataka su:

 relativno vremenski duga obrada,


 slaba iskorišćenost centralne jedinice kompjutera i
 udaljenost mjesta obrade podataka od mjesta gdje nastaju podaci i mjesta korisnika rezultata
obrade podataka.
2.7.2. TELEPROCESSING –
DALJINSKA OBRADA
PODATAKA

Ulazne i izlazne transakcije podataka mogu se vršiti u mjestu udaljenom od centralne jedinice
kompjutera. Upravo ovaj cilj približavanja nastanka podataka i rezultata obrade podataka korisnicima
rezultovao je pojavom daljinske obrade podataka (Teleprocessing).

Ulazno/izlazne jedinice koje su udaljene od centralne jedinice nazivamo terminalima. Preko njih se
šalju programi i podaci u centralni kompjuter na obradu i takođe primaju rezultati obrade.

Terminali su sa centralnom jedinicom povezani posebnim kablovima ili telefonskim linijama. Drugi
način povezivanja se češće koristi, jer omogućuje instalisanje terminala na veliku udaljenost od
centralne jedinice. Kako telefonska linija nije adekvatna za prenos podataka u digitalnom obliku, već u
analognom obliku tj. u promjenama jačine struje, koje odgovaraju zvučnim talasima, uz svaki terminal
postoji modem (skraćenica za Modulation/Demodulation).

Modem je uređaj koji pretvara jednu vrstu električnih signala u drugu vrstu. Na mjestu predajnika, prije
slanja na liniju, potrebno je digitalni signal pretvoriti u odgovarajući analogni i pojačati ga. To se
postiže modulacijom nosećeg analognog signala digitalnim signalom pomoću modulatora. Na kraju
linije, u prijemniku, radi se suprotno, prispjeli analogni signal sa linije demoduliše se pomoću
demodulatora, u cilju izdvajanja prvobitnog digitalnog signala. Kod dvosmjerne veze za daljinsku
obradu podataka na oba kraja telefonske linije potrebni su modulator i demodulator. Oni su zajedno
smješteni u jednom uređaju koji se naziva modem.

Postoje različite vrste modema i oni se međusobno razlikuju prema vrsti modulacije, brzini prenosa,
načinu prenosa (asinhroni / sinhroni) i simultanosti prenosa (dupleks / poludupleks). U principu, dva
modema preko telekomunikacione linije mogu da komuniciraju samo ako su međusobno kompatibilni.
U udaljenoj obradi podataka telefonske linije mogu biti:

 birane i
 iznajmljene.

Birane linije (Public Line) u udaljenoj obradi podataka funkcionišu tako da svaki terminal i centralni
kompjuter imaju svoj telefonski priključak i pozivni broj. Kada se sa nekog terminala želi uspostaviti
veza sa centralnim kompjuterom, bira se njegov pozivni broj i ako je slobodan tj. ako u tom momentu
ni jedan drugi terminal nije aktivan, veza se uspostavlja. Ako je isti broj zauzet, poslije nekog vremena
ponavlja se pokušaj. Ovaj način komunikacije je racionalan jer se koristi samo jedan centralni modem.
Međutim, problem nastaje kada se u komunikaciji pojavljuje veći broj terminala.

Tada je efikasniji način uspostavljanja veze preko iznajmljenih telefonskih linija (Leasing Line). U tom
slučaju svaki terminal ima svoj telefonski broj i modem, a centralni kompjuter ima onoliko telefonskih
brojeva i modema koliko je terminala.

Osnovna prednost daljinske obrade podataka u odnosu na centralizovanu obradu podataka je u


mogućnosti pristupa kompjuteru od strane udaljenih mjesta.
2.7.3. TIME SHARING - OBRADA PODATAKA SA PODJELOM
VREMENA

Pojavom daljinske obrade podataka eliminisan je jedan od nedostataka centralne obrade podataka tj.
centralni kompjuter je približen udaljenim korisnicima. Međutim, drugi problem, slabe vremenske
iskorišćenosti centralne jedinice, zbog sporosti ulazno/izlaznih jedinica, nije bio riješen.

Tek primjenom metode podjele vremena (Time Sharing) postiže se bolja vremenska iskorišćenost
centralne jedinice. Sada operativni sistem kompjutera koordinira rad tako da se obrada skupa
programa izvodi u ciklusima. Vrijeme jednog ciklusa obrade dijeli se na sve programe koji čekaju
izvršenje. To praktično znači da se svaki program izvodi u određenom vremenskom segmentu ciklusa
obrade. Za to vrijeme izvršava se određeni broj instrukcija konkretnog programa. Nakon djelimične
obrade programa u njemu raspoloživom vremenu kompjuter prekida rad sa tim programom, pamti
mjesto prekida i stavlja program u stanje čekanja i prelazi na obradu sledećeg programa. Taj postupak
se nastavlja sve do kraja ciklusa obrade. Poslije jednoga ciklusa slijedi drugi i tako sve do završetka
obrade.

Kako obrada programa iz skupa programa ne traje jednako dugo, operativni sistem koordinira ovu
proceduru, tako da isključuje obrađene programe, a uključuje u obradu nove programe. Na taj način
se skraćuje vrijeme obrade podataka datog skupa programa.

Optimalan stepen iskorišćenosti raspoloživog vremena centralne jedinice kompjutera postiže se


priključivanjem većeg broja ulazno/izlaznih jedinica u sistem. Na taj način se eliminiše zagušenje
ulazno/izlaznih kanala.

Metoda obrade podataka sa podjelom vremena mnogo se primjenjuje u savremenim kompjuterima,


posebno u kombinaciji sa drugim načinima obrade podataka.
2.7.4. MULTIPROGRAMMING –
MULTIPROGRAMSKA OBRADA
PODATAKA

Multiprogramska obrada (Multiprogramming) predstavlja takav način obrade podataka kojim se postiže
optimalna iskorišćenost centralne jedinice. Kod multiprogramiranja više se programa u nekom
intervalu izvršava paralelno i prividno istovremeno.

To znači da u glavnoj memoriji kompjutera treba da se nalazi više programa istovremeno. Ovo se
može realizovati na više načina u zavisnosti od toga kako se vrši raspodjela sistemskih resursa
(vrijeme rada procesora, memorijski prostor, periferne jedinice i zajednički programi) pojedinim
korisnicima kompjuterskog sistema. Planiranje dodjele sistemskih resursa može se vršiti statički
(unaprijed se planira) i dinamički tj. hardverski, ili pomoću operativnog sistema.

U multiprogramskom režimu rada sa dinamičkom dodjelom resursa procesor mora da bude stalno
angažovan tj. čim dođe do prekida izvršavanja jednog programa, upravljanje se prenosi na drugi
program. Prekid izvršavanja programa postiže se pomoću tzv. interrapt signala iz intervalnog tajmera
ili iz neke periferne jedinice.

Multiprogramska obrada podataka je efikasnija od paketne i daljinsko paketne obrade. To je faktički


najbolja varijanta paketne obrade podataka, koja je relativno složena i skupa zbog velikog
angažovanja operativnog sistema i njegovog zauzimanja glavne memorije procesora. Međutim, s
obzirom na brzinu obrade podataka i propusne moći kompjuterskog sistema, visoka cijena
multiprogramskog režima rada je uglavnom opravdana.
2.7.5. MULTIPROCESSING –
SIMULTANA OBRADA
PODATAKA

Simultana obrada podataka (Multiprocessing), u odnosu na dosad opisane režime rada koji su
egzistirali pod pretpostavkom monoprocesorskog kompjuterskog sistema, predstavlja novi kvalitet.
Simultana obrada podataka je istovremeno izvršavanje jednog većeg programa pomoću dva ili više
procesora koji imaju istovremeni pristup zajedničkoj glavnoj memoriji gdje se nalazi smješten program
koji se izvršava. Svi procesori su pod kontrolom jedne zajedničke upravljačke jedinice i veoma
složenog operativnog sistema. Obrada podataka izvršava se ovako:

 Određeni skup programa zajedno sa odgovarajućim skupom podataka unosi se u eksternu


memoriju kompjutera.
 Operativni sistem i zajednička upravljačka jedinica pozivaju pojedine programe i upućuju ih
pojedinim procesorima na obradu.
 Svaki procesor obavlja konkretnu obradu podataka pomoću programa koji mu je dodijeljen.
On obradu obavlja na način paketne obrade podataka.
 Nakon završene obrade podataka zajednička upravljačka jedinica upućuje rezultate obrade na
izlazne uređaje.

Na ovaj način ukupno vrijeme obrade skupa programa bitno se skraćuje, iz jednostavnog razloga što
se istovremeno ili simultano obrađuje nekoliko programa. Ukupno skraćenje obrade skupa programa
proporcionalno je broju procesora pomoću kojih se obavlja obrada podataka. Međutim, vrijeme obrade
pojedinačnog programa čak se i povećava zbog dodatnih poslova koordinacije programa. Glavna
memorija se između procesora i programa raspoređuje na dva načina:

 kroz segmentne stalne (fiksne) veličine i


 kroz segmentne promjenljive (varijabilne) veličine.

Raspoređivanje glavne memorije kroz segmente stalne veličine određuje se unaprijed. Aplikativni
programi koji se obrađuju, sa svojom strukturom i atributima, ne utiču na podjelu glavne memorije.
Uzmimo npr. glavnu memoriju kompjutera koja ima kapacitet 1024 KB i unaprijed je podijeljena na
osam segmenata po 128 KB (8 x 128 KB = 1024 KB). Ako imamo dva procesora, to znači da oni
istovremeno mogu obrađivati osam programa. Svakom tom programu stoji na raspolaganju 128 KB
memorije. Tako se postižu vremenske uštede paketne obrade podataka. Međutim, ovaj način
rasporeda glavne memorije ima određene nedostatke. Tako npr. ako se izvodi neki program koji traži
više od jednog segmenta (128 KB) memorije operativni sistem mu dodjeljuje dva ili više segmenata
memorije, a preostala memorija se dijeli po pravilu u segmente od 128 KB i dodjeljuje ostalim
programima. Tako se smanjuje broj aktivnih programa koji se istovremeno obrađuju. Kada je potrebno
obraditi skup programa kojima je potrebno manje od 128 KB glavne memorije, onda dio kapaciteta
memorije ostaje neiskorišćen. To je veliki nedostatak sa stanovišta iskorišćenosti kapaciteta
kompjutera i brzine obrade podataka. Raspoređivanje glavne memorije kroz segmente promjenljive
veličine eliminiše nedostatke navedene podjele glavne memorije na fiksne segmente. Operativni
sistem kompjutera prethodno utvrđuje strukturu i atribute aplikativnih programa koji treba da se izvrše.
Na osnovu toga procjenjuje se koliko je za svaki program potrebno memorijskog prostora, a zatim se
obavlja raspored segmenata memorije određenih veličina na pojedine programe. Tako se u
navedenom primjeru kapacitet glavne memorije od 1024 KB može podijeliti između osam programa
redom: 64 KB, 128 KB, 250 KB, 12 KB, 120 KB, 300 KB, 50 KB, 100 KB memorije. Kapacitet glavne
memorije se sada u potpunosti koristi i mnogo racionalnije se obrađuje ovih osam programa. Kako za
program u različitim fazama obrade podataka nije uvijek potreban jednak dio kapaciteta glavne
memorije, postoje sistemi permanentnog upravljanja rasporeda memorijskog prostora na procesore i
programe, zavisno od trenutnih potreba svakog programa za memorijskim prostorom. Tako se
povećavaju performanse simultane obrade podataka.
2.7.6. REAL TIME – OBRADA
PODATAKA U STVARNOM
VREMENU

Obrada u stvarnom vremenu (real-time processing) zasniva se na kvalitetno novom pristupu


kompjuterske obrade podataka. Nastala je kao potreba da se vrijeme između prijema podataka i
izdavanja rezultata minimizuje. Vrijeme odgovora kod svih programa ne mora da bude jednako. Tako
npr. kod kompjuterski upravljanih sistema za radarsko pretraživanje zahtijevano vrijeme odgovora je u
rangu nekoliko milisekundi, dok je kod upravljanja zalihama zadovoljavajuće vrijeme odgovora mnogo
duže.

Prema jednoj definiciji sistem koji radi u realnom vremenu je sistem kod koga je vrijeme odgovora ili
reakcije na određene ulazne podatke dovoljno kratko tako da izlazni rezultat može da utiče na ulaz.
Programi za obradu podataka u stvarnom vremenu imaju najveći prioritet. Oni mogu prekidati
izvođenje drugih programa u svakom momentu kad je to potrebno. U osnovi postoje dva tipa obrade
podataka u stvarnom vremenu:

 upitna obrada i
 obrada transakcija.

Upitna obrada (query processing) podrazumijeva da se od kompjutera traži određena informacija, koja
se nalazi u skupu informacija. Ovaj skup informacija nastao je prethodnim paketnim obradama. Pravilo
je da korisnik od kompjutera mora dobiti tačnu i brzu informaciju. Postoje jednostavni i složeni upiti.
Jednostavnim upitima traže se oni memorisani podaci koji imaju samo jedno određeno obilježje.
Složeni upiti traže informacije koje imaju dva ili više obilježja povezanih pravilima logičke algebre. Evo
nekoliko primjera jednostavnih i složenih upita:

Koja je najviša planina u Republici Srpskoj?

Ko je autor romana Sto godina samoće?

Kolika je zaliha nekog artikla?

Koje su planine u Republici Srpskoj više od 500 m i niže od 1000 m?

Ko je autor romana Gluvi barut i Orlovi rano lete?

Kojih zaliha stranog porijekla ima više od 1000 komada?

Obrada transakcija tretira transakciju kao složenu aritmetičko-logičku ili fizičku funkciju koju izvršava
kompjuter. Rezultati obrade povezani su sa izvršenjem određene transakcije. Svaka transakcija se
izvršava u određenom broju koraka (iteracija) obrade samo jednog podatka ili manjeg skupa podataka
međusobno povezanih pravilima logičke algebre. Primjeri transakcionih obrada su:

 Obračun ukupne vrijednosti artikala, koje kupi određeni kupac.


 Rezervacija mjesta u avionskom saobraćaju (ako ima slobodnih mjesta unose se podaci o
putniku u datoteku rezervacija).
 Zamijena redoslijeda riječi u nekom tekstu.
2.7.7. DISTRIBUIRANA OBRADA
PODATAKA

Sistem za kompjutersku obradu podataka mora se prilagoditi organizacionoj strukturi realnog sistema
čije potrebe u informacionom smislu treba da zadovolji. To znači da način obrade podataka mora biti
prilagođen deklarisanim tokovima podataka i informacija u realnom sistemu. Karakteristika realnih
sistema je da podaci nastaju na različitim mjestima, a i rezultati obrade tih podataka trebaju se
distribuirati na različita mjesta. Da bi se ti zahtjevi ostvarili, najefikasniji oblik je primjena distribuiranog
načina obrade podataka. Distribuirana obrada podataka zasniva se na dvije pretpostavke:

 Podaci su u sistemu distribuirani tj. oni nastaju, obrađuju se i stavljaju na raspolaganje


korisnicima na različitim lokacijama.
 Hardver sistema je distribuiran, što znači da su procesne jedinice kompjuterskog sistema
smještene na različitim mjestima i međusobno su povezane u jedinstvenu mrežu.

Distribuirana obrada podataka predstavlja decentralizovani koncept obrade podataka. Istovremeno


ona integriše sve aktivne komponente sistema za obradu podataka. Njena realizacija nije nimalo
jednostavna, zahtijeva prije svega visok tehnički nivo i ne male troškove. Savremena kompjuterska
tehnologija, kroz pojavu i široku primjenu personalnih kompjutera, kao i kroz drastičan pad cijena ove
kategorije kompjutera, stvorila je sve pretpostavke za ovaj način obrade podataka. Tako se danas
personalni kompjuteri sve više primjenjuju za specijalizovano izvršavanje manjeg broja sličnih obrada.
Distribuirana obrada podataka je skuplja od centralizovane ali u odnosu na nju ima mnoge prednosti
kao što su npr.:

 brže dobivanje rezultata obrade,


 sistem se lako može proširiti novim mikrokompjuterima i
 kvar jednog mikrokompjutera ne ometa rad ostalih, a poslovi sa njega se mogu uraditi na
susjednom mikrokompjuteru.

Sistemi za distribuiranu obradu podataka mogu biti uglavnom struktuirani kao:

 distribuirani sistemi sa zvjezdastom strukturom i


 distribuirani sistemi sa punom mrežnom strukturom.

Zvjezdasto struktuirani distribuirani sistem predstavlja donekle proširenje centralizovanog sistema .


Kod njega još uvijek postoji centralni kompjuter koji izvršava najsloženije obrade, a na njega je vezano
niz satelitskih mikrokompjutera koji izvršavaju specijalizovane obrade. Karakteristika ovog tipa
distribuirane obrade je da satelitski mikrokompjuteri međusobno mogu komunicirati samo preko
centralnog kompjutera. Znači, centralni kompjuter koordinira rad kompletnog sistema.

Distribuirani sistem sa punom mrežnom strukturom za razliku od zvjezdasto struktuiranog


distribuiranog sistema obuhvata niz ravnopravnih i specijalizovanih kompjutera, koji su povezani u
jedinstvenu mrežu. Ne postoji centralni kompjuter, svi su kompjuteri direktno povezani i mogu
međusobno direktno komunicirati. Korisnik preko perifernih jedinica bilo kojeg kompjutera zahtijeva
određenu obradu i ne razmišlja o tom koji je kompjuter specijalizovan za tu obradu. Sistem sam
aktivira odgovarajući kompjuter i ispostavlja korisniku rezultat obrade podataka. Distribuirani koncept
obrade je sve više prisutan u praksi, ali mu budućnost tek predstoji.

Posebna karakteristika nove kategorije kompjuterske opreme je njeno uvezivanje u jedinstvenu


kompjutersku mrežu. Kompjuterska mreža je složen kompjuterski sistem koji sadrži više pojedinačnih
kompjutera međusobno povezanih telekomunikacionim linijama. Pri tome svaki kompjuter autonomno
posjeduje svoju centralnu i periferne jedinice kao i svoj lokalni operativni sistem. Međusobno
komuniciranje kompjutera vrši se prema određenom protokolu. Protokoli za daljinski prenos podataka
su signali koji kompjuterima i terminalima u mreži daju uputstva kako da međusobno razmijene
informacije.

Kompjuterske mreže koje se prostiru na teritoriji jednog dijela grada ili su čak smještene u jednoj
poslovnoj zgradi nazivaju se lokalnim kompjuterskim mrežama (LAN - Local Area Netnjork). One
obično povezuju personalne kompjutere koji se na mrežu priključuju preko komunikacionog interfejsa
(adaptera), interfejs-kabla itd. Modem nije potreban jer zbog bliskog rastojanja (do 300 m) ne postoji
potreba za modulacijom kompjuterskih signala. U poslednje vrijeme prisutan je i pojam WAN - Wide
Area Network. To je lokalna kompjuterska mreža koja se prostire na nešto širem području od LAN
mreže, npr. na teritoriji jednog cijelog grada.

Posebno je interesantna tzv. svjetska mreža svih mreža, koja se naziva Internet. Internet je praktična
realizacija povezivanja stotina miliona kompjutera u jedinstvenu mrežu. To je informatička
infrastruktura, a ono što ga je učinilo toliko popularnim su sadržaji koji se na toj bazi grade. Tako npr.
može se otkucati i poslati tekst vlasniku nekog udaljenog kompjutera. Tekst se podijeli u pakete i onda
raznim putevima (preko desetine kompjutera) putuje do primaoca, gdje se nepogrešivo sklapa u tekst
identičan originalu. Takav preneseni tekst predstavlja sljedeću hijerarhijsku cjelinu u stepenastoj
strukturi Interneta. Ako je komunikacija dovoljno brza, pored teksta, mogu se prenositi i multimedijalne
strukture (zvukovi, slike i animacije). Veoma važan momenat razvoja Interneta bio je upravo prenos
multimedijalnih saržaja u vidu kombinacije teksta, slike i zvuka. Ovaj momenat je istovremeno označio
da Internet nije privilegija i potreba samo profesionalaca, već i ostalih struktura stanovništva.
3. HARDVER

Računar je dio elektronike koji je sposoban da, kada mu se da podatak isti obradi na unapred
definisan način i proizvede rezultat takve obrade. Pri tome je fundamentalan zahtjev da proces obrade
podataka bude ograničen u vremenu. Iz ovakve jednostavne definicije računara, logično slijedi da on
mora imati način da preuzme podatak, da ga negdje privremeno memoriše, da posjeduje u svojoj
memoriji operacije koje nad podatkom treba izvršiti kao i redoslijed njihovog izvršavanja, i na kraju
mora imati na da saopšti rezultat obrade. Ove komponente zapravo i čine osnovne karakteristike
svakog računara.

Računarski sistem je, zapravo, kombinacija računarskog hardvera i softvera. Računari, bilo


specijalizovani, bilo opšte namjene imaju zajedničku strukturu. Složenost pojedinih dijelova ove
strukture može varirati u zavisnosti od primjene računara, ali je ovakva osnovna struktura može uočiti
kod svih računara.

Povezanost elemenata koji funkcionišu u ovom okruženju ilustruje shema koja slijedi kao i svi elementi
u sastavu iste:

HARDVER SOFTVER

LAJFVER ORGVER

Slika 29Elementi računarskog sistema

Ova ilustracija predstavlja odnos odnosno korelacije unutar kompjuterskog sistema te zavisnost među
elementima. Tijesne veze omogućuju poznavanje i rad unutar cjelokupnog sistema.

Lajfver predstavlja ljudske resurse koji su uključeni u sistem. Bez inženjera za sistem, programera I
personala za tehničko održavanje mašina nebi ovih sistema niti bilo. Kadrovi specijalisti su zaduženi
za izgradnju I softvera I hardvera a i sami čine dio orgvera.

Orgver predstavlja organizacijsku komponentu koja se izgrađuje I prilagođava potrebi organizacije, za


koju se obrađuju podaci I zahtjeva, koji se stavljaju pred istu. U svim fazama izgradnje sistema,
projektovanja hardvera I softvera te upotrebe istih za obradu podataka, organizacija je ključna.
3.1. POJAM HARDVERA

Pod terminom hardver (hardware - čvrsta roba) podrazumijeva se tehnička ili materijalna komponenta
kompjuterskog sistema. To je u stvari fizička oprema koja čini kompjuterski sistem. Svi elementi
hardvera su povezani, a njihov rad je sinhronizovan.

Hardver se sastoji od složenih, funkcionalnih blokova koji predstavljaju njegove organe, jedinice ili
elemente. Izvršavanje procesa u računaru odvija se u stalnoj komunikaciji između pojedinih
elemenata. Osnovne funkcije koje treba da obave hardverske komponente su:

 ulazna funkcija,
 funkcija procesiranja ili obrade i
 izlazna funkcija.
 U elemente hardvera spadaju:
 upravljačka jedinica,
 aritmetičko-logička jedinica,
 glavna (centralna, operativna, unutrašnja) memorija,
 spoljašnja memorija,
 ulazne jedinice i
 izlazne jedinice.

Ovo su elementarni dijelovi hardvera međusobno povezani komunikacionim kanalom, što je


funkcionalni sinonim današnje zajedničke magistrale (adresna, upravljačka i magistrala podataka), kao
i brojnim interfejsima. Osnovni zadatak interfejsa je da obezbijedi: hardversku, softversku i
funkcionalnu povezanost centralne i ulazno - izlaznih jedinica. U suštini imamo dvije vrste interfejsa i
to:

 serijske interfejse, koji kodirane znakove prenose bit po bit i


 paralelne interfejse, koji kodirane znakove prenose paralelno, tj. istovremeno (bajt po bajt, ili
blok po blok).
Slika 30Hardver

Legenda
1. monitor
2. matična ploča
3. procesor
4. ATA
5. radna memorija
6. dodatne kartice
7. napojna jedinica
8. optički uređaji
9. hard disk
10. tastatura
11. miš
3.2. CENTRALNA JEDINICA

Upravljačka jedinica, aritmetičko-logička jedinica i glavna (radna, operativna) memorija čine centralnu
jedinicu, Upravljačka i aritmetičko-logička jedinica čine centralni procesor (CPU - Central Processing
Unit). Da ne bi bilo nikakvih pojmovnih nejasnoća savremeni naziv procesor ili centralni procesor nije
ništa drugo već zajedničko ime za upravljačku i aritmetičko - logičku jedinicu.

CPU obavlja kontrolnu funkciju rada računara. Ova kontrola je neophodna za korektno funkcionisanje
čitavog računara. Njome se obezbjeđuje da podaci u svakom trenutku budu raspoloživi onom dijelu
računara kojem su potrebni u toku obrade. Ako to nije slučaj tokom cijelog vremena obrade, rezultat
obrade će biti pogrešan. Pored ove kontrolne funkcije, CPU omogućava aritmetičke i logičke operacije
nad podacima.

16 ABus
IR R0
16
DISP DBus
...
8
PC R15
CBus
SP TEMP

X MAR

Y MDR(7:0)

jedinica za IRQ0:3
A B opsluživanje INTA0:3
prekida
ALU

rd
upravljaèka wr
komb. mreža
jedinica fc

PSW

Slika 31Shema procesora


3.2.1. UPRAVLJAČKA JEDINICA

Ova jedinica reguliše računarske operacije, interpretira i prenosi instrukcije sadržane u računarskim
programima, selektuje dijelove za glavnu memoriju, prenosi ih u instrukcijske registre u kontrolnoj
jedinici. Ona koordinira i upravlja radom pojedinih dijelova procesora i računara, generisanjem ili
prihvatanjem odgovarajućih kontrolno – upravljačkih signala. Ova jedinica omogućava normalan rad
procesora, operativne memorije i I/O uređaja. Ona takođe upravlja i redoslijedom izvršavanja
instrukcija te vrši adresiranje.

Upravljačka jedinica prema potrebama programa nalazi i učitava naredbe (i podatke) iz radne
memorije, te ih transformiše u aktivne procese u računalu (kao naprimjer naredba štampaču “piši”).

Upravljačka jedinica kontroliše i koordinira rad svih jedinica računarskog sistema.

Svoju funkciju obavlja izdavanjem odgovarajućih signala, koji nastaju na osnovi naredbi iz programa
koji se nalazi u radnoj memoriji i koji upravljačka jedinica čita tijekom izvođenja programa.

Glavni zadaci upravljačke jedinice su:

 upravlja čitanjem i upisom u radnu memoriju,


 upravlja razmjenom podataka između radne memorije i aritmetičko-logičke
 jedinice,
 upravlja radom aritmetičko-logičke jedinice,
 sinhronizira rad pojedinih jedinica računala.

Upravljačka jedinica, registri i radna memorija rade usklađeno prilikom izvođenja programa. Na
sljedećoj slici prikazane su veze između dijelova centralne jedinice.

Slika 32Operacije pod kontrolom upravljačke


jedinice
3.2.2. ARITMETIČKO-LOGIČKA
JEDINICA

Aritmetričko-logička jedinica, koja se takođe sastoji od logičkih kola I registara, ima za zadatak, kako
joj samo ime kaže, obradu osnovnih aritmetričkih operacija (+, -, x, /) te logičke, kao što su
upoređivanje brojeva, zaokruživanje, određivanje predznaka itd. Ovu jedinicu čine interne mreže
(registri I brojači) te kola (dekoderi i interni sat) koja su postavljena prema pravilima za internu
arhitekturu.

Slika 33Funkcija aritmetičko-logičke jedinice

Osnovna funkcija aritmetičko logičke jedinice jeste izvođenje aritmetičkih i logičkih operacija. Podaci
koje u ovom slučaju zovemo još i operandima, prije obrade dovode se iz registara ili direktno iz
memorije.

Rezultati se obično memorišu u nekom od registara. Aritmetičko logička jedinica izvodi četri osnovne
aritmetičke operacije: sabiranje, oduzimanje, množenje i dijeljenje, međutim sve ove operacije su
zapravo svedene na operaciju sabiranja. Takođe, obavlja i logičke operacije komparacije dva podatka
(operacije <,>,=). U zavisnosti od zahtjevane preciznosti ALU radi aritmetiku fiksnog ili pokretnog
zareza. Današnji procesori su bazirani na aritmetici kliznog (pokretnog) zareza.

Aritmetičko-logička jedinica obavlja računske i logičke operacije u zadacima koje obavlja računar.

Računske operacije se obavljaju s numeričkim podacima prema zahtjevima naredbe iz programa.


Aritmetičko-logička jedinica obavlja samo četiri osnovne računske operacije (sabiranje, oduzimanje,
množenje, dijeljenje). Za izvođenje složenijih matematičkih operacija (računanje trigonometrijskih ili
eksponencijalnih funkcija, određenog integrala itd.) postoje gotovi programi koji (numeričkom
analizom) izvode složenije zadatke na veliki broj navedenih osnovnih operacija.
Jedina logička operacija koju izvodi aritmetičko-logička jedinica je poređenje. Razlikujemo poređenje
numeričkih vrijednosti čiji je rezultat manji, jednako ili veće, te poređenje niza simbola čiji je rezultat:
isti ili različit.
3.2.3. MEMORIJA

Jedna od osnovnih osobina kompjutera je mogućnost memorisanja podataka i programa kao i


instrukcija na osnovu kojih će se izvršiti željene operacije sa podacima. Ova osobina realizuje se
putem unošenja podataka, odnosno instrukcija u glavnu memoriju koja se ponekad naziva “radna” ili
“operativna” memorija. U glavnoj memoriji nalaze se, prema tome, podaci (informacije) koji se
neposredno obraðuju,tj. koji su nam potrebni upravo u tom trenutku. Svi ostali podaci i instrukcije
nalaze se na eksternim spoljnim memorijama koje imaju vrlo velike kapacitete i još veće interne brzine
prenosa podataka do glavne memorije. Memorija predstavlja onaj dio računara gdje se fizički čuvaju
podaci i programi. U kompjuteru su podaci predstavljeni u binarnoj formi, npr. slovo B je binarni niz
10011000. Problem memorisanja praktično je problem zadržavanja nizova pozicija 0 i 1. Niz od 8
bitova naziva se 1 bajt (byte) i predstavlja najmanju adresibilnu jedinicu memorije, odnosno najmanju
jedinicu za upisivanje ili čitanje određenog sadržaja.

Za potrebe memorisanja podataka bitovi se mogu udružiti u veće cjeline ili nizove od 8, 16, 32 i 64
bita. Kao što smo vidjeli, niz od 8 bita naziva se bajt, niz od 16 bita poluriječ, niz od 32 bita riječ i niz
od 64 bita dvostruka riječ. Prema konstrukciji ovih nizova u memorijsku ćeliju razlikujemo:

 16 - bitne kompjutere (osnova je poluriječ),


 32 - bitne kompjutere (osnova je riječ) i
 64 - bitne kompjutere (osnova je dvostruka riječ).

Određenu riječ upisaćemo u memoriju tako što ćemo na odgovarajuća mjesta u memorijskoj ćeliji
postaviti binarne vrijednosti nule ili jedinice. Upisivanje nove riječi u memorijsku ćeliju proizvodi
prekrivanje stare riječi. Ako se čita riječ iz memorijske ćelije, onda se njen sadržaj ne mijenja.
Memorijske ćelije su urađene po određenoj proceduri i numerisane su. Na primjer, ako se vrijednost
promijenljive X čuva u trećoj memorijskoj ćeliji, onda kada pozivamo promjenljivu X, čitamo sadržaj
treće memorijske ćelije. Dakle, adresa promjenljive X je broj 3.

Prethodni model memorijske ćelije samo je njen ilustrativni prikaz, međutim on nije praktičan za realnu
upotrebu. U tu svrhu koriste se elektronske komponente (tranzistori, diode itd.) i na taj način izgrađene
memorije nazivaju se poluprovodničke memorije. Savremena elektronska i kompjuterska tehnologija
omogućila je da se izgrade takve memorije koje na minimalnom prostoru mogu pohraniti na hiljade
bitova informacija.

Danas su monoliti integrisanih elektronskih kola osnovni elementi za izgradnju glavne ili unutrašnje
memorije. Prednost je u ekonomskom kriterijumu, jer su troškovi memorisanja jednog bita na ovaj
način niži u odnosu na memorisanje u feritnim memorijama. Isto tako, činjenica je da cijena memorije
od 1970. godine konstantno pada za prosječno 35% godišnje i da se tom trendu ne vidi kraj. Sljedeća
prednost je ta da memorija od poluprovodničkih monolita zauzima manje od polovine prostora, koji bi
zauzimala ekvivalentna količina memorije izgrađene od feritnih jezgara. Takođe, poluprovodnička
memorija ima veću brzinu operacija.

Kako se u okolini provodnika kroz koji prolazi struja stvara magnetno polje, ova pojava je iskorišćena
za konstrukciju memorije na principu elektromagnetizma. Neposredno pored provodnika stavlja se
posebni fero-magnetni materijal u obliku kružnih prstenova, koji ima osobinu da čuva magnetno polje i
poslije prestanka protoka struje kroz provodnik. Ovako izgrađene memorije nazivaju se feritne
memorije i često se koriste kao glavne ili unutrašnje memorije kompjutera. Feritna jezgra u memoriji
organizovana su u formi matrice. Veličina feritnog jezgra je minijaturna (manja od glave čiode), a i
gustina zapisa je relativno mala. Feritno jezgro, u zavisnosti od smjera magnetnog polja, imitira
binarnu nulu ili jedinicu. Tako se čuva jedan bit informacije.

Spoljašnja memorija (magnetna traka, disk, disketa itd.) pravi se na principu elektromagnetnog zapisa.
Magnetne površine se pomoću odgovarajućih glava za pisanje polarizuju i tako se stvara mogućnost
za binarni zapis podataka, a glava za čitanje omogućuje čitanje tih zapisa. Spoljašnja memorija u
principu ima mnogo sporiji pristup podacima u odnosu na unutrašnju memoriju, ali je zato od nje
mnogo kapacitativnija.

Glavna ili unutrašnja memorija gradi se tako da bude dovoljno brza i kapacitativna za podatke koji se
neposredno obrađuju. Iz tih razloga ova memorija je dosta skuplja od spoljašnje memorije. Glavna
memorija organizovana je kao skup lokacija za memorisanje, pri čemu svaka lokacija ima svoju
adresu. Najčešći je slučaj da adresa predstavlja redni broj lokacije. U jednoj lokaciji može biti
memorisan jedan ili više znakova u zavisnosti od organizacije podataka i organizacije same glavne
memorije. U okviru te glavne memorije možemo razlikovati pet osnovnih područja:

 područje rezervisano za operativni sistem pomoću kojeg se upravlja radom računarskog


sistema;
 područje u kojem se nalaze instrukcije programa koji se trenutno izvršava;
 ulazno područje koje služi za prihvatanje i memorisanje podataka koji su rezultat obrade; ovi
podaci se zatim mogu memorisati na elemente periferne memorije ili prenositi na izlazne
uređaje računarskih sistema;
 radno područje u kojem se nalaze međurezultati i izlazni rezultati.

Ovakva podjela memorije nije fiksna već varijabilna i zavisi od zahtjeva programa u datom trenutku.

Kapacitet memorije se izražava kroz osnovnu jedinicu 1 K (kilo). To je tolika količina memorije u koju
se može pohraniti 210 riječi. Ako je dužina riječi 8 bita, kapacitet memorije se izražava u kilobajtima
(KB). Hijerarhija mjera kapaciteta memorije je sljedeća:

 1 KB (kilobajt) = 1024 bajta


 1 MB (megabajt) = 1024 KB
 1 GB (gigabajt) = 1024 MB
 1 TB (terabajt) = 1024 GB

Memorije uz procesor predstavljaju drugi ključni element, od kojeg bitno zavise ukupne performanse
računara. Smještanje u memoriju smatra se privremenim zato što podaci i programi u njoj ostaju dok
se ne završi obrada podataka. Radnu memoriju uobičajeno nazivamo RAM (Random Access Memory)
odnosno memorija sa slučajnim pristupom. Naziv RAM sugeriše da je moguće pristupiti bilo kojoj
lokaciji u memoriji. Tokom godina RAM je od akronima postao sinonim koji označava osnovni
memorijski radni prostor u kojem procesor izvršava programe. Najčešće korišteni RAM je
tzv.dinamički RAM (DRAM). Osnovna osobina ovih čipova, a samim tim i DRAM memorije je
dinamičko smještanje podataka, što je značajno iz dva razloga. Prvi je da se u bilo kom trenutku
informacije mogu ponovo upisivati u RAM memoriju. Drugi se odnosi na činjenicu da DRAM memorija
traži da se podaci permanentno osvježavaju (refreshing), odn. da se ponovo prepisuju da bi se
očuvao integritet podataka. Druga vrsta RAM memorije naziva se statički RAM (SRAM) i ne zahtjeva
periodično osvježavanje, što je bitna prednost sa aspekta brzine. Refreshing troši dragocijene
memorijske (i procesorske) cikluse i efektivno usporava memoriju jer je za vrijeme refreshinga pristup
podacima onemogućen. Važna osobina RAM memorije je to što čuva podatke samo dok dobiva
napajanje električnom energijom. Kada se govori o memoriji računara, obično se misli na DRAM
memoriju u sistemu, tj. prvenstveno na memorijske čipove ili module koje procesor koristi za smještaj
aktivnih aplikacija i njihovih podataka.
Pored RAM-a kao sigurno najeksponiranijeg i kupcima najpoznatijeg, postoje i drugi tipovi memorije
koji nisu ništa manje značajni i čiji uticaj na performanse nikako nije zanemariv. Različti tipovi
memorije posjeduju neke vrlo specifične osobine koje ih čine prikladnim za specifične namjene.

ROM (read only memory) je uz RAM sigurno najpoznatiji tip memorije. Ključna osobina ROM-a je da
trajno i pouzdano čuva upisane podatke bez obzira na eventualni nestanak napajanja i druge
probleme. Postoje programi i podaci od posebnog značaja čije neovlašteno mijenjanje se ne smije
dozvoliti ni po koju cijenu. U takvim situacijama ROM je moguči izbor.

Cache (skrivena ili keš) memorija je ultra brza memorija realizovana kao SRAM sa zadatkom da
posluži kao interfejs između vrlo brzog procesora i relativno spore RAM memorije. C-MOS blok je
relativno mali memorijski modul sa vrlo važnim konfiguracionim podacima i u njemu se uobičajeno
čuva tzv. SET-UP računara. Osnovna karakteristika C-MOS tehnologije je ekstremno mala potrošnja
pa se integritet podataka u C-MOS bloku može očuvati i više godina pomoću ugrađene BACK-UP
baterije.

FLASH memorija je relativno novi tip memorije kaja prijeti da istisne večinu ostalih tipova memorije.
Praktičnost upotrebe je gotovo fascinantna a cijene svakodnevno padaju. Iako je nastala kao derivat
relativno skupog EEPROM-a svojom jednostavnošču i prihvatljivom cijenom trenutno dominira tržištem
alternativnih memorija (MP3 playeri, USB stick-ovi, digitalni foto-aparati i kamere, BIOS na matičnim
pločama računara itd.).

RAM MEMORIJA

Postoje dvije glavne vrste RAM memorije. To su statički (S)RAM i dinamički (D)RAM. Kod statičkog
RAM-a ćelije u kojima se čuvaju bitovi su kompleksnije građe. One se sastoje od dva pristupna
tranzistora i jednog flip-flop kola u kome se nalaze dva tranzistora i dva otpornika. U zavisnosti od toga
koji od ova dva tranzistora i otpornika je pod visokim naponom razlikovaće se dva stabilna stanja 1 ili
0. Kod DRAM-a ćelije koje se nalaze u čipu sastoje se samo od jednog tranzistora i kondenzatora koji
drži naelektrisanje. Pošto kondenzator može držati naelektrisanje samo kratko vrijeme to praktično
znači da nakon isteka ovog vremena memorija gubi podatak koji je čuvala. Zbog ove činjenice moraju
se uvoditi lažni ciklusi očitavanja  kako bi se memorija “osvježila”. Dinamička RAM memorija čuva
podatke organizovane u elektonsku tabelu, sastavljenu od kondenzatora koji čine individualne ćelije u
tabeli. Termin "dinamička" dolazi zbog toga što se kondenzatorske ćelije moraju povremeno
osjvežavati (jer se kondenzator polako prazni zbog gubitaka), za razliku od statičke RAM memorije
koja podatak pamti dokle god je uključeno napajanje. Svaka ćelija osim kondenzatora ima i pridruženi
tranzistor, preko kojeg se podatak očitava i upisuje. Svakom redu u tabeli pridružen je još jedan
dodatni tranzistor , tzv. “sense amplifier”, koji služi za očitavanje, pojačanje i prenos sadržaja do
memorijske magistrale preko koje se vrši transfer do procesora.

Slika 34 DRAM ćelija


Tabeli memorijskih ćelija se pristupa tako što se zada adresa u vidu kolone i vrste u kojoj se podatak
nalazi. Ovu adresu formira poseban adresni dekoder, dekodiranjem adrese koja se nalazi na
sistemskoj adresnoj magistrali. Da bi se pročitao neki podatak, prvo se aktivira odgovarajući red u
tabeli pomoću signala za izbor reda RAS (Row Address Select ili Row Address Strobe), koji uzrokuje
da se podaci u cijelom redu tabele prenesu do odgovarajućih sense amplifier tranzistora. Zatim se
šalje signal na liniju CAS (Column Address Select ili Column Address Strobe) da bi se izabrala tačno
ona ćelija iz mreže koja sadrži traženi podatak. Sadržaj ove ćelije se zatim šalje na magistralu iz
sense amplifier tranzistora. Ovo se ponavlja za svaki slijedeći pristup memoriji.

Pošto se jedan bit podatka pamti samo sa jednim tranzistorom i jednim kondenzatorom, za razliku od
statičke RAM memorije koja za pamćenje jednog bita koristi četiri do šest tranzistora, dinamička RAM
memorija je jednostavnija za proizvodnju, može gušće da se pakuje i osjetno je jeftinija. Sa druge
strane dinamički RAM je sporiji od statičkog, i mora se povremeno osvježavati pošto se kondenzatori
koji čine ćelije podataka isprazne svaki put kada se podatak pročita. Za njihovo ponovno punjenje (da
bi se podatak restaurirao) se koriste sense amplifier tranzistori dodjeljeni RAS i CAS signalima. Ovo
se čini kao trenutna operacija, ali osvježavanje (refreshing) odnosi memoriji mnogo dragocjenih
ciklusa. Inače, proces osvježavanja je nevidljiv za korisnika - obavlja se kompletno u hardveru
memorije permanentno svake 2-4 milisekunde.

ROM MEMORIJA

Osnovna zadaća ROM (Read Only Memory) memorija je da čuvaju podatke i programe koji ne smiju
biti izbrisani, promijenjeni ili oštećeni, pod bilo kakvim okolnostima, uključujući i gubitak napajanja u
dužem vremenskom periodu. Iako naziv ROM sugeriše da se podaci mogu samo čitati, određeni tipovi
ROM-a dozvoljavaju izmjenu upisanog sadržaja, obično korištenjem posebnih hardverskih dodataka ili
pomoću posebnih programa. Tokom PC evolucije razvijeno je nekoliko tipova ROM memorije, ali bez
obzira o kojem tipu ROM memorije je riječ, zajedničko im je da su relativno spore, malog kapaciteta i
vrlo skupe u odnosu na kapacitete koje nude. Brzine pristupa podacima kreću se od 120 – 150 ns i
nisu se bitnije mijenjale, ali to nije poseban problem, jer se sadržaj ovih mem. koristi samo pri startanju
računara. Najpoznatiji tipovi ROM memorija su:

PROM (Programable ROM)

Programiranje ovog tipa ROM-a (upisivanje sadržaja), vrši se uz pomoć relativno skupe i komplexne
opreme, koju obično posjeduje samo proizvođač ROM-a, koji vrši programiranje prema željama
kupaca. Pojedninačno i samostalno programiranje finansijski nije prihvatljivo. Danas se ovaj tip ROM-a
koristi samo u veliko-serijskim proizvodima tipa digit. igračke, foto aparati i sl., dok se ranije uobičajeno
koristio i na matičnim pločama računara za smještaj BIOS –a.

EPROM (Electrical Programmable ROM)

Ovaj tip ROM memorija se programira električnim putem uz pomoć tzv. EPROM programera, koji
može biti samostalan uređaj, što je skuplja varijanta ili kao periferija koja se priključuje na PC računar
(jeftinija varijanta).

EEPROM (Electrical Eraseable PROM)

Upotreba UV brisača je dosta nepraktična i ponekad rizična, pa se kao bolje riješenje koristi tzv.
EEPROM. Ovaj tip mem. nudi najveći komfor u radu, jer se podaci mogu upisivati i brisati električnim
putem, obično naponima koji su nešto veći od radnih napona, tako da u normalnom radnom režimu
podaci ne mogu biti promijenjeni. Najveći nedostatak ovih mem. je vrlo visoka cijena, pa su relativno
rijetko korištene i nisu uspijele istisnuti EPROM, koji je daleko više korišten. Ove mem. su poslužile
kao temelj za razvoj kasnijih FLASH memorija.

PAL (Programmable Array of Logic) čipovi (PLA)


Ovo su najjeftinije varijante ROM mem. Upisivanje podataka svodi se na propaljivanje neželjenih veza.
Čipovi su u formi tzv. diodnih matrica i tamo gdje se želi upisati '' 0 '', samo se propali veza. Jednom
isprogramirani čipovi ne mogu se više reprogramirati. Čipovi su relativno jeftini, a i oprema za
programiranje nije skupa, pa se PAL čipovi koriste u razvojne i eksperimentalne svrhe (izradu
prototipova i malih serija).

U prkos nespornim dobrim karakteristikama različitih tipova ROM-a nove tehnologije, prije svega
FLASH memorije, ga polako istiskuju.
CACHE MEMORIJA

Cache memorije su extra brze mem., čiji je osnovni zadatak da savramenim, izuzetno brzim mP
obezbijede dovoljne količine podataka za obradu, bez nepotrebnog čekanja. Između mP-a i RAM
mem. postoji veliki nesklad u brzini, pa se cache mem. koriste kao interface između brzog mP-a i
sporih RAM mem. Brzina cache mem. je uporediva sa brzinom mP-a, a u nekim slučajevima je čak i
veća. Ovako velika brzina ne može se postići DRAM tehnologijom. Cache mem. rade se tehnologijom
tzv. statičkog rama (SRAM). Osnovni mem. elemenat je Flip–Flop, odnosno bistabilni
multivibrator. Brzina flip–flopa je određena brzinom korištenih tranzistora (T), a T je najbrži elemenat
u elektronici. Memorisanje 1 bita traži najčešće 6-8 tranzistora, što je znatno nepovoljnije nego kod
DRAM-a. Gustina pakovanja ovih modula je znatno manja, pa je i kapacitet po jednom modulu znatno
manji (oko 100x). Pošto T rade u prekidačkom režimu, potrošnja struje nije zanemariva, jer je u
svakom trenutku 50 % T u zasićenju. Zbog toga se ove mem. znatno više zagrijavaju nego
ekvivalentni DRAM. Ukupna cijena ovih mem. je puno veća, što ograničava njihovu primjenu. Za
računarske primjene cache mem. se koristi kod savremenih mP, HDD-ova, CD/DVD/CD-rw i DVD-RW
uređaja. Zadatak je uvijek isti, poslužiti kao interfejs između jako brze i jako spore strane.

FLASH MEMORIJE

Flash memorije se pojavljuju u različitim varijantama (F-RAM, F- ROM, itd.), ali se njihov rad temelji na
tehnologijama korištenim za izradu EEPROM-a. U osnovi radi se o tzv. Fero memorijama. Osnovna
ideja je bila da se napravi “HDD bez pokretnih dijelova”, koji bi bio interesantan za lap – top i druge
mobilne računare. Povoljan odnos cijena – kapacitet, da bi FLASH zamijenio HDD, nije postignut.
Tehnologija je u međuvremenu puno napredovala, tako da je kapacitet Flash memorije znatno
povećan (reda 128, 256, 512MB, 1GB ). Ovo nije dovoljno za HDD, ali su se pojavili drugi korisnici
kojima je ovo prihvatljivo (dig. foto aparati, MP3 playeri, itd...) Primjena Flash memorije je postala
masovna, pa im cijena ubrzano pada. Danas je uobičajeno da se BIOS računara ili bar jedan njegov
dio nalazi u Flash memoriji tzv. Flash-ROM. Ovo omogućuje da se dosta jednostavno uradi tzv.
upgrade BIOS-a, odnosno da se stara verzija BIOS-a zamijeni novijom i na taj način otklone
eventualni problemi, ubrza rad ili proširi podrška za hardver. Postoji više verzija Flash memorija od
kojih neke mogu trajno memorisati podatke i čuvati ih bez spoljnog izvora napajanja. Pošto se
najčešće radi o fero magnetnim materijalima, brzina i trajanje su ograničeni. Raniji modeli su imali
relativno mali broj dozvoljenih upisivanja i brisanja podataka (reda 10 – 100 hiljada puta). Danas se
smatra da je taj problem prevaziđen jer je broj write ciklusa procijenjen na preko 1 milion puta. Na
tržištu postoji i veliki broj specifičnih pakovanja F. RAM-a sa USB konekcijom. Komercijalni nazivi su
memory card, memory stick, itd...
3.3. ULAZNE I IZLAZNE
JEDINICE

Ulazne i izlazne jedinice ili periferne jedinice, kako se zajednički nazivaju, služe za pripremu podataka,
prije njihove obrade, za unos podataka u centralnu jedinicu, za privremeno ili trajno memorisanje
podataka i za prikaz rezultata obrade podatka.

Informacije su u kompjuteru predstavljene nizom električnih signala, koji su interpretacija binarne


jedinice ili nule. Prvobitna komunikacija između čovjeka i kompjutera bila je binarna forma, koja je bila
veoma komplikovana za čovjeka. Dalji razvoj je išao u smjeru takvih formi koje su bile sve razumljivije
čovjeku.

Periferne jedinice mogu biti ulazne, izlazne ili ulazno – izlazne. Neke se jedinice mogu uključiti na
odgovarajuce utičnice ( portove ) na matičnoj ploči, dok se druge uključuju putem odgovarajućih
kartica koje se umeću u za to predviđene sabirnice ( slotove ).Ulazne i izlazne jedinice služe za
pripremu podataka prije njihove obrade, za unos podataka u centralnu jedinice za privremeno ili trajno
memorisanjen podataka i za prikaz rezultata obrade podataka.
3.3.1. ULAZNE JEDINICE

Pod ulaznim jedinicama računara podrazumijevaju se svi oni uređaji koji omogućuju unos podataka ili
programa iz okruženja u računar. Podaci u okruženju računara, kao npr. zvuk, slika, pokret,
temperatura, itd., gotovo uvijek su u obliku nepogodnom za direktan unos u računar. Te podatke treba
pretvoriti u oblik prihvatljiv računaru . U tom smislu osnovni zadatak ulaznih jedinica je djelotvorna i
jeftina pretvorba podataka iz okruženja u oblik prihvatljiv računaru. Ulazne jedinice mogu se podijeliti
na:

 ulazne jedinice koje služe za predaju podataka računaru posredstvom i pod direktnim
djelovanjem čovjeka, i
 jedinice koje služe za predaju podataka računaru iz okruženja bez posredovanja čovjeka.

Jedinice iz prve grupe, u koju spadaju npr.tastatura, miš, grafička tabla, itd., svojom su građom i
načinom djelovanja prilagođene jednostavnoj ljudskoj upotrebi. Čovjek svojim djelovanjem na takve
uređaje (pokretom ili glasom) predaje željene podatke računaru. Jedinice iz druge grupe, među koje
spadaju npr. magnetni diskovi, trake, itd., građene su za učinkovito prilagođavanje i predaju podataka
iz okruženja računaru bez posredstva čovjeka. Najčešće korišćene ulazne jedinice su:

 Tastatura
 Miš
 Tablet
 Komandna palica
 Skener
 Mikrofon,
 Digitalna kamera,
 Web kamera,
 Bar Code Reader

TASTATURA

Tastatura (engl, Keyboard) jedna je od najstarijih i najčešće korištenih ulaznih jedinica računala.
Odlikuje se relativno jednostavnom i jeftinom građom. Unos podataka u računar pomoću tastature
jednoznačan je i relativno lak, a upotreba jednostavna. Koristi se na isti način kao i pisaća mašina.
Tastatura je posebno pogodna i za sada nezamjenjiva ulazna jedinica za unos teksta u računar. Broj
tipki kreće se od 40 do preko 100 , zavisno o modelu i proizvođaču (najčešće 102 ili 105).
Istovremeno se može koristiti i po dvije tipke istovremenim pritiskom čime možemo dobiti i znakove
koji nisu prisutni na tipkovnici a pripadaju mogućem skupu znakova (najčešće 256).
Neke od tipki imaju posebno značenje i upotrebu. Dijelovi tastature su:

 alfanumerički dio, koji služi za unos slova, znakova, znakova interpukcije i cifri,
 numetička tastatura koja služi isključivo za unos brojeva (prije korištenja potrebno je pritisnuti
dugme NumLock),
 kursorske tipke koje služe za pokretanje kursora i
 funkcijske tipke (od F1 do F12) koje služe za dodjeljivanje određenih funkcija i njihovom
lakšem pozivanju.
Slika 35Tastatura

MIŠ

Nakon tastature najčešće upotrebljavana ulazna jedinica je miš. Za razliku od tastature, miš ne služi
unosu teksta već spada u tzv. pokazne jedinice i ima obično dva ili tri klika. Pomicanjem miša po
podlozi obično se vrši pomicanje kursora na ekranu, a pritiskom na jednu od tipki na gornjem dijelu
miša daje se određena naredba računaru. Miš ima četiri funkcije pri upravljanju radom računara:

 pokazivanje dijelova slike na ekranu (pomjeranje pokazivača),


 aktiviranje osjetljivih oblasti slike na ekranu (klikanje, startanje programa...),
 premiještanje dijelova slike na ekranu i
 zatvaranje dijelova slike na ekranu

Rezolucija (razlučivost) miša je broj električnih impulsa koje može generirati miš pri pravocrtnom
gibanju na dužini jednog inča (1 inch (palac) = 2.544 cm). Razlučivost se mjeri u tačkama po inchu
(ppi - Points Per Inch), a tipične vrijednosti se kreću od 100 ppi pa do 400 ppi. Postoji više vrsta
miševa:

 elektromehanički miš,
 optički miš i
 bežični u kombinaciji s prethodnim.

Slika 36Miš

TABLET

Za razliku od miša koji se čitav pomjera po podlozi, kod tableta se pomjera pero, koje na ekranu daje
odraz slike izabrane na tabletu. Tablet je pogodan za crtanje pomoću računara. Služi za unos grafike
u računar. Pokazne sprave s kojima se krećemo po tabli mogu biti u obliku
olovke ili miša.
Slika 37Tablet

KOMANDNA PALICA

Kod nas je poznatija kao džojstik i najčešće se upotrebljava za igre na računaru. Ima sličnu ulogu kao
miš. Primjena mu je ograničena, uglavnom na igre.

Slika 38Džojstik

SKENER

Ulazna jedinica računara prvenstveno namijenjena za kopiranje slike s papira u računanarski sistem .
Slika koja se želi unijeti u računanar, osvjetljava se ugrađenim izvorom svjetla. Snop svjetla odbijene
od površine slike dovode se sistemom leća i ogledala senzorima za pretvaranje svjetla u električnu
struju. Rezolucija skenera, koja se izražava u broju tačaka po jedinici dužine, kreće se od 200 dpi
(Dots Per Inch - tačaka po inchu) do 4800 dpi. S obzirom na mogućnost očitanja boja slike postoje
skeneri:

 koji mogu očitati samo crno bijelu sliku,


 koji mogu očitati 16 ili 256 nivo sivog i
 koji očitavaju sliku u boji

S računarom se povezuju posredstvom posebnog sistema (kartice) koji se ugrađuje u računar, ili
preko paralelnih vrata (sve češće i USB). S obzirom na način očitavanja slike postoje tri glavne grupe:

 Ručni skener.Tipična širina linije ručnog skenera, dakle širina očitavanja je oko 10 cm (4
incha). Razlučivost se kreće od 200 dpi do 800 dpi. Osjetljivi su na pravocrtnost i brzinu
pokretanja, tako da nisu pogodni za profesionalnu upotrebu.
 Stolni skener s pokretnim papirom (Sheet Feed Scanner). Širina očitanja je tipično oko 21 cm
(8 incha), tako da u jednom prolazu može očitati papir veličine A4. Sistem leća miruje a papir
se pomiče.
 Stolni skener s mirujućim papirom (Flatbed Scanner). Papir miruje a sistem leća se pomiče.
Prednost mu je mogućnost preslikavanja slika iz knjiga, raznih publikacija, itd.

Slika 39Skener

MIKROFON

Mikrofon je ulazni uređaj koji je zadužen za unos zvuka u računarski sistem. Izuzetno su jeftini tako da
je danas skoro sastavni dio svakog računarskog sistema. Omogućava unos (snimanje) glasa i zvuka,
ali i komunikaciju preko interneta.

Slika 40Mikrofon

DIGITALNA KAMERA

Digitalna kamera ne koristi film, već sve slike koje se naprave korištenjem digitalne kamere se
pohranjuju u memorijsku karticu. Ovi aparati imaju LCD displej na kojem se prikazuju pohranjene slike,
a sama kamera se preko serijskog porta konektira na računar i vrši se transfer slika sa memorijske
kartice. Kapacitet ove memorijske kartice se razlikuje od modela do modela, ali je obično veličine 8MB
ili 16MB.

Slika 41Digitalna kamera

You might also like