Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

52
1 Javna ustanova Mješovita srednja elektrotehnička škola Tuzla Imširović Edin, dipl.ing.el.teh. Zulfić Edin, dipl.ing.el.teh. za I razred elektrotehničke škole - skripta za internu upotrebu - TUZLA, SEPTEMBAR 2007.

description

Skripta za internu upotrebu

Transcript of Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

Page 1: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

1

Javna ustanova Mješovita srednja elektrotehnička škola Tuzla

Imširović Edin, dipl.ing.el.teh.

Zulfić Edin, dipl.ing.el.teh.

za I razred

elektrotehničke

škole

- skripta za internu upotrebu -

TUZLA, SEPTEMBAR 2007.

Page 2: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

2

Predstavljanje informacija

"Galaksija", prvi domaći mikroračunar

1 poglavlje

Page 3: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

3

1. POJAM INFORMATIKE KAO NAUKE Informatika je jedna od najmlađih ali i jedna od najkompleksnijih disciplina današnjice. Ona je danas i praktična djelatnost i nauka savremenog tipa, pri čemu nije uvijek lako odrediti granicu između naučnog i praktičnog. Postoji već nekoliko decenija ali njeno ime je utemeljeno tek 1962. Stvorio ga je Filip Drefis (Philippe Dreyfus) tako što je spojio prva dva sloga francuske riječi information (Enformasion) i posljednja dva sloga riječi automatique (otomatik). Na engleskom govornom području koriste se termini Computer science i Information sistems Informatika je u mnogo čemu povezana i sa ostalim naukama kao što su: matematika, formalna logika, teorija informacija, elektronika i dr. Francuska akademija nauka je 1966.godine definisala informatiku kako slijedi: “Nauka o racionalnoj obradi informacija, prije svega pomoću automatskih mašina, time da se informacija smatra nosiocem ljudskog znanja i komunikacija u oblasti tehnike, ekonomije i drugih nauka”. Drugim riječima informatika je nauka koja se bavi smisaonom obradom informacija. Informacije su u stvari činjenice o stvarima i događajima iz svih oblasti ljudskog bitisanja. Naglašeno je da se te informacije obrađuju pomoću automatskih mašina. Te mašine su, naravno, kompjuteri ili računari. Oblasti primjene informatike su gotovo nemjerljive. Informatiku srećemo svugdje, u preduzećima, školama, bankama, fabrikama, svakodnevnom životu itd. Prema nekim procjenama oko 80% informacionih sistema služi za obradu podataka u ekonomsko-komercijalne svrhe. Istorijski gledano ključne oblasti poslovanja o čijoj je kvaliteti ovisila uspješnost čitavog preduzeća bile su finansije, nabava, proizvodnja i prodaja i na kraju informatika (informacioni sistemi za obradu poslovnih podataka i informacija)

Važnost informacionih sistema ima znatno drugačiju ulogu nego prva 4 nabrojana faktora. Prvo zbog toga što informacija u principu ne podliježe zakonima materije i energije ( ne troši se korištenjem, ne smanjuje se raspodjelom), drugo zbog toga što koncepcija kreiranja jedinstvenog inf. sistema bitno kvalitetnije povezuje pojedine podsisteme preduzeća uzajamno.

Informacioni sistem se bazira na sistematično uspostavljenom i primjenjivom skupu pravila u vezi s nosiocima zadatka informisanja. U okviru svakog informacionog sistema mogu se definisati i razlikovati 4 osnovne aktivnosti:

1. Prikupljanje podataka 2. Obrada podataka, 3. Memorisanje (čuvanje) podataka 4. Distribuiranje podataka korisnicima

Page 4: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

4

1.1. POJAM INFORMACIJE, PODATKA I INFORMATIKE

Informacije postoje od pamtivjeka. Ljudi su od prahistorijskog doba razmjenjivali informacije putem znakova, glasova, dimnih signala, svjetlosti i sl. Iz niza glasova razvija se govor, pa pisana riječ a tek prije nekoliko vijekova štampana. Pisane i štampane riječi su se prenosile konjanicima, poštanskim kolima, raznim prevoznim sredstvima a zatim i elektronskim putem (telegraf, telefon, radio, tv, internet,...) Poruke koje se šalju idu uvijek od pošaljioca ka primaocu. Primalac na određeni način obrađuje poruku i na bazi dobijenih rezultata donosi odgovarajuće odluke.

Prenos poruke

Poruku čini niz podatakakoji primaoca poruke potiču na neku akciju. U svakodnevnom životu se pojam informacija često poistovjećuje sa pojmom podatak. U informatičkoj terminologiji ta dva pojma se razlikuju. U opštem slučaju podatak je zapis o nekoj pojavi iz okoline. Opis svake pojave predstavljen je skupom znakova npr. ''A'', ''U'', ''T'' i ''O'' je skup znakova koji označava pojavu auto (automobil). Pojave se često razlikuju po nekim osobinama atributima (npr boja, broj sjedišta, broj vrata...) koji se također mogu prestaviti nekim znakovima. Na kraju atributi mogu imati različitu vrijednost (npr. plava boja, crvena boja,.troja vrata, petora vrata, ...) Kada se spoje pojava, atributi i vrijednosti atributa nastaje informacija. Ako takva infomacija pozitivno utiče na odlučivanje onda je to korisna informacija. Danas je sve veći broj ljudi koji su zaposleni na poslovima obrade podataka. Nauka koja se bavi izučavanjem načina, metoda i sredstava za prikupljanje i obradu informacija naziva se informatika.

1.2. RAČUNAR I PROGRAM

Računar je uređaj koji na osnovu zadatog postupka i postojećih podataka rješava problem i daje odgovarajuće rezultate. Njegov zadatak je da na bazi određenih podataka pruži korisniku informacije neophodne za donošenje odluka.

Postupak rješavanja problema na računaru naziva se program. U programu se navode načini na koji će se obezbijediti unos podataka potrebnih za odvijanje programa, načini obrade i ispisa rezultata. Danas je aktuelan trend da se pod informatikom podrazumijeva proučavajne računara kao savremenih sredstava za obradu informacija, sa jedne strane, i primjena ovih računara u raznim drugim oblastima u realizaciji tzv. računarski baziranih obrada podataka i informacionih sistema, s druge.

Bez računara nema ni informatike. Za računare su vezana dva vrlo bitna pojma Hardware (Hardver) i Software (Softver).

Hardver je, u stvari, sva računarska oprema. Na primjer CPU, matična ploča, grafička kartica, RAM, ROM, tvrdi disk, disketna jedinica, CD ROM, tastatura, monitor, moš, štampač, skener, modem,…

Nizovi operacionih instrukcija (koji se zovu programima) koji upravljaju kompjuterskom obradom informacija i kontrolišu je zovu se softver.

Page 5: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

5

Softver (software) su svi programi i naredbe koji omogućavaju rad računara. On upravlja računarom. Njime pokrećemo i prekidamo rad računara. U širem smislu u softver pripadaju i svi projektantsko-razvojni alati za izgradnju informacijskih sistema.

Softver obuhvata: Sistemski softver, kao što je operativni sistem, koji kontroliše i podržava funkcije kompjuterskog sistema. Aplikativni softver koji se sastoji iz programa koji upravljaju konkretnim poslovima obrade podataka. Oblasti primjene aplikativnih softvera: Baze podataka (Access, ORACLE, SQL, dBASE, FoxPro…) Inženjerstvo (AutoCAD, Matlab, …) Obrada teksta i stono izdavaštvo (Word, …) Tablični proračuni (Excel, Lotus,…), Obrada grafike (Corel, PhotoShop,…) Multimedia Internet aplikacije

1.3. RAČUNARSKI SISTEMA

Pod računarskim sistemom, a susretat ćemo i nazive: sistem za obradu podataka, automatizirani sistem za obradu podataka i sl., mislimo na sve ono što obavlja poslove rješavanja zadataka na računarskoj opremi, od središnje jedinice računara, perifernih jedinica, svih programa koji omogućavaju da računar uopće radi i da rješava neki zadatak, te uposlenih, koji mu pišu programe ili ga uključuju u rad. Na slici je prikazani su glavni dijelovi računarskog sistema: hardver, softver i lajfver. Lajfver (lifeware) su kadrovi koji izrađuju programe i rukuju računarm. Prilikom uvođenja u primjenu potrebno je uskladiti sve ove elemente s postojećom organizacijom u preduzeću ili ustanovi gdje se uvođenje obavlja. Ova zavisnost definisana je na sljedeći način (Srića, 1991.): Ako imate hardver pete generacije, softver četvrte, kadrove treće i organizaciju druge generacije, sistem će raditi u drugoj generaciji.

Komponente računarskog sistema

Page 6: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

6

Za razumijevanje rada računara, potrebno je pojasniti tri temeljna sistema na kojima se zasniva funkcioniranje računara:

- aritmetički sistem (brojni sistemi), - algebarski sistem (algebra logike) i - elektronsko čuvanje podataka

Page 7: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

7

Korištenje brojnih sistema

Dva danas najrasprosranjenija brojna sistema (decimalni I binarni)

2 poglavlje

Page 8: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

8

2. BROJNI SISTEMI

Brojni sistem je način označavanja ili izražavanja brojeva, nizova znakova ili naziva. Usporedo s razvojem pisma kroz čovjekovu istoriju razvijali su se i različiti brojni sistemi koji se po strukturi dijele na:

1.) aditivne, 2.) aditivno-multiplikativne.

Aditivni sistem je niz znakova u kojima je broj jednak zbroju znakova od kojih je sastavljen, npr. kao kod starih Rimljana:

XXXVII = 10 + 10 + 10 + 5 + 2 = 37 Ovakvi sistemi nisu omogućavali računske operacije kao što omogućavaju aditivno-multiplikativni brojni sistemi, kod kojih pojedini brojevi (znamenke) predočavaju veličinu pojedinih grupa datog niza s kojom se pomnože i sve grupe zbroje:

"stotinu četrdeset i pet" = 1 * 100 + 4 * 10 + 5 * 1 = 145

Osnov aditivno-multiplikativnog brojnog sistema je BAZA, koja ulazi kao multiplikant u komponente oznake ili naziva broja. Danas je u općoj upotrebi DEKADNI BROJNI SISTEM, aditivno-multiplikativni brojni sistem s OSNOVOM (BAZOM) deset (10). Općenito se broj "N" u aditivno-multiplikativno sistemu s osnovom "B" može napisati u obliku:

NB=a*Bn+a*Bn-1+... + a*B2+a*B1+a*B0

- N je broj brojnog sistema s bazom “B” izražen brojem „a“,

- a je bilo koji znamenka brojnog sistema u opsegu od 0 do B-1, a to su u dekadnom sistemu znakovi 0,1,2,3,4,5,6,7,8 i 9 koji predstavljaju brojni raspon unutar baze „ B“,

- B je baza (osnova) brojnog sistema, koja u dekadnom sistemu iznosi 10 i ukazuje da u sistemu veličine grupe ima 10 različitih stanja na jednom mjestu za jednu znamenku „a“.

Navedenim izrazom izračunava se dekadna vrijednost broja "N" bilo kojeg brojnog sistema.

2.1. DECIMALNI BROJNI SISTEM

Ljudi broje i računaju po dekadnom brojnom sistemu i vrlo često ne razmišljaju da je nastao na osnovu deset čovjekovih prstiju s kojima se pomagao u računanju. Koristi se poziciono označavanje brojeva npr. broj 1953 sadrži četiri znamenke od kojih svaka u ovisnosti o mjestu gdje se nalazi označava broj jedinica, desetica, stotica itd. Svakoj znamenki pridružije se njena TEŽINA koja ovisi o njenom mjestu u broju. Najmanju težinu ima znamenka na desnom kraju broja, a najveću težinu ima znamenka na lijevom kraju broja. Dekadni broj tumači se na slijedeći način:

