P. 1
informatika knjiga

informatika knjiga

|Views: 6,077|Likes:
Published by mersor

More info:

Published by: mersor on Dec 04, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

08/21/2013

pdf

text

original

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 Slika 11 MARK I 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 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 13

Rač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:

G

Period 1950 1956 1956 1965 1965 1971

Hardver

Vrijeme operacije 10-3 sek

Softver

Periferija

1.

Elektronske cijevi Tranzistori i feritna memorija

Mašinski jezici

Bušene kartice

2.

10-6 sek

Jezici višeg reda Time Sharing Multiprogra-mming Teleprocessing Virtuelna mem. Baze podataka

Magnetne trake

3.

Integrisana kola LSI

10-9 sek

Magnetni diskovi

4.

1971-

Veoma integrisana kola VLSI

10-12 sek

Diskete

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 21 IBM 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 maksimalna brzina vijek eksploatacije potrošnja goriva na 100 km cijena težina snaga

1970. godina 180 km/č 8 godina 10 l 50.000 n.jed 1.000 kg 50 KS

2000. godina 200.000 km/č 10.000 godina 5 ml 50 n. jed. 80 dkg 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 Težište

1945-1970 Naučno-tehnološka revolucija i odbrana Protivavionska odbrana i raketna tehnika, kosmos i nuklearna energija Profit države Čitava zemlja Prirodne nauke

1955-1980 Privredne organizacije Racionalizacija poslovanja privrednih organizacija Privredni rast Narodna privreda Organizacione nauke

1970-1990 Društvene službe Organizacija zdravstva, obrazovanja i javne uprave Društveni standard Opština

1980-2000 Život pojedinca Humanizacija života Potvrda ličnosti Radno mjesto i stan Bihevio-rističke nauke

Ciljevi

Motivi Područja Granične discipline

Društvene 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 28 Pet osno vnih dijel ova u orga nizac iji

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. Online 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 2 3 4 5 6 7 8 9

1
2 3 4 5 6 7 8 9

2
4 6 8 1 0 1 2 1 4 1 6 1 8

3
6 9 1 2 1 5 1 8 2 1 2 4 2 7

4
8 12 1 2 2 2 3 3 6 0 4 8 2 6

5
1 0 15 2 0 2 5 3 0 3 5 4 0 4 5

6
1 2 18 2 4 3 0 3 6 4 2 4 8 5 4

7
1 2 2 3 4 4 5 6 4 1 8 5 2 9 6 3

8
1 2 3 4 4 5 6 7 6 4 2 0 8 6 4 2

9
1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1

0
0 0 0 0 0 0 0 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: Emah = 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 (10i). 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 104 = 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 komplement umanjioca sabiranje umanjenika i komplementa umanjioca

269 730 (269 + 730 = 999) 853 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 umanjilac komplement umanjioca sabiranje umanjenika i komplementa umanjioca komplement zbira negativna razlika 396 6845 3154 (6845 + 3154 = 9999) 396 3154 3550 6449 (3550 + 6449 = 9999) 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 BINARNI BROJEVI

0 0

1 1

2 10

3 11

4 100

5 101

6 110

7 111

8 1000

9 1001

10 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 231 : 2 = 115 1 najniža poziciona vrijednost 1

115 : 2 = 57 57 : 2 = 28 28 : 2 = 14 14 : 2 = 7 7:2= 3 3:2= 1 1:2= 0

1 1 0 0 1 1 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 0 1 2

binarna trijada 000 001 010

3 4 5 6 7
Tabela 6

011 100 101 110 111
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 0 1 2 3 4 5 6 7 8 9 A B C D E F

binarna tetrada 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Heksadecimalni brojevi izraženi binarnim tetradama

Tabela 7

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 163 162 161 16-1 16-2 16-3 16-4

= 65536 = 4096 = 256 = 16 = 0,0625 = 0,00390625 = 0,000244140625 = 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 399 : 16 = 24 24 : 16 =1 1 : 16 = 0 11 = B najniža poziciona vrijednost 15 = F 8 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 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Binarni Oktalni 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000 Heksadecimalni 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 4 5 6 7 8 9 A B C D E F 10 0 1 2 3

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 +11010 101111 1101011 + 10110 10000001 101111011 + 10000110 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 - 10011 100010 100110 - 11011 1011 111001 - 10010 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 komplementu u manjioca dodamo 1 saberemo i otcijepimo krajnju lijevu cifru: umanjenik komplement umanjioca povećan za 1 rezultat