Page 9: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

9

195310= 1*1000 + 9*100 + 5*10 + 3*1 = 1*103*9*102 + 5*101 + 3*10

0,1,2,3 su težinske vrijednosti

Osnova sistema je broj 10 a težinska vrijednost znamenke je eksponent osnove u skladu s udaljenosti znamenke od mjesta najmanje težine.

S negativnim eksponentom mogu se prikazati brojevi manji od jedan kao na primjer:

0,12 = 1*10-1+2*10-2

Često se u svakodnevnoj praksi opisuju događaji kojima je osnov brojanja drugačiji, npr. sunca ima ili nema, živ ili mrtav, mokar ili suh i slični. Tim opisima pridružena su DVA različita stanja. Elektronika u tom pogledu nije iznimka. Vrlo je složen elektronički sklop koji bi amplitude signala razlikovao u 10 nivoa veličine. Sistem bi bio neotporan na svaku smetnju koja bi izmjenila veličinu amplitude.

Jednostavnije je definisati dvije situacije, impulsa ima (pozitivan impuls) ili ga nema (odsustvo ili negativan impuls). Simbolička oznaka postojanja impulsa je "1", a oznaka nepostojanja je "0". Sklop koji razlikuje postojanje i nepostojanje impulsa mnogo je jednostavniji, te se stoga računari dizajniraju da računske i logičke operacije vrše s brojnim sistemom koji koristi znamenke "0" i "1" i ima osnovu "2".

Takav sistem naziva se BINARNI BROJNI SISTEM u kojemu se na mjestu znamenke mogu pojaviti "0" ili "1", što predstavlja 50% vjerovatan događaj za pojavu jedne od znamenki. To znači da mjesto znamenke sadrži količinu informacije od 1 bit-a.

Nadalje u opisu za brojeve koji nemaju oznaku osnove podrazumjeva se osnova 10, a za brojeve drugih brojnih sistema označiti će im se pripadna osnova ili će se na kraju broja dopisati početno slovo sistema kojemu pripada (10B, 16H, ...).

Za slučaj decimalnog broja 1845,34 imamo puni zapis:

1845,34 = 1*103+8*102+4*101+5*100+3*10-1+4*10-2

Page 10: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

10

2.2. BINARNI BROJNI SISTEM

Kod dekadnog brojnog sistema brojimo "nula, jedan, dva, tri, četiri, pet, šest, sedam, osam, devet, DESET ", a "deset" je u suštini "0 jedan dalje". Analogno navedenom može se izgraditi binarni sistem brojeva prema primjeru u tablici.

Dekadno Binarno

0 0 1 1

2 10 3 11 4 100 5 101 6 110 7 111 8 1000 ...

Opšti oblik za pretvaranje binarnog broja u dekadni je:

N10=a*2n+a*2n-1+...+ a*22+a*21+a*20

- N je broj brojnog sistema izražen znamenkama „a “,

- a znamenke sistema: „0“ ili „1“,

- 2 je baza (osnova) brojnog sistema.

2.2.1. PRETVARANJE DEKADNOG BROJA U BINARNI BROJ

Pretvaranje dekadnog broja u binarni broj može se izvršiti na dva načina:

- dijeljenjem s 2 ili

- pomoću tablica.

Pretvaranje dijeljenjem sa dva je postupak koji se općenito može primijeniti za pretvaranje dekadnih brojeva, u brojeve bilo kojeg sistema, dijeljenjem sa osnovicom tog sistema. Pretvaranje dijeljenjem s dva, vrši se sukcesivnim dijeljenjem s 2. Ostatak dijeljenjem predstavljaju brojke 0 ili 1. Kad se dijeljenjem dođe do operacije 1 : 2 = 0 i 1 ostatak, dijeljenje je završeno. Čitanje rezultata vrši se odozdo prema gore. Na ovaj način se vrši pretvaranje cijelih brojeva dekadnog brojnog sistema u binarni brojni sistem.

Slijedi „0 jedan dalje“

Slijedi „00 jedan

dalje“

Slijedi „000 jedan dalje“

Page 11: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

11

Primjer:

(125)10 = (1111101)2

Pretvaranje decimalnih brojeva vrši se sukcesivnim množenjem s 2 i upisivanjem dobivenog cjelobrojnog dijela (0 ili 1) kao brojke binarnog broja. Množenje se nastavlja dok se ne dobije rezultat u decimalnom dijelu = 0 ili dovoljno mala vrijednost. Primjer:

(0,6875)10 = ( )2

Smjer čitanja je odozgo prema dolje. (0,6875)10 = (0,1011)2

Page 12: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

12

Pretvaranje mješovitih brojeva vrši se tako, da se prvo pretvori cjelobrojni dio broja po pravilima za pretvaranje cjelobrojnih brojeva, a zatim decimalni dio broja po pravilima za razlomljene brojeve.

Pretvaranje pomoću tablica vrši se korištenjem tablice koja predstavlja vrijednosti mjesta binarnog brojnog sistema.

Ako se ta vrijednost može prikazati kao 2n, gdje je n broj iz skupa prirodnih brojeva, onda se uzimanjem prve niže vrijednosti i prikazivanjem te vrijednosti u obliku 2n, a zatim pridruživanjem vrijednosti 1 za vrijednosti 2n koje su upotrebljene za prikaz tog broja odnosno 0, ako vrijednosti 2n nisu upotrebljene prilikom prikazivanja tog broja, može pretvoriti broj iz dekadnog u binarni oblik (Tablica koja slijedi).

Vrijednosti 2n

0

1

2

3

4

5

6

7

8

9

2n 1 2 4 8 16 32 64 128 256 512

Primjer:

Page 13: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

13

2.2.2. PRETVARANJE BINARNOG BROJA U DEKADNI BROJ

Pretvaranje binarnih brojeva u dekadne, može se izvršiti na više načina. Jedan od postupaka je i sabiranje mjesnih vrijednosti.

Primjer:

( 1 0 1 1 0 )2 broj

16 8 4 2 1 mjesne vrijednosti

16 x 1 + 8 x 0 + 4 x 1 + 2 x 1 + 0 x 1 = 22

(10110)2 = (22)10

Primjer:

Broj (101100,11)2 u binarnom sistemu ima vrijednost:

(101100,11)2 = 1x25 + 0x24 + 1x23 + 1x22 + 0x21 + 0x20 + 1x2-1 + 1x2-2 = (44,75)10

Druga metoda je takozvani cik - cak postupak, koji je univerzalan za pretvaranje brojeva iz bilo kojeg brojnog sistema u dekadni. Prava linija u ovom cik - cak postupku odnosno mreži, znači množenje, a kosa sabiranje. Primjer:

Page 14: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

14

2.2.3. ARITMETIKA U BINARNOM BROJNOM SISTEMU

Pravila za osnovne računske operacije su:

a) sabiranje:

0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 (1 prenos)

Binarno sabiranje obavlja se isto kao i decimalno sabiranje, osim što se prenos na sljedeće značajno mjesto obavlja nakon postignutog zbira 2(1+1).

b) oduzimanje: 0 - 0 = 0 1 - 0 = 1 1 - 1 = 0 0 - 1 = 1 (1 prenos)

Binarno oduzimanje obavlja se kao i decimalno oduzimanje, osim što se posuđuje 1 od bita veće težine. c) množenje:

0 x 0 = 0 0 x 1 = 0 1 x 0 = 0 1 x 1 = 1

Kod binarnog množenja djelomičan proizvod pomiče se za jedno mjesto udesno po navedenim pravilima, a zatim se proizvodi saberu.

d) dijeljenje: 0 / 0 = nedjeljivo 1 / 0 = Y 0 / 1 = 0 1 / 1 = 1

Dijeljenje binarnih brojeva obavlja se na isti način kao i dekadnih. Praktično se dijeljenje svodi na množenje i oduzimanje.

Primjer:

Sabiranje:

Page 15: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

15

Množenje:

Oduzimanje:

Djeljenje:

Page 16: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

16

2.3. OKTALNI BROJNI SISTEM

Osim binarnog brojnog sistema u računarima se koristi i OKTALNI brojni sistem s bazom 8 i koji koristi osam znamenki dekadnog brojnog sistema i to znamenke 0,1,2,3,4,5,6 i 7. Brojevi ovog sistema prikazani su u narednoj tablici:

Generiranje dekadnog i oktalnog niza cijelih brojeva.

Opšti oblik za pretvaranje oktalnog broja u dekadni je:

N10 = a*8n + a*8n-1 +...+ a*82 + a*81 + a*80

- N je broj brojnog sistema izražen znamenkama „a“,

- a znamenke sistema: 0, 1, 2, 3, 4, 5, 6 ili 7,

- 8 je baza (osnova) brojnog sistema.

Page 17: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

17

2.3.1. PRETVARANJE DEKADNOG BROJA U OKTALNI BROJ

Pretvaranje dekadnog broja u oktalni broj može se vršiti univerzalnim postupkom, sukcesivnim dijeljenjem s bazom sistema. U ovom slučaju, to je broj 8:

Primjer:

2.3.2. ARITMETIKA U OKTALNOM BROJNOM SISTEMU

Operacije u oktalnoj aritmetici izvode se na sljedeći način:

Sabiranje u oktalnom brojnom sistemu obavlja se sabiranjem znamenki kao i kod dekadskog brojnog sistema. Ukoliko je zbroj veći od 8 (baze) dijelimo ga sa bazom (8), te rezultat prenosimo za sljedeće sabiranje znamenki, a ostatak predstavlja znamenku rezultata zbrajanja. Primjer sabiranja:

Page 18: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

18

Oduzimanje u oktalnom brojnom sistemu obavlja se kao i u dekadnom brojnom sistemu. Na primjeru je pojašnjena ova operacija. Prvo oduzimamo 5 - 6. S obzirom da je 5 manja vrijednost dodajemo bazu 8; 5 + 8 = 13. Sada oduzimamo 13 - 6 = 7 i bilježimo 1 prenos. Dodajemo ovaj prenos sljedećoj znamenki 3: 1+3=4. Sada oduzimamo 2-4, s obzirom da je 2 manje od 4 posuđujemo bazu 8 I imamo (8+2)-4 = 6 I biljezimo prenos. Dodajemo ovaj prenos slijedećoj znamenki 5: 1 + 5 = 6. Kad posudimo bazu 8 oduzimamo 8 - 6 = 2 i bilježimo 1 prenos. Dodajemo 1 iz prenosa i oduzimamo 1 - 1 = 0. Rezultat predstavljaju znamenke koje su rezultati oduzimanja, čitane odozdo prema gore: 267.

Primjer oduzimanja:

Množenje u oktalnom brojnom sistemu obavlja se množenjem svake znamenke jednog broja

sa svim znamenkama drugog broja. Rezultati množenja se potpisuju pomicanjem za jedno

mjesto udesno. Pojasnit ćemo na primjeru. Množimo 1 x 325 i rezultat 325 potpisujemo za

sabiranje. Sada množimo znamenku 6 sa svim znamenkama broja 325. Dobijemo 6 . 5 = 30.

Broj 30 dijelimo s bazom 8 i imamo 6 ostatak i 3 prenos. Množimo znamenku 6 . 2 = 12 i

dodamo 3 iz prenosa 12 + 3 = 15. Dijelimo s bazom i dobijemo 15 : 8 = 1 prenos i 7 ostatak.

Na kraju množimo 6 . 3 = 18 i dodamo prenos 1 = 18 + 1 = 19. Dijelimo 19 : 8 = 2 prenos i 3 ostatak. Više nema znamenki za množenje te čitamo rezultat uzimajući zadnji prenos i sve

ostatke odozdo nagore: 2376. Potpišemo pomicanjem za jedno mjesto udesno. Na isti način

množimo znamenku 7 s brojem 325. Rezultat 2723 potpišemo i sve zbrojimo.

Primjer množenja:

Page 19: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

19

Primjer djeljenja:

Kao u dekadnom brojnom sistemu. Neophodno je voditi računa o bazi brojnog sistema.

2.4. HEKSADECIMALNI BROJNI SISTEM

Kod heksadecimalnog brojnog sistema osnova sistema je 16, te se pored poznatih oblika znamenki 0,1,2,3,4,5,6,7,8 i 9 za preostale znamenke sistema koriste slova A,B,C,D,E i F kako se za brojeve veće od 9 ne bi koristila dva znaka.

Dakle, znamenke heksadecimalnog sistema su od 0 do F po heksadekadnom označavanju, odnosno od 0 do 15 po dekadnom shvaćanju njihove vrijednosti. Brojevi heksadecimalnog sistema prikazani su u narednoj tablici:

Tabela: Generisanje decimalnih i heksadecimalnih nizova

Page 20: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

20

Opšti oblik za pretvaranje heksadecimalnog broja je:

N10=a*16n+a*16n-1+...+a*162+a*161+a*160

- N je broj brojnog sistema izražen znamenkama „a“, a znamenke sistema:

0,1,2,3,4,5,6,8,9,A,B,C,D,E ili F,

- 16 je baza (osnova) brojnog sistema.

2.4.1. PRETVARANJE DEKADNOG BROJA U HEKSADECIMALNI BROJ

Pretvaranje dekadnog broja u heksadecimalni vrši se dijeljenjem s osnovicom 16.

2.4.2. PRETVARANJE OKTALNOG ZAPISA BROJA U HEKSADECIMALNI ZAPIS BROJA I OBRNUTO

Dijeljenjem binarnog broja u grupe po 4 znamenke u grupi, može se vrlo jednostavno izvršiti njegova pretvaranje u heksdekadni.

Prvoj grupi predhode "0" da bi se popunila i bila vjerodostojnija u prikazu, a što je matematički ispravno. Pretvaranje heksadecimalnog broja u binarni vrši se obratnim postupkom:

Page 21: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

21

Šesnaest bit-ni binarni broj može se upotrebom heksadecimalnog brojnog sistema vrlo prikladno prikazati. Pretvaranje je dosta jednostavna i omogućava brzo saznanje o očitanim sadržajima u memoriji računara ili nekom njegovom drugom sklopu. To je i razlog o potrebi poznavanja prikazanih brojnih sistema.

Pretvaranje iz oktalnog u heksadekadni sistem i obratno je jednostavna, broj se pretvori u binarni i onda se grupira u grupe od četiri ili od tri znamenke i pretvara u drugi oblik.

Direktna pretvaranje dekadnog broja u oktalni moguća je po istom načelu kao pretvaranje u binarni oblik. No najjednostavnije je dekadni broj pretvoriti u binarni a onda binarni broj grupiranjem binarnih znamenki pretvoriti u oktalni ili heksadekadni, već prema potrebi.

Pretvaranje oktalnog zapisa u heksadecimalni zapis nekog broja ne može se izvršiti naposredno, već se vrši preko binarnog broja. Jedna tetrada binarnog broja predstavlja heksadecimalni broj. Isto tako, tri znamenke binarnog broja predstavljaju jednu znamenku u oktalnom brojnom sistemu. Prema tome, oktalni broj se treba prevesti u binarni, a iz binarnog grupiranjem po četiri znamenke izračuna se heksadecimalna vrijednost.

2.4.3.ARITMETIKA U HEKSADECIMALNOM BROJNOM SISTEMU

Primjer sabiranja:

Page 22: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

22

Primjer oduzimanja:

Primjer množenja:

Množi se sukcesivno sa brojevima.

Primjena binarnog brojnog sistema u računarskoj tehnici opravdana je zbog dvije prednosti koje sistem omogućava:

- Pouzdanost u radu,

- Ekonomičnost.

Pouzdanost se lako i sigurno ostvaruje jer elektronički sklop treba da zauzme samo dva stanja: ima i nema napona, odnosno "1" ili "0", uprošteno "radi" ili "ne radi". Ako se uz to svakoj binarnoj kombinaciji pridoda određeni broj bit-a na način da se za svaku osigura ukupan paran broj jedinica ili nula (provjera na parnost), ili se izračunava ukupni brojčani iznos kao zbir svih brojki unutar određenog "bloka" podataka - kontrolni zbir (check sum) koji se uz pripadni mu blok prenosi, te slično navedenom, pridonosi se ukupnoj pouzdanosti sistema i kontroli na pojavu greške. Ekonomičnost se očituje u potrebi za najmanjim brojem vodova za prenos signala na daljinu.

No zbog preglednosti i upravljanja radom sistema reprezentiranje korisniku je u drugim brojnim sistemima.

Osnovni i najmanji element u kombinaciji impulsa je mogućnost da na jedno mjesto u kombinaciji impulsa dođe pozitivni ili negativni impuls, odnosno "0" ili "1". Izbor između "0" i "1" predstavlja najmanji mogući izbor i predstavlja mjeru količine informacija nazvanu BIT (BInary digiT=binarna znamenka). Prema ASCII kodu skup od 8b (osam bit-a) predstavlja jedan znak. Prema dogovoru ta je kombinacija nazvana BAJT (BYTE).

Dakle:

Page 23: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

23

8 b (bit-a) = 1 B (Bajt)

Veće jedinice za mjerenje količine informacije od navedenih su:

1 kB (kilo Bajt) = 1 024 B

1 MB (Mega Bajt) = 1 024 kB = 1 048 576 B

1 GB (Giga Bajt) = 1 024 MB = 1 048 576 kB = 1 073 741 824 B

Ako kažemo da neki memorijski medij ima KAPACITET od 4 MB, pojednostavljeno rečeno to znači da je u njega moguće spremiti 4'194'304 B, odnosno znakova, u veličini od 8b (osam bit-a) svaki.

Multiplikator 1024 rezultat je matematičkog izraza:

a to je dekadni iznos binarnog broja: 100'0000'0000B.

Kako računar (digitalno) koristi isključivo brojeve, to znači da se svi znakovi, instrukcije i podaci moraju pretvoriti u brojeve kako bi računaru bili razumljivi. Znakovi i instrukcije najčešće se unose preko tastature koja šalje računaru odgovarajuće kombinacije impulsa. Uopćeno, tastatura je elektromehanički pretvarač koji znak na tipki po pritisku pretvara u pripadnu mu binarnu kombinaciju. Svakom znaku pripada njemu svojstvena binarna kombinacija. Skup znakova i binarnih kombinacija naziva se KOD, a sam postupak kreiranja binarnih kombinacija naziva se KODIRANJE.

Iz skorije čovjekove istorije postupak pridruživanja impulsa, električnih ili svijetlosnih ili sličnih, pojedinim znakovima pisma poznat je pod nazivom "MORZE-ova abeceda". Računar koristi ista načela u naprednijem obliku.

Iz navedenog je jasno da računari ne mogu uspješno razmjenjivati podatke ako ne koriste isti kod, te je od velikog značaja standardizacija koda i njegovo poštivanje, ali i njegovo poznavanje.

Page 24: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

24

Upotreba kodova

„Enigma“ najpoznatiji uređaj za kodiranje i dekodiranje

3 poglavlje

Page 25: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

25

3. KOD I KODIRANJE

Pretpostavka uspješnog komuniciranja računara u razmjeni ili obradi podataka je DOGOVOR o skupu znakova koji će se u radu s računarm koristiti te pripadnim binarnim kombinacijama za svaki od znakova i zadaći koja se za svakog ima izvršiti. Dogovor se vremenom proširuje i dograđuje, a on je ili ozakonjeni standard države ili preporuka neke međunarodne organizacije.

Skup svih znakova koji se tako koriste naziva se APSTRAKTNA ABECEDA, koja zajedno s pripadnim binarnim (ili nekim drugim) kombinacijama tvori KOD. Pojedini znakovi u kodu nazivaju se KODNI ELEMENTI, a pripadni im zamjenjitelj, bilo da je u pitanju binarna kombinacija, neki drugi znak ili nešto treće, nazivaju se KODNA ZAMJENA.

Broj kodnih elemenata u apstraktnoj abecedi naziva se OBIM KODA. Kod računara broj upotrebljenih elemenata proporcionalan je broju bit-a koji se žele upotrijebiti za kodnu zamjenu prema slijedećem izrazu:

N = 2m,

gdje N obim koda; broj elementa, a m je broj bit_a upotrebljen za kodnu zamjenu.

Primjer Koliko se znakova može kodirati ako se koristi kodna zamjena od:

A.) 2 bit-a,

B.) 4 bit-a,

C.) 8 bit-a,

A.) S dva bit-a moguće je ostvariti slijedeće kodne zamjene:

B.) Proširenjem na četiri bit-a po kodnoj zamjeni daje veći broj mogućih upotrebljenih kodnih elemenata:

Bit najveće težine (prvi s lijeve strane) često se naziva VODEĆI BIT binarne kombinacije. Najmanje značajan bit (Least Significant Bit) obično ima oznaku LSB, a vodeći bit ima najveći značaj i oznaku MSB (Most Significant Bit).

Page 26: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

26

C.) Mikroračunari najčešće koriste kod od osam bit-nih kodnih zamjena te je:

Koji će se znak pridružiti određenoj kodnoj kombinaciji (kodnoj zamjeni) ovisiti će o prihvaćenom dogovoru korisnika.

Postupak pretvaranja kodnog elementa u kodnu zamjenu naziva se KODIRANJE, a postupak pretvaranja kodne zamjene u odgovarajući znak naziva se DEKODIRANJE. Kod računara postupak kodiranja u pravilu se odvija preko tastature, a postupak dekodiranja očituje se kao prikaz na ekranu monitora računara ili na štampaču.

Morze-ov kod nije imao kombinacije impulsa raznolike samo po rasporedu već i po broju impulsa i njihovoj duljini trajanja. Takav neujednačeni kod nije prikladan u računarskoj tehnici zbog otežane sinhronizacije i prepoznavanja. Prikladnije je kad svaka kodna zamjena jednako vremenski traje.

U računarskoj tehnici najraširenija je upotreba BCD i ASCII koda.

Page 27: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

27

3.1. BCD KOD

BCD je skraćenica od "Binary Coded Decimal", što znači: binarno kodirana dekada. Kodiranje u BCD kodu obavlja se nadomještanjem svake dekadne znamenke s njenim četvero bit-nim binarnim ekvivalentom, a to znači da se ne koriste sve raspoložive kombinacije od četiri bit-a već samo prvih deset iz prikaza b.) u primjeru.Binarni broj prikazan u BCD kodu sličan je heksadekadnom broju, samo bez znamenki A,B,C,D,E i F.

Primjer:

Pretvaranje BCD binarne kombinacije u dekadni broj.

Ovaj kod ima raširenu primjenu u mjernoj tehnici.

Kako digitalni računar, osim s brojevima operiše i sa slovima i drugim posebnim znakovima,

Page 28: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

28

potrebno je uzeti veći broj binarnih kombinacija. Osnova današnjih računara je ASCII kod s osam bitnim kodnim zamjenama.

3.2. ASCII KOD