10110 + 1 10010111

10100110 + 10010111 100111101 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 komplement umanjioca međurezultat komplement međurezultata rezultat 1000 + 0011 1011 0100 - 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 v
Tabela 8

0 1

1 0

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 AUTOBUS JE 5 AUTOBUS NIJE 5 AUTOBUS JE 5 AUTOBUS NIJE 5

1 0 1 0 Tabela 9

b I AUTOBUS JE STAO I AUTOBUS JE STAO I AUTOBUS NIJE STAO I AUTOBUS NIJE STAO

1 1 0 0

v ULAZI NE ULAZI NE ULAZI NE ULAZI

11 0 0 0

Kombinacije argumenata za I funkciju

a b v

1 1 1
Tabela 10

0 1 0

1 0 0

0 0 0

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 NEKO ZVONI NIKO NE ZVONI NEKO ZVONI NIKO NE ZVONI 1 0 1 0 Tabela 11 ILI NEKO KUCA ILI NEKO KUCA ILI NIKO NE KUCA ILI NIKO NE KUCA

b 1 1 0 0 OTVORI OTVORI OTVORI

v 1 1 1 0

NE OTVARAJ

Kombinacija argumenata za ILI funkciju

Tabela vrijednosti za ovaj oblik funkcije izgledala bi ovako: a b v 1 1 1
Tabela 12

0 1 1

1 0 1

0 0 0

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
AUTOBUS NIJE 5 AUTOBUS JE 10 AUTOBUS NIJE 5 AUTOBUS JE 5 AUTOBUS NIJE 5 AUTOBUS JE 5 AUTOBUS NIJE 5

b
ILI AUTOBUS JE 10 ILI AUTOBUS NIJE 10 ILI AUTOBUS NIJE 10 ILI AUTOBUS JE 11 ILI AUTOBUS JE 10 ILI AUTOBUS NIJE 10 ILI AUTOBUS NIJE 10

c
I AUTOBUS JE STAO I AUTOBUS JE STAO I AUTOBUS JE STAO I AUTOBUS NIJE STAO I AUTOBUS NIJE STAO I AUTOBUS NIJE STAO I AUTOBUS NIJE STAO ULAZI ULAZI

v

NE ULAZI NE ULAZI NE ULAZI NE ULAZI NE ULAZI

Tabela 13

Kombinacija argumenata za složenu funkciju

a b c v

1 1 1 1

0 1 1 1
Tabela 14

1 0 1 1

0 0 1 0

1 1 0 0

0 1 0 0

1 0 0 0

0 0 0 0

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 predznak 1000011 eksponent 000000000000001100010011 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 10100012 + 11100102 110000112 binarno-decimalni kod 1000 0001 0001 0001 0100 0001 1001 0101 dekadni broj 81 114 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 C

zonski dio BA

numerički dio 8421

Njegova transformacija u ECMA-kod u 6-bitnom bajtu izgleda ovako:
kontrolni bit K bit oktalne desetice 22 21 20 421 22 21 20 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 778 = 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 0123 2322 21 20

numerički dio 4567 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 1100 1101 1110 1000 1001 1010 0100 0110 0111 1111