ASCII kod je skraćenica od početnih slova rečenice "American Standard Code for Information Interchange", što prevedeno znači: Američki standardni kod za razmjenu informacija. Tokom razvoja računarske tehnologije definirano je više varijanti ovoga koda. Najčešće je u upotrebi osam bit-na varijanta u kojoj je prvih 128 kombinacija (0-127) standarizirano, a drugih 128 kombinacija (128-255) dato na volju korisniku da sam kreira kodne elemente. Prvih 128 elemenata koda prikazano je na narednoj tablici.

Kod je zamišljen da omogući što veću fleksibilnost i brzinu. Tako na primjer sve instrukcije imaju bit-ove "b6" i "b5" jednake nuli, a bit "b7" je nula ako su u pitanju standarizirani znakovi, odnosno jedan ako su u pitanju znakovi definisani od korisnika, koji čine drugu grupu od 128 znakova ASCII koda. Zanakovi velikih i malih slova poklapaju se u prva četiri bit-a (b0-b3) i

Page 29: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

29

prepoznaju se analizom "b5", a za sva slova "b6" je jedan. Iz tablice lako se pronađe binarna kodna zamjena znaka čitajući bitove "b7-b0" i heksadecimalna vrijednost znaka čitajući stupac-redak.

Primjer: Izračunati vrijednosti znakova ASCII koda izražen različitim brojnim sistemima.

Pretvaranje iz heksadecimalnog u dekadni oblik nije preteška jer su u pitanju samo dvije heksadecimalne znamenke. Dakle, svaki znak ili instrukcija opisani su s kombinacijom od po 4 bit-a višeg i nižeg reda i grupirani su tako da se brzo prepoznaje o kojem je znaku riječ. Bit-ovi od "b0-b6" nazivaju se informativni bit-ovi, a bit "b7" pomoćni bit. Značenje pojedinih instrukcija ASCII koda je:

- NUL -- logički uređaj bez utjecaja ili odziva na poruku - SOH -- oznaka početka kontrolnih podataka pred blokom poruke - STX -- oznaka kraja kontrolnih podataka i početak bloka poruke - ETX -- oznaka kraja bloka poruke - EOT -- oznaka kraja prenosa podatka (kontrole i poruke) - ENQ -- zahtijev za odgovor odredišta - ACK -- potvrda odredišta o prijemu - BEL -- aktiviranje zvučnog poziva - BS - -- brisanje kursorom unatrag (u lijevo) u redku - HT -- kontrola tabulacije (skokova) u redku - LF -- postavljanje kursora u novi red - VT -- kontrola tabulacije (skokova) po redovima - FF -- postavljanje papira štampača na početak nove stranice - CR -- vraćanje na polazni položaj u istom redku - SO -- početak bloka znakova drugačijeg značenja - SI -- kraj bloka znakova drugačijeg značenja - DLE -- promjena značenja kontrolnih znakova - DC1 od DC4 -- korisnički definisani kontrolni znaci - NAK -- odgovor prijemnika o neostvarenom prijemu - SYN -- održavanje sinhronizacije (usklađenosti) prenosa - ETB -- oznaka kraja bloka podataka - CAN -- poruka o pogrešno otposlanim podacima - EM -- fizički kraj pošiljanja podataka - SUB -- slijedi zamjena za neispravne podatke - ESC -- daje mogućnost uporabe proširenja koda - FS -- rastavljač blokova podataka (datoteka) - GS -- rastavljač grupe podataka u bloku - RS -- rastavljač pojedinih zapisa u grupi

Page 30: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

30

- US -- rastavljač jedinica - SP -- razmak (prazan znak) - DEL -- brisanje znaka s desne strane kursora

1968. godine međunarodna organizacija za telekomunikacije i promet (CCITT) ustanovila je MEĐUNARODNI KOD br.5, koji se u suštini ne razlikuje od ASCII koda.

Poširenje ASCII koda (drugih 128 znakova) sadrži uglavnom znakove grčkog pisma, znakove lokaliteta i znakove za kreiranje okvira.

3.3. RAČUNARSKA ARITMETIKA

Bez obzira u kojem će se brojnom sistemu prikazivati i unositi podaci u digitalno računar, sve radnje u njemu odvijaju se u binarnom brojnom sistemu iz već navedenih razloga. U suštini nema razlike u postupku izvođenja aritmetičkih operacija u binarnom i dekadnom brojnom sistemu (ili nekom drugom), jer sva pravila koja vrijede kod osnovnih aritmetičkih operacija u dekadnom brojnom sistemu vrijede i za binarni brojni sistem.

Page 31: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

31

Analiza i sinteza logičkih funkcija i sklopova

Ekskluzivno ILI logičko kolo (XOR)

4 poglavlje

Page 32: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

32

4. RAČUNARSKA LOGIKA

Kako je već u predhodno rečeno, rad digitalnog računara temelji se na DVA definisana fizikalna stanja:

1. ima impulsa (napona) ------------ simbolička oznaka "1" 2. nema impulsa (napona) ---------- simbolička oznaka "0"

Znači da se elektronički sklopovi, koji u računaru obavljaju razne operacije, ponašaju slično prekidačkim elementima koji različitim električnim izvedbama izvršavaju operacije sa stanjima "1" i "0" po zakonima LOGIČKIH PRIJEDLOGA koji mogu biti ISTINITI ili NEISTINITI.

Osnovu ove grane logike, koja datira još od Aristotela, praktički je obradio i definisao njene simbole matematičar George Boole. Po njemu je ova grana matematike (zakoni istinitosti) nazvana BOOLE-ova ALGEBRA, a bavi se međusobnim odnosima elemenata u skupu i između skupova.

4.1. LOGIKA SKUPOVA

SKUP je grupa elemenata koji posjeduju barem jednu zajedničku karakteristiku u jednoj jedinstvenoj grupi elemenata (opšti skup). To znači da se grupa elemenata može podijeliti u dvije podgrupe-PODSKUPA i to:

1. Podskup elemenata s zajedničkim svojstvima - npr. "A"

2. Podskup elemenata koji ne pripada pod 1. -- npr. "non A"

Tu podijelu u skupu jasnije predočava slijedeća slika.

Opšti skupovi elemenata.

Podskupovi "A" i "non A" su komplementarni, "A" se predstavlja kao ISTINIT i pridružuje mu se stanje "1", a njemu komplementaran skup "non A" kao NEISTINIT i pridružuje mu se stanje "0". Oba stanja kao rezultat obrade ne mogu istovremeno postojati. Isto vrijedi za podskupove "B" i "non B".

Operacije koje povezuju navedena stanja u skupu i između pojedinih skupova su:

1. Operacija NO ( NE ) – negacija postojećeg stanja 2. Operacija OR ( ILI ) – zahtijeva barem jedno istinito stanje za rezultat ''1'' pri obradi 3. Operacija AND ( I ) - zahtijeva sva istinita stanja za rezultat ''1'' pri obradi 4. Operacija NOR ( NILI ) - negacija OR

Page 33: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

33

5. Operacija NAND ( NI ) --- negacija AND

6. Operacija EXOR ( isključivi ILI ) --- zahtijeva samo jedno istinito stanje za rezultat "1" pri

obradi

Prve tri operacije su osnovne, a preostale su iz njih izvedene. Rezultati odnosa između skupova i u skupu prikazuju se TABLICAMA ISTINE kako slijedi.

1. Tablica istine operacije NE:

U lijevi stupac tablice upisuju se sva moguća stanja koje skup "A" može imati, kao i kombinacije svih stanja skupova ako ima više skupova. U desnom stupcu ili stupcima upisuje se stanje koje nastaje kao rezultat izvršene operacije ili operacija nad stanjima prikazanim u lijevom stupcu.

2. Tablica istine operacija ILI, NILI i isključivi ILI izvedenim nad različitim kombinacijama elementa dva skupa.

Page 34: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

34

3. Tablica istine operacija I i NI izvedenim nad različitim kombinacijama elementa dva skupa.

Iz tablice proizlazi da neke operacije između skupova odgovaraju operacijama s binarnim brojevima. Ako se "1" i "0" ne koristi za oznaku istine i neistine, već za postojanje i nepostojanje impulsa, posebno konstruisani logički električni sklopovi obavljat će logičke operacije s impulsima i omogućiti obavljanje aritmetičkih operacija. Zbog toga se takvi električni sklopovi, u pravilu izvedeni u integrisanoj tehnici, nazivaju INTEGRISANI LOGIČKI ELEKTRIČNI SKLOPOVI.

4.2. OSNOVNI LOGIČKI SKLOPOVI RAČUNARA

Razvoj digitalnih računara usko je povezan s razvojem tehnologije izrade integrisanih sklopova, koja omogućava nebrojne mogućnosti kreacije spojeva logičkih sklopova u jednom kućištu vrlo malog volumena.

Na ulaze logičkih integrisanih sklopova dovode se impulsi nad kojima se želi izvršiti operacija, a rezultat operacije se očituje na izlazu odmah po promjeni ulaznog stanja ili po dopuštenju kojim upravlja nekakav generator takta.

Page 35: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

35

Osnovni logički sklopovi digitalnog računara.

Povezivanjem logičkih sklopova u jedinstvenu funkcionalnu cjelinu ostvaruju se pojedine zadaće kao aritmetičke operacije i druge. Prikazani simboli na slici uvršteni su u anglosaksonskoj stručnoj literaturi, iako se mogu susresti i drugačije ali slične oznake. No za ilustraciju označavanja i crtanja logičkih sklopova dovoljni su i primjeri sa slike.

Primjer: Realizacija zbrajanja binarnih brojeva u računaru:

Sklop na predhodnoj slici obavlja samo operaciju zbrajanja bez prenosa. Sklop će obaviti zadaću za nulti bit binarnog broja (prva znamenka). Da bi se prenos obuhvatio pri zbrajanju uz naredne bitove binarnog broja (daljnje znamenke) to znači da se izlaz 'C' mora pridružiti ulazima 'A' i 'B' za svaku narednu znamenku, odnosno jedan polusumator vršio bi binarno sabiranje znamenki, a drugi bi polusumator izračunatom zbroju pridodao predhodni prenos i

Page 36: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

36

tako za svaku narednu znamenku.

Jedna od osnovnih kombinacija logičkih sklopova u digitalnoj tehnici je impulsno brojilo. Zadaća mu je pored binarnog brojanja i dijeljenje frekvencije. Osnovni element brojila je bistabil. Najjednostavniji primjer u izvedbi s T-bistabilom prikazan je na narednoj slici.

Asinhrono binarno brojilo.

T-bistabil ima osobinu, prema izvedbi na slici, da mijenja stanje na izlazu pri svakom prelasku ulaznih impulsa iz stanja '1' u stanje'0'. Ako se izlaz iz jednog bistabila upotrebi kao ulaz u drugi osim efekta dijeljenja frekvencije, što se vidi prema duljini impulsa na svakom od izlaza, binarne kombinacije na izlazima bistabila daju upravo binarne vrijednost broja impulsa koji su pridošli na ulaz u brojilo.

Brojilo s tri bistabila brojati će do 23=8. S većim brojem bistabila i međusobnim povratnim spregama s izlaza jednog prema ulazu nekog od predhodnih može se postići brojanje do deset.

Brojila imaju osobito veliki značaj pri dizajnu električnih komponenti za mjerne svrhe. I samo digitalno računar u svojoj konstrukciji sadrži nekoliko brojila od kojih rad jednog od njih prepoznajemo kroz prikaz datuma i vremena na monitoru računara.

Page 37: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

37

Upotreba sistemskog softvera

Windows Vista GUI

5 poglavlje

Page 38: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

38

5. SISTEMSKI SOFTVER Hardverski dio kompjutora može obavljati ulazne, računske i izlazne operacije, ali koje se od njih obavljaju i kojim redoslijedom određuje se softverskim dijelom. Razlikujemo dvije vrste kompjutorskog softvera: • sistemski • aplikacijski Razvojem distribuirane obrade podataka, koja se prije svega temelji na sve široj upotrebi osobnih kompjutora, od 1980-ih godina pojavila se još jedna, treća, vrsta softvera, nazvana integrirani softverski sistemi. Sistemski softver je skup programa za upravljanje i kontrolu rada uređaja, za opsluživanje korisnika i izvršenje njihovih programa. U gruboj podjeli čine ga programi operativnog sistema, uslužni programi i prevodioci. Bitna komponenta sistemskog softvera jest operativni sistem. To je skup programskih modula pomoću kojih se, jednostavno rečeno:

a) realizira kontrola hardverskih resursa (procesorom, primarnom i sekundarnom memorijom te ulazno-izlaznim uređajima),

b) rješavaju problemi u zahtjevima za hardverskim resursima iskazani u korisničkim programima,

c) optimizira i usuglašava rad hardverskih uređaja prema korisničkim zahtjevima, d) upravlja komuniciranjem korisnika s kompjutorom i hardverskim uređajima pri izvršenju

korisničkih programa. Operativni se sistem, dakle, ponaša kao posrednik izmedu korisničkih programa i hardvera. Od mnogih operativnih sistema danas se često upotrebljavaju UNIX, MS-DOS i XENIX. Uslužni programi omogućuju sortiranje podataka, prijenos podataka i programa s jednog medija na drugi, upisivanje podataka i programa, vođenje statistike i evidencije o radu kompjutora i sl. Osnovne karakteristike su im otvorenost (moguće je proširenje novim programima), relativna neovisnost o operativnom sistemu i smještaj na sekundarnoj memoriji. Prevodioci su programi koji "razumiju" jezike za programiranje i korisničke programe, napisane tim jezicima, prevode ih u programe strojnog ili nekog drugog jezika za programiranje. Sistemski softver suvremenih kompjutora obuhvaća i sisteme za upravljanje bazama podataka koji omogućuju definiranje složenih struktura podataka i upravljanje pristupom podacima ovisno o potrebama korisnika.

Page 39: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

39

5.1. OS (OPERATIVNI SYSTEM)

Rani računari nisu imali operativni sistem (pogledati Istorija operativnih sistema). Operator je osoba koja je ručno unosila i pokretala programe. Kada su razvijeni programi za učitavanje i pokretanje drugih programa logično je bilo da takvi programi dobiju naziv po onome čiji posao obavljaju. Prvim računarom ćemo smatrati takav elektronski računar koji je odgovarao Fon Nojmanovoj arhitekturi - kod koga su i program i podaci u istoj memoriji. Kada su se sa sledećim računarima pojavili i prvi spoljašnji uređaji - čitači papirne trake i bušač kartica - pojavila se prilika za sledeći stepen automatizacije. Uobičajeni skup kartica na kojima su se nalazili kodovi za ulazne i izlazne operacije su bile klica za budući razvoj operativnih sistema. Najčešća upotreba pojma "operativni sistem" danas, od opšte i stručne javnosti, se odnosi na sav softver potreban korisniku za upravljanje sistemom i pokretanje svih programa koji mogu raditi na tom sistemu. Po opšteprihvaćenim normama to podrazumeva ne samo najniže slojeve jezgra (kernel) koji neposredno upravljaju uređajima nego i biblioteke neophodne korisničkim programima kao i osnovne programe za baratanje datotekama i konfigurisanje sistema. Granica između operativnog sistema i korisničkih programa nije precizno određena i predstavlja često predmet rasprava. Naprimer, jedno od ključnih pitanja u antimonopolskom sudskom slučaju Sjedinjene Američke Države protiv Majkrosofta je da li je Majkrosoftov pretraživač Internet Eksplorer deo operativnog sistema Windows ili je deo skupa korisničkih programa. Drugi primer je neslaganje oko imenovanja GNU/Linuks, jer u osnovi jeste Linuks kernel ali mnogi upravo ceo operativni sistem zovu Linuks. Najniži nivo svakog operativnog sistema je kernel, jezgro, prvi sloj softvera koji se učitava u računarsku memoriju pri pokretanju. Kao prvi softverski sloj, on obezbeđuje svom ostalom softveru koji se potom učita u operativnu memoriju zajedničke usluge jezgra. Osnovne usluge koje pruža ovo zajedničko jezgro su pristup diskovima, upravljanje memorijom, upravljanje procesima i poslovima i pristup ostalim računarskim uređajima. Kao i kod operativnog sistema i ovde postoji pitanje šta tačno treba da čini "kernel". Postoje mišljenja koja podržavaju koncept "mikrokernela" ili "monolitni kernel" ili nešto treće, čak se postavljaju pitanja kao na primer—treba li sistem za upravljanje datotekama (fajl sistem) biti deo kernela?

5.1.1. SISTEMSKI POZIVI

Sistemski pozivi su usluge koje korisnički programi zahtevaju od operativnog sistema. Sistemski pozivi često koriste posebne procesorske naredbe koje uzrokuju da procesor menja mod, a neki primeri su "zaštićeni mod" (protected mode) ili "nadzornički mod" (supervisor mode).

5.1.2. ZAJEDNIČKE USLUGE JEZGRA

Kako su se operativni sistemi razvijali, sve više usluga se očekivalo od zajedničkog jezgra. Od 1990ih se od operativnih sistema često očekuje da pruže mogućnost povezivanja na lokalnu mrežu i na Internet. Čak se očekuje da zaštite ostali softver na računaru od štete koju mogu naneti zlonamerni programi, kao što su virusi. Spisak usluga koje se očekuju od jezgra se i dalje širi.

Page 40: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

40

Programi međusobno komuniciraju kroz aplikativni programski interfejs (API), slično kao što ljudi sa računarom komuniciraju kroz korisničko sučelje - korisnički interfejs. Ovo posebno važi u komunikaciji između korisničkih programa i operativnog sistema. Zajedničkim uslugama jezgra operativnog sistema korisnički programi pristupaju kroz API. Time operativni sistem omogućava komunikaciju između softvera i hardvera, to jest, programa i uređaja. U osnovne funkcije operativnog sistema svakako treba navesti upravljanje procesorom.

5.1.3. OPERATIVNI SISTEMI DANAŠNJICE

Najrašireniji operativni sistemi današnjice koji se koriste na računarima opšte namene (tu računamo i lične računare - Pi Si) su grupisani u dve porodice: porodica Juniksolikih i porodica Majkrosoft Windows operativnih sistema. Veliki računari i računari posebne namene koriste izmenjene ili posebno naručene operativne sisteme koji ne moraju biti ni u kakvoj vezi sa Windowsom ili Juniksom ali su, po pravilu, bliži Juniksu nego Windowsu. Juniksoliki sistemi Porodica Juniksolikih sistema je raznorodna grupa operativnih sistema koja uključuje i Sistem V, BSD, i Linuks. Ime Juniks je zaštićeno od strane Otvorene Grupe (The Open Group) koja daje licencno pravo korišćenja imena kada se pokaže da predmetni operativni sistem zadovoljava sve potrebne zadate uslove. Sam naziv se odnosi na veliki skup operativnih sistema koji podsećaju na prvobitni Juniks. Juniks sistemi pokreću računare raznolikih unutrašnjih arhitektura. Najrasprostranjenija primena je među serverima u korporativnom sektoru ali i među radnim stanicama u akademskom i inženjerskom okruženju. Slobodno dostupne varijante Juniksa, kao što su Linuks i BSD su u usponu popularnosti. Napravljen je proboj i na tržištu stonih računara, posebno "prijateljskim" Linuks distribucijama, kao što je Ubuntu Linuks. Neke vlasničke varijante Juniksa, kao što je HP-ov HP-UX i IBM-ov AIX su napravljeni posebno da rade samo na računarima i sa opremom originalnog proizvođača. Drugi, kao Solaris, mogu raditi na originalnim računarima ali i na drugim računarima koji odgovaraju proizvođačevim zahtevima. Eplov Mac OS X je BSD varijanta nastala iz NeXTSTEP i FreeBSD je zamena za raniji Mac OS u uskom segmentu tržišta, ali postaje vremenom najpopularniji vlasnički Juniks sistem. Tokom prethodnih godina su slobodni Juniks sistemi potisnuli vlasničke iz mnogih oblasti. Na primer, naučničko modelovanje i računarska animacija su nekad bili teritorija Silikon Grafiksa i njegovog IRIKS operativnog sistema. Danas su oni pod vlašću računarskih sistema pod Linuksom. Microsoft Windows Microsoft Windows porodica operativnih sistema nastaje kao grafička nadogradnja povrh starog MS DOS operativnog sistema PC računara. Današnje verzije se baziraju na jednoj naprednijoj varijanti koja je nazvana Windows NT i ne predstavlja više samo grafičko okruženje već uistinu potpuni operativni sistem. Windows radi na računarima zasnovanim na procesorima firme Intel i njima sličnim. Oznaka za takve procesore je h86 kompatibilni, a najpoznatiji su firme AMD. Postoje ili su postojale varijante koje rade na procesorima DEC Alpha, MIPS i PowerPC. Postoje takođe i varijacije za procesore sa 32 i sa 64 bita. Danas je Windows najpopularniji operativni sistem, uživajući ogromnu nadmoć na svetskom tržištu stonih računara od preko 90%. Takođe je značajno rasprostranjen i u segmentu malih i srednjih servera u primenama kao što su mrežni serveri ili serveri baza podataka.

Page 41: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

41

Drugi operativni sistemi Operativni sistemi za velike računare kao što je IBM-ov z/OS i operativni sistemi posebne namene, kao što su QNX, eCos, i PalmOS nisu bliski Juniksu niti Windowsu sem Windows SE koji je blizak Windowsu i nekoliko Linuks i BSD distribucija koje su posebno krojene za specifične primene. Pored operativnih sistema za velike računare postoje i operativni sistemi za manje uređaje (mobilni telefoni, digitroni i sl.) i uređaje specijalne namene (mikro-procesorski sistemi u automobilima, sistemi za automatsko otvaranje vrata i sl.), koji zahtevaju rad u realnom vremenu. Popularni operativni sistemi za mobilne telefone su Simbijan i OSE, dok za uređaje specijalne namene veliko uporište imaju OSECK i OSE Epsilon i sl. Stariji operativni sistemi koji se još uvek ponegde koriste su Windowsu-nalik OS/2 od IBM; OpenVMS od Hjulit Pakarda (nekada Didžital korporacije); Mek OS, Eplov prethodni ne-juniks operativni sistem; RISK OS, posebno stvoren za ARM procesore i njihovu arhitekturu; AmigaOS, prvi grafički orijentisan operativni sistem sa multimedijalnim mogućnostima i to još za široku publiku.

5.1.4.KLASIFIKACIJA I TERMINOLOGIJA

Operativni sistem je suštinski sastavljen iz tri skupa komponenti:

Korisničkog interfejsa, koji može biti grafičkog tipa ili imati interpreter komandne linije koji se još zove i školjka ("shell")

Sistemske rutine niskog nivoa Jezgro-kernel koji je srce operativnog sistema

Kao što naziv sugeriše, školjka je spoljašnji programski omotač jezgra, dok jezgro neposredno komunicira sa uređajima. Kod nekih operativnih sistema, kao što je Juniks, školjka i jezgro su različiti i samostalni entiteti, što omogućuje proizvoljne kombinacije i laku zamenu školjke. Drugi operativni sistemi samo formalno prikazuju postojanje različitih komponenti dok su u suštini monolitni. Ideje projektovanja jezgra operativnog sistema su se vremenom izdiferencirale u sledeće koncepte:

monolitno jezgro mikrojezgro egzojezgro

Većina najrasprostranjenijih operativnih sistema ima jezgra monolitnog tipa, kao što su Juniks, Linuks i Windows. Neki noviji operativni sistemi imaju mikrojezgro, kao Epl MekOS H, AmigaOS, QNX i BeOS. Među istraživačima i razvojnom zajednicom je mikrojezgro pristup veoma popularan, kao što je Hurd/GNU. Oba sistema imaju svojih prednosti i uspešno žive na mnogim mašinama. Na sistemima posebne namene koji podrazumevaju ugradnju sistema i softvera u elektronski proizvod se primenjuje projektovanje egzokernela, tačno za jedan uređaj i jednu primenu.

Page 42: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

42

5.2. ARHITEKTURA OPERATIVNOG SISTEMA WINDOWS 2000

5.2.1. OSNOVE WINDOWS 2000 ARHITEKTURE

Windows 2000 se sastoji od dvije komponente: jezgra (kernel space) i korisničkog dijela (engl. user space). U kernel prostoru se vrši rukovanje procesima, memorijom, fajl sistemima, itd. Korisnički prostor je okruženje u kojem se izvršavaju aplikacije. Korisnički dio cine: DLL-ovi, podsistemi okruženja i servisni procesi (koji se povezuju na kernel dio). Karakteristično je da je Windows 2000 naslijedio osobinu NT tehnologije i u tome što je skoro čitav operativni sistem (sistemske pozive, grafiku itd.) smjestio u kernel modu. Podsistem okruženja predstavlja interfejs između aplikacije korisnika i Windowsa 2000. Zahtjevi aplikacije se, preko ovog podsistema, pretvaraju u zahtjeve koje razumije Windows 2000 i prosljeđuju se ka izvršnom dijelu gdje se izvršavaju u kernel modu. Podsistem kernel mode-a se izvršava u zaštićenom području memorije. HAL i Kernel su dva najniža softverska nivoa i ona su pisana djelimično u programskom jeziku C a djelimično u asembleru što ih čini djelimično zavisnim od same mašine. Svi nivoi iznad njih su pisani u C-u , ili eventualno (slučaj nekih drajvera) u C++.

5.2.2. (HAL)

Viši nivoi operativnog sistema rukovode uglavnom internim sistemskim objektima. Niži nivoi, kao što je HAL (i djelimično kernel), komuniciraju sa uređajima pa su vezani za samu konfiguraciju. HAL je softver koji je pisan da bi se smanjili problemi implementacije operativnog sistema u raznim platformama (mašinama), tj. da instalaciju Windows-a 2000 učini što nezavisnijom od postojećeg hardvera. Posao HAL-a je da predstavi operativni sistem sa apstrakovanim dijelom za hardver. HAL je isti u svim Windows 2000 sistemima. Kada uključujemo neki novi hardver, postojeći driveri Windows-a 2000 i kernel preživljavaju promjene. HAL podrazumjeva pristup registrima uređaja (engl. device registers), adresiranje uređaja nezavisno od bus-a (npr. bilo koja PCI kartica može da se stavi na bilo koji PCI slot itd.), rukovođenje interrupt-ima i resetovanje, DMA transfere, rukovođenje tajmerima, multiprocesorsku sinhronizaciju, interfejs između Windows-a i BIOS-a, tj. sa njegovom CMOS memorisanom konfiguracijom. Drajveri uređaja pozivaju HAL rutine za prikupljanje informacija o platformi (mašini). U današnjim računarima se dešava da dva ili više uređaja imaju istu adresu bus-a tako da, kada je drajveru potrebno da im pristupi, njemu je potrebno da razlikuje adrese. Zbog ovoga HAL rješava problem tako što dodjeli takvim uređajima logičke adrese na osnovu kojih ce ih drajveri prepoznati. HAL rukovodi klokovima i osvježava ih svakih 100ns. Napominjemo da je DOS ovakva osvjezavanja radio sa mnogo sporijim taktom (2 s). HAL takođe rukovodi i DMA transferima i to sistemskim i onim specijalnim DMA mašinama u samim karticama. Pored ovih funkcija, naveli smo i mogućnost sinhronizacje kod multiprocesorskih sistema. HAL omogućava neke osnovne alatke za sinhronizaciju kao što su pokretni prekidači ili ključevi (spin locks) gdje npr. jedan procesor čeka neki podatak da bude pusten od drugog procesora. HAL, kao što smo pomenuli, komunicira sa BIOS-om. Poslije butovanja, HAL ispituje CMOS da bi saznao koje basove i I/O uređaje sistem posjeduje i kako su konfigurisani. Ove podatke

Page 43: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

43

HAL smješta u bazu registara tako da ih druge komponente sistema jednostavno nalaze ne zadirući u BIOS. Kao što smo napomenuli, HAL je mašinski zavisan i razne verzije su dostupne na CD-u Windowsa 2000. Kada se sistem instalira, bira se odgovarajući HAL i smješta se u obliku fajla hal.dll u direktorijumu \winnt\system32. Otklanjanje ovog fajla onemogućit ce butovanje sistema. HAL kao takav može u brzim multimedijalnim zahtjevima ponekad da ne zadovolji brzinu komunikacije sa hardverom. On se tada obogaćuje takozvanim DirectX procedurama koje su specijalizovane da pruže bržu (direktniju) komunikaciju između korisničkih procesa i hardvera.

5.2.3 JEZGRO OPERATIVNOG SISTEMA WINDOWS 2000 (ENGL. KERNEL LAYER)

Kernel je u stvari nivo u kojem je virtualno smješten čitav operativni sistem još od početka NT tehnologije. Kernel predstavlja viši nivo apstrakcije hardvera. U kernelu se nalazi algoritam upravljanja nitima. Pored ove funkcije, kernel rukovodi internim objektima. Ovi objekti se dijele na: objekte upravljanja i dispacher objekte. Ovo nijesu objekti kojima se može manipulisati preko korisničkih procesa već su objekti preko kojih izvršni dio kreira korisničke objekte. Objekti upravljanja su oni objekti koji su od suštinskog značaja za algoritam upravljanja u kernelu. Pored interrupt objekata, objekti upravljanja mogu biti: DPC (Deferred Procedure Call) objekti ili APC (Asynchronous Procedure Call) objekti. DPC objekti služe da bi se odvojili vremensko-kritični dijelovi interapt procedura od vremensko-nekritičnih. Drugim riječima DPC je mehanizam za pamćenje da neki interapti nijesu u datom trenutku tako važni i da ti određeni poslovi mogu sačekati. Tako, npr. kada se pritisne neki taster sa tastature, ukoliko se u međuvremenu startovao neki bitniji proces (većeg prioriteta), kôd tog tastera se ne procesira odmah iako interrupt procedura dozvoljava prosljeđivanje za taj taster. APC je slično DPC-u stim što se on dešava u kontekstu nekog procesa. Pored ove osobine, glavne karakteristike APC –a su:

APC se uvijek aktivira u određenim vremenskim intervalima od strane operativnog sistema,

APC može da uzrokuje preuzimanje prvenstva onog thread-a koji se trenutno izvršava, APC rutini se može takođe preuzeti prvenstvo izvršavanja.

Dispacher objekti su: semafori, muteksi, event-i, itd. Ovo su objekti koji omogucuju realizaciju scheduling- a (upravljanja saobracajem threads-a) što je u stvari i jedan od glavnih uloga kernela.

5.2.4 IZVRŠNI MODUL (ENGL.THE EXECUTIVE)

Executive je softver pisan u programskom jeziku C i može se reći da je hardverski nezavisan. Executive sadrži 10 komponenti (na slici 11-7 prikazanim osjenčenjem). To su u stvari procedure koje rade zajedno u ostvarenju nekog zadatka. Između njih ne postoje čvrste granice i mogu čak biti drugačije organizovane. Između procedura istog nivoa postoji komunikacija, tj. one intenzivno pozivaju jedna drugu. Thread-i, dok su u kernel modu,

Page 44: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

44

izvršavaju ove procedure. Executive obezbjeđuje rukovanja većinom I/O operacija (u slučaju diska, raznih kartica za I/O itd.) i rukovođenje objektima. Ono jedino ne podrazumjeva I/O tastature i ekrana. Object manager rukovodi svim mogućim objektima operativnog sistema (procesima, thread-ima, fajlovima, semaforima, itd.) Kada se objekat kreira, object manager rezerviše jedan blok virtualne memorije u kernelu a kada se objekat uništi, prazni tu memoriju i tada je ona slobodna. Object manager rukovodi prostorom imena objekata gdje se nalazi lista svih postojećih objekata. Objekti se stvaraju od strane svih komponenti Executive-a. I/O manager predstavlja set ključnih procedura za komunikaciju sa I/O uređajima i komandovanje tim uređajima od strane korisnika. I/O manager takođe predstavlja skladište svim drajverima i on ih poziva kada je potrebno izvršiti neku fizičku I/O operaciju. Process manager je ključ funkcionalnosti Windowsa 2000. On rukovodi svim procesima i thread-ima od samog kreiranja do njihovog završetka (uništenja). Memory manager rukovodi učitavanjem virtualnih stranica u okvire fizičke stranice. On na neki način predstavlja i mehanizam zaštite jer dozvoljava procesu da pristupi samo onim stranicama koje spadaju u adresni prostor tog procesa. Na ovaj način se jednom procesu, osim u specijalnim okolnostima, ne dozvoljava pristup adresnom prostoru drugog procesa. Memorijska arhitekrura se sastoji od virtualne memorije kojoj se pristupa linearno preko 32-bitnih adresa. Memory manager takođe pravi i sistemske pozive koji su vezani za rukovođenje memorijom. Security manager treba, između ostalog, da zadovolji sigurnosne zahtjeve Američkog Ministarstva Odbrane propisane u tzv. Narandžastoj knjizi C2. Ovdje se specificiraju razni zahtjevi za sigurnošću počevsi od log-in zaštite pa do činjenice nuliranja virtuelnih stranica prije ponovnog korišćenja. Napominjemo da je za ovo nuliranje stranica u Windowsu 2000 zadužen tzv. zero-page thread. Cache manager ima zadatak da blokove podataka sa diska koji se najčešće koriste zadrzi u memoriji tako da se njima može brže pristupiti u slučaju ponovnog poziva. Kada je neki blok memorije potreban, prvo se zahtjeva od Cache Mangera da preda taj blok. Ako ovaj ne sadrži taj blok, zahtjeva se od fajl sistema da alocira potrebnu memoriju. Kolicina kes-a, tj. te memorije, je dinamička i mjenja se u zavisnosti od zahtjeva. Cache Manager mora stalno biti u sinhronizovanom radu sa Virtual Memory Manager-om pošto se blokovi fajlova učitavaju u virtualnom adresnom prostoru procesa. Plug- and-play manager dobija sve zapise o novim uređajima. Zadatak ovog softvera je da konfiguriše novi uređaj, da mu dodjeli određeni interapt i da locira i učita odgovarajući drajver za taj uređaj. Za neke uređaje (SCSI, itd.), provjera novog hardvera se obavlja prilikom samog butovanja sistema a za neke i u toku rada kompjutera (npr. USB). Napominjemo da “plug and play” nije postojao u Windows NT Configuration manager barata sa registrima. On dodaje nove vrijednosti u registrima i traži vrijednosti (podatke) sa registara kada je to potrebno. Power manager ima zadatak da isključi monitor i hard disk i neki drugi hardver kada su nekorišćeni određeno vrijeme. Power manager može da, pored standardnog radnog stanja, stavi kompjuter u jednom od sljedećih načina rada:

Sleep-1: snaga procesora reducirana, RAM i keš su uključeni, trenutno ukljucivanje (buđenje) uspomoc neke akcije.

Sleep-2: CPU i RAM uključeni, procesorski keš isključen, nastavlja se rad sa tog istog računara.

Sleep-3: CPU i keš isključeni, RAM uključen, sistem se mora restartovati sa fiksne adrese.

Page 45: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

45

Hiberanate: isključeni CPU, RAM i kes. Sistem se restartuje od nekog sačuvanog fajla na disku. Poslije butovanja, na ekranu je sve isto kao i prije ulaska u hibernate stanje.

Off: Sve je isključeno. Potreban je potpuni restart sistema. Treba napomenuti da Power Manager nije postojao u Windows NT 4.0. Local procedure call manager omogućava efikasniju kumunikaciju između procesa i njihovih podsistema. GDI je u Windowsu 2000 smješten u kernel modu, što Windows 2000 čini bržim multimedijalnim sistemom. GDI sadrži funkcije za rukovanje slikom na ekranu i slikom koja se šalje štampaču. GDI takođe sadrži Window manager i display driver (drajvere za prikaz). Ekzekutivni fajl (modul) Win32 obavlja neke sistemske pozive za grafičku podrsku i komunikaciju sa grafičkim uređajima. Nivo Sistemskih servisa služi da obezbijedi interfejs za izvršni (executive) dio. On prihvata sistemske pozive (koji dolaze iz korisničkog dijela) i poziva odgovarajuće sastavne dijelove executive-a da izvrše zahtjeve tih poziva. Drajveri uređaja (engl. device drivers) nijesu sastavni dio executive-a ni kernela što znaci da nijesu dio fajla ntoskrnl.exe. Drajver koji se instalira u sistemu se upisuje u registre i on se učitava svaki put kada se sistem podiže. Kada kažemo drajveri, ne mislimo samo na makroskopske uređaje kao što su kartice, skeneri, štampači itd. već mislimo i na čipove (npr. na samoj matičnoj ploči). Postoje i tzv. file system driveri koji rade na relaciji: file I/O <-> device I/O. Najveći drajver je drajver grafike. Drajveri se instaliraju u kernel memoriji (jer se oni nalaze unutar kernel moda) pa imaju pun pristup kernel tabelama i čitavom hardveru. Drajveri su stvari kernel moduli koji se učitavaju. Oni ne manipulišu hardverom već pozivaju dijelove HAL-a. Zbog svega ovoga, važno je da se drajveri pišu kvalitetno, jer mogu uzrokovati promjene i pad operativnog sistema. Treba napomenuti da se komponenete kernel i executive nalaze smještene u fajlu ntoskrnl.exe. Ovaj fajl je na indirektan način pristupačan i korisničkom modu preko fajla NtDll.Dll o kome će biti riječi kasnije u odjeljku za podsistem okruženja.

5.2.5 OBJEKTI I NJIHOVA IMPLEMENTACIJA U WINDOWS 2000.

Objekti su jedna od najvažnijih kategorija operativnog sistema Windows 2000. Oni se najjednostavnije mogu definisati kao podaci RAM-a. Fajlovi memorisani na disku, npr. nijesu Windows 2000 objekti. Objekti se stvaraju kada se ti fajlovi otvore. Oni su u stvari skup memorijskih riječi u kernel adresnom prostoru. Zato se, u slučaju restartovanja sistema, svi ovi objekti izgube osim sistemskih procesa i procesa idle. Svaka vrsta rukovanja objektima ide preko Object manager-a. Ova činjenica je važna jer pruža jednostavan način za sigurnosne provjere tako što su svi mehanizmi provjere na jednom mjestu. Takođe je važno da se na ovaj način u svakom trenutku može znati koji su objekti još u upotrebi a koji se mogu obrisati. Svim objektima se pristupa na isti način i na isti način im se dodjeljuju imena. To se radi koristeci handles-e objekata. Objekti se sastoje od object header i object data. Object header ima sljedeće komponenete: ime objekta, direktorijum u kojem je objekt smješten, sigurnosne informacije (koje objekat koristi), kvote korišćenja, listu procesa sa hendles-ima koji ga koriste, brojač, i pokazivač na tip objekta. Rekli smo da objekti žive u kernelu, što znači da oni tada zauzimaju određeni adresni prostor. Zbog ovoga je važno znati koji objekat nije više u upotrebi i obrisati ga. Ovdje važnu ulogu

Page 46: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

46

igra brojač koji broji koliko je hendles-a otvoreno od strane svih procesa za određeni objekat. Kada se objektu pristupi od strane procesa, tj. kada se on otvori, brojač se inkrementira za 1. Kada se objekat zatvori, brojač se dekrementira za 1. Da bi se objekat mogao obrisati (i time oslobodio virtualni adresni prostor kernela) potrebno je da ovaj brojač bude 0 a takođe i drugi brojač koji broji ekzekutivne procese što koriste objekat. Kada su ova dva brojača 0, znači da nijedan korisnički ni ekzekutivni proces ne koristi objekat i zato se on briše. Na osnovu navedenog, vidi se da su objekti u stvari dinamična sturktura podataka koju object manager treba da održava. Ali, nijesu samo objekti oni koji u kernel prostoru imaju dinamičku strukturu. Pitanje dinamičke strukture kernela se u Windowsu 2000 rješava preko dijeljenja prostora na skladišta (engl. paged i nonpaged pool). Ovime se određeni objekti koji se češće koriste smjestaju u nonpaged pool dok se ovi drugi (kao što su npr. registri) smještaju u paged pool. Važno je napomenuti da se veličine vrijednosti ovih prostora mogu podesiti u registrima. Svaki objekat pokazuje (pokazivačem u hederu) na tip objekta. Tip objekta čuva zajednička svojstva za određene grupe objekata. Ova svojstva su: ime tipa, načini pristupa i prava pristupa, informacija da li novi objekat ovog tipa ide na paged ili nonpaged područje, itd. Treba pomenuti posljednju osobinu tipa objekta a to je pokazivač na set standardnih funkcija (koda) kao što su: open, close, delete, itd. Generalno govoreći, ne postoji definitivna lista tipova objekata. Ekzekutivne komponente mogu uvijek stvoriti neki novi tip objekta. Najčešće korišćeni tipovi objekata su objekti kreirani od strane: procesa, thread-a (prev. niti), portova, tajmera, uređaja (engl. device), drajvera, otvorenih fajlova, itd. Tako, za svaki proces i svaki thread postoji po jedan objekat koji čuva glavne osobine tog procesa ili tog thread- a i taj objekat se koristi za rukovanje tim procesima ili thread-ima. Port je, npr. objekat koji služi kao komunikacioni kanal između dva procesa (za komunikaciju porukama). Isto tako, svaki uređaj ima objekat uređaja koji sadrži informacije o tom uređaju i služi da bi se izvršile naredbe nad tim uređajem, tj. da se njime može rukovati. Svi drajveri uređaja koji su učitani imaju po jedan objekat u objektnom prostoru. Kada korisnik kreira ili otvara neki objekat, on zapravo pravi Win32 poziv koji se preko sistemskog servisa (ntdll.dll) pretvara u pravi sistemski poziv. Ovaj sistemski poziv koji treba da otvori ili kreira objekat ima za rezultat 64-bitnu vrijednost smještenu u privatnoj tabeli procesa koja drzi handles-e a koja se nalazi u kernelu. Vrijednosti ove tabele sadrže dvije 32-bitne riječi, jedna koja sadrži 29-bitni pokazivač na header objekta, 3 koja govori o nasljeđivanju i 32 koja predstavljaju informaciju o pravima na objekat (da li proces ima prava upisa na objekat ili samo čitanja). Pozicija odgovarajućeg handles-a sa tabele, se vraća korisniku da bi ga on koristio prilikom kasnijih poziva, u cilju manipulacije objektom. Važan detalj vezan za objekte je prostor imena objekata (engl. Object Name Space). U ovom prostoru su smješteni svi objekti. Ovo grupisanje može poslužiti npr. da neki proces pristupi nekom objektu koji pripada nekom drugom procesu, ako mu je to dozvoljeno. Inače, u Windows-u 2000 postoje 3 vrste prostora za imena i to: fajl sistem prostor, registarski prostor imena i prostor imena objekata. Prije boot- ovanja sistema, tj. dok se sistem podiže, nema objekata u memoriji i prostor imena objekata je prazan. U toku boot-ovanja, Plug and Play Manager provjerava uređaje i za svakog od njih kreira device objekat kojeg odmah ubacuje u prostor imena objekata. Za ove uređaje potrebno je da se učitaju i drajveri. Sistem prilikom boot-ovanja pregleda registre i vidi koji su drajveri potrebni. Za svaki od tih drajvera se kreira objekat i svaki od tih objekata se ubacuje u prostor imena. Kada se sistem odbutuje do kraja, svi I/O uređaji, disk particije itd. su u prostoru imena objekata.

Page 47: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

47

5.2.6 PODSISTEM WINDOWS 2000 KORISNIČKOG OKRUŽENJA

Ovaj podsistem služi kao interfejs između aplikacije i sistema. Windows 2000 formalno podržava 3 vrste API (Application Programing Interface) i to: Win32, POSIX i OS/2. Treba napomenuti da okruženje za POSIX (koji pruža minimalnu podršku za UNIX aplikacije) i OS/2, u praksi se skoro i ne mogu koristiti. Da bi se mogli koristiti programi sa UNIX-a na Windows 2000, Microsoft je izdao proizvod nazvan Interix. Inače, Windows 2000 pruža punu implementaciju Win32 i Win32 je oficijalni interfejs za Windows 2000. Kao što smo rekli, Windows 2000 se sastoji od komponeneti u kernel modu i u korisničkom (user) modu. Komponente korisničkog moda su: DLL-ovi, podsistem okruženja (engl. enviroment subsystem) i servisni procesi. U ovom trenutku bavićemo se analizom podsistema okruženja. DLL-ovi služe kao interfejs između pravih sistemskih poziva i korisničkih poziva. Programer pravi pozive ka Win32 podsistemu i on “ne vidi” sistemske pozive. Win32 podsistem okruženja sada poziva procedure iz DLL fajlova koji prave sistemske pozive. Neki pozivi se izvršavaju (od strane DLL fajlova) direktno u korisničkom prostoru ne prelazeći uopšte u kernel mod. Program se piše prema pravilima i specifikacijama podsistema Win32 okruženja. Win32 je zvanično interfejs za Windows 2000 ali i za verzije Windows 95/98/Me i CE. Ovo znači da će program koji zadovolji Win32 specifikacije moći uvijek da se implementira u bilo kojoj od ovih verzija, bez obzira što se one razlikuju po svojim sistemskim pozivima. Win32 program sadrži mnogo poziva za Win32 API funkcije (Win32 podsistem). Pošto neki programi koriste neke iste (zajedničke) procedure biblioteka (kao što su npr. excell, word, itd.) a da ovi programi ne bi svaki ponaosob sadržali istu kopiju procedura biblioteka, napravljeni su tzv. DLL fajlovi koje koriste sve verzije Windows-a. Oni grupišu set blisko povezanih procedura biblioteka u jednom fajlu (koji obično ima ekstenziju .dll). Tako, npr. ako su istovremeno otvoreni fajlovi Excell-a i Word-a, pošto ono koriste iste tipove menija, prozora itd.,oni mogu koristiti isti DLL. Pozivi procedura sa DLL ova se rade indirektno, preko vektora transfera koji se nalazi u adresnom prostoru pozivaoca (npr. procesa) i sadrži adresu procedure u DLL-u. Na početku, ovaj vektor se sastoji samo od nula pošto se još ne znaju adrese procedura koje se pozivaju. Kada se neki proces startuje, lociraju se potrebni DLL-ovi i učitavaju u adresnom prostoru procesa. Sada se transfer vektor popunjava adresama procedura i na osnovu tih adresa se te procedure vrlo efikasno mogu pozvati od strane tog procesa kad god je to potrebno. Prednost ovog pristupa je u tome da u fizičkoj memoriji sada postoji samo jedan DLL tekst i da razni procesi mogu da pristupe svojim procedurama preko njihovih transfer vektora. Svaki korisnički proces se linkuje sa određenim brojem DLL–ova . Ovdje su (kao primjer) uzeta samo tri najvažnija dll-ova.