NUMERIČKI DIO od 0001 do 1001 od 0001 do 1001 od 0010 do 1001 od 0001 do 1001 od 0001 do 1001 od 0010 do 1001 od 1010 do 1111 od 1010 do 1111 od 1010 do 1111 od 0000 do 1001 Tabela 15 za brojeve od 0 do 9 Kodiranje znakova u EBCDIC-kodu za slova od A do I za slova od J do R za slova od S do Z za mala slova od a do i za mala slova od j do r za mala slova od s do z za grupe posebnih znakova (+,%,?,x itd)

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 (flipflop). 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 9410 (^) 9310 ( ] ) 9210 ( \ ) 9110 ([ ) 6410 (@) 12610 (~) 12510 (}) 12410 ( | ) 12310 ({) 9610 ( ` ) Tabela 16

IBM 852 17210 14310 20910 23010 16610 15910 13410 20810 23110 16710 Prikaz kodova

Microsoft 1250 20010 19810 20810 13810 14210 23210 23010 24010 15410 15810

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 alKhwaeizimija 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. 2. 3. 4. 5. konačnost, definisanost (bez dvosmislenosti – opis u odgovarajućem jeziku), ulaz, izlaz i 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 programa BEGIN i Kraj izvođenja END

Ovaj simbol označava početak ili kraj algoritma. U jednom dijagramu toka postoji samo jedan početni blok, dok krajnjih može da bude više.

Ulaz / izlaz

Ovaj blok se koristi za naznačavanje ulaznih podataka u algoritam, kao i prezentiranje izlaznih rezultata.

Blok procesiranja ili obrade

Ovo je bazični blok u kome se naznačavaju sve vrste procesiranja podataka, odnosno obrada podataka.

Blok odluka

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 koje se realiziraju na osnovu donesene odluke

Vezni simbol

Ovo je pomoćni simbol za povezivanje složenih dijagrama toka.Oznaka u njemu povezuje izlazni dio jednog dijela dijagrama toka i ulazni dio drugog dijela dijagrama toka,zapisanih na različitim mjestima

Potprogram

Ovaj blok označava dio programa tzv. 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 N, M, BIN

I <- I + 1

<= 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 N, A

A ={ i} i =1, ..., 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 Jezici za pretraživanje baza podataka Sistem pronalaženja informacija Generatori izvještaja

Pogodan za krajnjeg korisnika Query-by-example On-line-english Quick Query Stairs NOMAD Quick Query

Proizvođač IBM Cullinane CACI IBM NCSS CACI

Pogodan za profesionalce GIS Mark IV Quick Query NOMAD GIS RPGII RPGIII ADRS ADF DMS UserII Adminis II APL APL-Plus ADRS

Proizvođač IBM Informatics CACI NCSS IBM Various IBM IBM IBM IBM Northcounty Adminis Various STSC IBM

Aplikacijski generatori

Mapper Ramis II APL NOMAD

Univac Mathematica Inc. Various NCSS

Programski jezici vrlo niskog nivoa

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 3. 4.
drugom mediju); Matematička obrada podataka (Podatke obraditi pomoću matematičke operacije, kao npr. sabiranje, oduzimanje ili dijeljenje); 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 OPERACIJE 100100

DOPUNSKI KOD DUŽINA 000100 000011 000100

ADRESA PRVOG OPERANDA 000001 000100 1 4 000101 000000 5 0

ADRESA DRUGOG OPERANDA 001000 000000 8 0

M

4

3 4

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.

KOD INSTRUKCIJE

DOPUNSKI KOD DUŽINA

ADRESA PRVOG OPERANDA IZN1

ADRESA DRUGOG OPERANDA ZBR2

MVC

4

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 1950im.

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 2. 3. 4.
što su: naziv programa, datum pisanja itd.); ENVIRONMENT DIVISION (dio okruženja u kojem se opisuje sistem za kompjutersku obradu podataka ); DATA DIVISION (dio podataka gdje se opisuju podaci koji se obrađuju, rezultati obrade, konstante i memorija ); 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

A

A

Logička 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 PREZIM E Milan Milić Božo Božić Pero Perić Marko Marković Ivan Ivanić Jovo Jović Nenad Nenadić

ADRESA Mllići 21 Pećani 4a Zmajeva 13 Brzi put 19 Novi put 5 Dobojsk a 67 Kulska 26

BROJ TELEFON A 432-188 653-221 404-111 389-535 301-908

ZAPOSLENO ST Zaposlen Zaposlen Nezaposlen Zaposlen Nezaposlen Nezaposlen

PLAT A 1000 400

ZANIMANJ E Direktor Konobar

300

Čistačica

314-405

Zaposlen

650

Menadžer

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. blok po blok).

istovremeno (bajt po bajt, ili

Slika 30Hardver Legenda 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.

monitor matična ploča procesor ATA radna memorija dodatne kartice napojna jedinica optički uređaji hard disk tastatura 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.

IR DISP PC SP X Y
A B

16 R0 ... R15 TEMP MAR MDR(7:0) jedinica za opsluživanje prekida upravljaèka jedinica

ABus 16 DBus 8 CBus

IRQ0:3 INTA0:3

ALU komb. mreža PSW

rd wr fc

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 µ P obezbijede dovoljne količine podataka za obradu, bez nepotrebnog čekanja. Između µ P-a i RAM mem. postoji veliki nesklad u brzini, pa se cache mem. koriste kao interface između brzog µ P-a i sporih RAM mem. Brzina cache mem. je uporediva sa brzinom µ P-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 µ P, 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 39

Skener

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're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->