Da bi se napravio API poziv, poziva se procedura unutar nekog DLL –a (koja se već nalazi u transfer vektoru adresnog prostora tog procesa). Ovdje postoje nekoliko puteva izvršavanja. U nekim slučajevima pozvati DLL može da pozove ntdll.dll koji ima zadatak da prebaci pozive sa korisničkog na kernel prostor. U ovoj situaciji, posao koji treba da se odradi, odrađuje se u kernel prostoru. Druga situacija je (koja je posebno bila karakteristika prvih verzija Windowsa NT) kada se prvo pošalje poruka procesu Win32 podsistema (fajlu csrss.exe). Ovaj proces izvrši određeni dio posla i onda pravi sistemski poziv. Ovdje se očigledno akcija dijeli na dva dijela: djelimično u korisničkom i djelimično u kernel modu. Postoje i situacije kada Enviroment subsystem (Win32 podsistem) odradi čitav posao. To dakle odrađuje fajl (proces) csrss.exe. Važno je napomenuti da se, zbog bolje efikasnosti komunikacije između korisničkih procesa i Win32 podsistema, koristi se specijalni mehanizam

Page 48: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

48

lokalnih poziva procedura (lokalno se misli na user prostor) koji se naziva LPC. U Windowsu 2000 najveći broj poziva preskače Win32 podsistem i svoje pozive pravi direktno. Pozivanje kernel mode-funkcija sa korisničkog moda radi se preko zaštićenih mehanizama. U trenutku poziva inicira se instrukcija “change mode to kernel” a System Service pravi interrupt. Povratak iz kernela se obavlja otpuštanjem tog interrupt-a. Windows 2000 ima preko 800 DLL-ova smještenih u \winnt\system32 i zauzimaju oko 130MB memorije. Neki važniji fajlovi sistema i prostor u kojem su implementirani, dati u sljedećoj tabeli.

File Mod Sadržina fajla

hal.dll Kernel Rukovođenje hardverom, komunikacija sa drajverima

ntoskrnl.exe Kernel Kernel, executive i funkcije koje su isturene prema korisničkom prostoru (preko ntdll.dll)

win32k.sys Kernel Sistemski pozivi, većina grafike

ntdll.dll User Prebacaji sa user moda u kernel mod

csrss.exe User Proces podsistema Win32 okruženja

kernel32.dll User Većina sistemskih poziva (inicira kreiranje procesa, itd.)

gdi32.dll User Tekst, fontovi, boje, bitmape, palete, crtanja itd.

user32.dll User Prozori, ikone, meniji, kursori, dijalozi, klipbord, itd.

advapi32.dll User Sigurnost, kriptografija, registri, pozivi menadzmenta

U zavisnosti od konfiguracije sistema, fajl u kojem su smešteni executive i kernel može biti:

ntoskrnl-za uniprocesorski sistem ntkrnlmp-za multiprocesorski sistem ntkrnlpa-za uniprocesorski sistem sa PAE ntkrpamp-za multiprocesorski sa PAE

5.3. GUI (GRAPHICAL USER INTERFACE)

GUI, grafički korisnički interfejs ili grafički interfejs (en. graphical user interface; hr. sučelje) je metod interkacije sa računarom kroz manipulaciju grafičkim elementima i dodacima uz pomoć tekstovnih poruka i obavještenja. Izgovara se približno kao gooey na engleskom jeziku, tj. gui, na bosanskom jeziku. GUI programi prikazuju vizualne elemente poput ikone, prozora i drugih elemenata. Prethodnici GUI programa su izumljeni na Stanford univerzitetu, na čelu sa Douglasom Englebartom i koristili su tekstualne linkove za upravljanje. Kasnije su istraživači na Xerox PARC-u unaprijedili i otišli dalje od samo tekstualnih linkova i počeli da koriste grafički interfejs za njihov Alto računar. To je bila preteča svih današnjih grafičkih interfejsa, pa se tako ponekad i danas koristi skraćenica PUI (PARC User Interface). PUI je i tada koristio prozore, menije, dugmiće, štrih kockice, ikone kao i uključivanje nekoh pokaznog uređaja kao što je miš. Prvi put ga je iskoristio Apple na svojim Macintosh računarima i operativnim sistemima, dok je kasnije Microsoft kopirao Appleove ideje u njihovim prvim verzijama Windows operativnog sistema. Primjeri nekih grafičkih interfejsa su Mac OS, Microsoft Windows, NEXTSTEP i X Window System od kojeg su nastali Qt (KDE), GTK+ (GNOME), i Motif (CDE). Pomoću grafičkog interfejsa korištenje današnjih računara je mnogo jednostavnije nego u

Page 49: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

49

doba DOS operativnog sistema koji je bio prilično negostoljubljiv prema novim korisnicima računara. Većina današnjih operativnih sistema se upravlja preko grafičkog interfejsa, dakle pomoću kursora, ikona, prozora i drugih elemenata.

Grafički interfejs Windows Viste

Grafički interfejs u Mac OSX Panther operativnom sistemu, Macintosh računari

Page 50: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

50

5.3.1.VRSTE GRAFIČKIH INTERFEJSA

Grafički interfejsi koji se ne temelje na PUI-u se najčešće susreću u računarskim igrama kao i u naprednim interfejsima temeljenim na virtualnoj stvarnosti. Danas se istražuje novi interfejs nazvan Zooming User Interface ili ZUI koji kombinira 3-dimenzionalno kretanje sa 2D slikom. Neki grafički interfejsi su napravljeni isključivo za jednu namjenu, to je bio primjer sa Atari ST računarom u 1986. godini kada je predstavljen grafički interfejs sa ekranom osjetljivim na dodir. Danas se grafički interfejs ne koristi samo u računarima, danas ga iskorištavaju i razne govorne mašine, informacijski kioski kao i monitori u industrijskim postrojenjima koji pokreću operativne sisteme u realnom vremenu (RTOS). Neki najnoviji mobiteli također imaju grafičke interfejse sa ekranima osjetljivim na dodir.

Primjer KDE grafičkog interfejsa, jednog od X Window System GUI-a dostupnih za Unixolikim sistemima

5.3.2. GUI PROTIV CLI

Primjer KDE grafičkog interfejsa, jednog od X Window System GUI-a dostupnih za Unixolikim sistemima Grafički interfejs je predstavljen kao odgovor na Command Line Interfaces (CLI) ili interfejs koji je računarom upravljao isključivo preko teksta i komandne linije. CLI je bio manje upotrebljiv nego GUI te je bio mnogo komplikovaniji jer je koristio tekstualne naredbe (kao u DOS operativnom sistemu). Neki današnji operativni sistemi sadrže oba interfejsa, iako se grafički

Page 51: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

51

CLI operativni sistem, DOS

Page 52: Imširović Edin, Zulfić Edin - Obrada informacija u IT sistemu 2007

OSNOVE IT SISTEMA – MODUL 2

52

6. SADRŽAJ

1. POJAM INFORMATIKE KAO NAUKE ..................................................................................................................... 3

1.1. POJAM INFORMACIJE, PODATKA I INFORMATIKE ............................................................................................ 4 1.2. RAČUNAR I PROGRAM .............................................................................................................................................. 4 1.3. RAČUNARSKI SISTEMA ............................................................................................................................................ 5

2. BROJNI SISTEMI ........................................................................................................................................................... 8 2.1. DECIMALNI BROJNI SISTEM .................................................................................................................................... 8 2.2. BINARNI BROJNI SISTEM ........................................................................................................................................ 10

2.2.1. PRETVARANJE DEKADNOG BROJA U BINARNI BROJ .............................................................................. 10 2.2.2. PRETVARANJE BINARNOG BROJA U DEKADNI BROJ .............................................................................. 13 2.2.3. ARITMETIKA U BINARNOM BROJNOM SISTEMU ...................................................................................... 14

2.3. OKTALNI BROJNI SISTEM....................................................................................................................................... 16 2.3.1. PRETVARANJE DEKADNOG BROJA U OKTALNI BROJ ............................................................................. 17 2.3.2. ARITMETIKA U OKTALNOM BROJNOM SISTEMU ..................................................................................... 17

2.4. HEKSADECIMALNI BROJNI SISTEM ..................................................................................................................... 19 2.4.1. PRETVARANJE DEKADNOG BROJA U HEKSADECIMALNI BROJ ........................................................... 20 2.4.2. PRETVARANJE OKTALNOG ZAPISA BROJA U HEKSADECIMALNI ZAPIS BROJA I OBRNUTO ....... 20 2.4.3.ARITMETIKA U HEKSADECIMALNOM BROJNOM SISTEMU .................................................................... 21

3. KOD I KODIRANJE ..................................................................................................................................................... 25 3.1. BCD KOD .................................................................................................................................................................... 27 3.2. ASCII KOD .................................................................................................................................................................. 28 3.3. RAČUNARSKA ARITMETIKA ................................................................................................................................. 30

4. RAČUNARSKA LOGIKA ............................................................................................................................................ 32 4.1. LOGIKA SKUPOVA ................................................................................................................................................... 32 4.2. OSNOVNI LOGIČKI SKLOPOVI RAČUNARA ....................................................................................................... 34

5. SISTEMSKI SOFTVER................................................................................................................................................ 38 5.1. OS (OPERATIVNI SYSTEM) ..................................................................................................................................... 39

5.1.1. SISTEMSKI POZIVI ............................................................................................................................................. 39 5.1.2. ZAJEDNIČKE USLUGE JEZGRA....................................................................................................................... 39 5.1.3. OPERATIVNI SISTEMI DANAŠNJICE ............................................................................................................. 40 5.1.4.KLASIFIKACIJA I TERMINOLOGIJA ................................................................................................................ 41

5.2. ARHITEKTURA OPERATIVNOG SISTEMA WINDOWS 2000 ............................................................................. 42 5.2.1. OSNOVE WINDOWS 2000 ARHITEKTURE ..................................................................................................... 42 5.2.2. (HAL) .................................................................................................................................................................... 42 5.2.3 JEZGRO OPERATIVNOG SISTEMA WINDOWS 2000 (ENGL. KERNEL LAYER) ....................................... 43 5.2.4 IZVRŠNI MODUL (ENGL.THE EXECUTIVE) ................................................................................................... 43 5.2.5 OBJEKTI I NJIHOVA IMPLEMENTACIJA U WINDOWS 2000. ...................................................................... 45 5.2.6 PODSISTEM WINDOWS 2000 KORISNIČKOG OKRUŽENJA ........................................................................ 47

5.3. GUI (GRAPHICAL USER INTERFACE) ................................................................................................................... 48 5.3.1.VRSTE GRAFIČKIH INTERFEJSA ..................................................................................................................... 50 5.3.2. GUI PROTIV CLI ................................................................................................................................................. 50

6. SADRŽAJ ....................................................................................................................................................................... 52