Raunarski sistemi Funkcionisanje raunarskog sitema Napie se program

  • Slides: 25
Download presentation
Računarski sistemi

Računarski sistemi

Funkcionisanje računarskog sitema

Funkcionisanje računarskog sitema

 • Napiše se program na višem programskom jeziku, • unese u računar, •

• Napiše se program na višem programskom jeziku, • unese u računar, • prevede na mašinski jezik i poveže sa drugim prevedenim programskim celinama i tako dobije • program (koji, npr. u MS-DOS-u ima ekstenziju. EXE, u verzijama linux-a obično bez ekstenzije), • može se uneti u operativnu memoriju i izvršavati. • Izvršavanje mašinskog programa odvija se instrukcija po instrukcija.

 • Izvršavanje pojedinačne mašinske instrukcije odvija se u mašinskom ciklusu. • On se

• Izvršavanje pojedinačne mašinske instrukcije odvija se u mašinskom ciklusu. • On se sastoji od dve faze: prvo, upravljačka jedinica donosi instrukciju iz operativne memorije, dekodira je i odgovarajuće delove smešta u procesorske registre (registar adresa, registar instrukcija). • Zatim se potrebni podaci donose iz memorije u registre podataka, ALJ izvršava operaciju, a rezultat privremeno smešta u akumulator, do njegovog smeštanja u memoriju.

 • Zatim se izvršava sledeća instrukcija, a adresa na kojoj se ona nalazi

• Zatim se izvršava sledeća instrukcija, a adresa na kojoj se ona nalazi izračunava se na osnovu adrese prethodne izvršene instrukcije, dodavanjem broja bajtova koje je zauzimala prethodna instrukcija. • Mašinski ciklusi se ponavljaju do instrukcije zaustavljanja tj. kraja programa.

 • Ovakva metoda izvršavanja programa naziva se sekvencijalna ili serijska obrada, i odgovara

• Ovakva metoda izvršavanja programa naziva se sekvencijalna ili serijska obrada, i odgovara konceptu fon Nojmanove mašine. • Postoji i paralelni način obrade, pri čemu se program razbija na delove koji se istovremeno izvršavaju na desetine, stotine ili čak hiljade raznih procesora.

Azbuka • Svaki jezik za komunikaciju čoveka i računara koristi konačni skup simbola (znakova)

Azbuka • Svaki jezik za komunikaciju čoveka i računara koristi konačni skup simbola (znakova) – azbuku. • Simbol (znak, slovo) je nedeljiva jedinica jezika. • Nizanjem slova azbuke dobiju se niske nad azbukom.

 • |w| – dužina niske w • Niska koja ne sadrži nijedno slovo

• |w| – dužina niske w • Niska koja ne sadrži nijedno slovo zove se prazna niska i obeležava se sa e (empty – prazan).

 • Niska nad azbukom A definiše se na sledeći način: 1. e je

• Niska nad azbukom A definiše se na sledeći način: 1. e je niska nad A 2. Ako je w niska nad A i a – slovo iz A, onda je wa niska nad A 3. Sve niske nad azbukom A mogu se dobiti primenom pravila 1. i 2.

 • Ako su x i y reči nad nekom azbukom, tada je reč

• Ako su x i y reči nad nekom azbukom, tada je reč xy nastala spajanjem (konkatenacijom) reči x i y. • Ako su x, y i z reči nad nekm azbukom, tada je: – x prefiks u reči xy – y sufiks u reči xy – su x, y i z podreči xzy.

 • Ako je A konačna azbuka, onda se često koriste sledeće oznake: –

• Ako je A konačna azbuka, onda se često koriste sledeće oznake: – A* - skup svih reči nad azbukom A (uključujući i praznu reč). – A+ - skup svih reči nad azbukom A, bez prazne reči. – Svaki jezik nad azbukom A je podskupa A*.

 • Def. Jezik nad azbukom A je proizvoljan skup reči nad azbukom A.

• Def. Jezik nad azbukom A je proizvoljan skup reči nad azbukom A. • Skup A* ima beskonačno mnogo podskupova, tako da nad azbukom A ima i beskonačno mnogo jezika.

 • U zadavanju jezika L potrebno je tačno definisati podskupa A* koji predstavlja

• U zadavanju jezika L potrebno je tačno definisati podskupa A* koji predstavlja niske nad azbukom A koje pripadaju jeziku L – reči jezika L. • Skup pravila kojima se opisuju sve reči jezika, zove se sintaksa jezika. • Semantika jezika je skup pravila kojima se definiše značenje reči jezika.

 • Gramatika - skup pravila koja opisuju sve validne (ispravne) konstrukcije prihvatljve u

• Gramatika - skup pravila koja opisuju sve validne (ispravne) konstrukcije prihvatljve u jeziku.

 • Prirodni jezicima se može opisati bilo šta ali su su nejednoznačni i

• Prirodni jezicima se može opisati bilo šta ali su su nejednoznačni i neprecizni u predstavljanju specifičnih informacija kao što su matematičke. • Zato se izgrađuju veštački jezici u specifičnim oblastima • U slučaju da je jedan od korisnika jezika – računar veštački jezik je programski jezik.

 • Precizna definicija dopuštenih oblika i njihovog značenja omogućava izgradnju jezičkih procesora (prevodilaca

• Precizna definicija dopuštenih oblika i njihovog značenja omogućava izgradnju jezičkih procesora (prevodilaca i interpretera) – programa pomoću kojih se čovekova poruka prevodi na jezik ”razumljiv” mašini – mašinski jezik. • ANSI definicija: – ”Programski jezik je jezik koji se koristi za pripremanje računarskih programa”

Jezički procesori • Analiziraju sintaksnu ispravnost programa na programskom jeziku i, ako je program

Jezički procesori • Analiziraju sintaksnu ispravnost programa na programskom jeziku i, ako je program ispravan, transformišu ga u binarni (mašinski) oblik koji može da se izvrši na računaru. • Interpreteri – analiza i izvršavanje se obavljaju naizmenično • Kompilatori – ceo program proanalizira i transformiše, pre nego što se izvrši

Interpreter

Interpreter

Kompilator

Kompilator

1. Program P (u izvornom jeziku L) transformiˇse se u program P’ na izlaznom

1. Program P (u izvornom jeziku L) transformiˇse se u program P’ na izlaznom jeziku L’, pod kontrolom kompilatora. Dakle, ulazni podatak kompilatora je program P a rezultat rada kompilatora je program P’. 2. Dobijeni program P’ se interpretira, tj. pod kontrolom programa P’ ulazni podaci D programa P se transformišu u rezultat R programa P.

Izvorni program Leksički analizator Sintaksni analizator rukovalac tabelama Semantički analizator Generator međukoda Optimizator međukoda

Izvorni program Leksički analizator Sintaksni analizator rukovalac tabelama Semantički analizator Generator međukoda Optimizator međukoda Generator koda Prevedeni program Obrađivač grešaka

Karakterski skup i kodne sheme • U računaru se različiti simboli spoljašnje azbuke kodiraju

Karakterski skup i kodne sheme • U računaru se različiti simboli spoljašnje azbuke kodiraju različitim kombinacijama nula i jedinica fiksne dužine, tzv. kodom fiksne dužine nad binarnom azbukom. • Danas su u upotrebi kodne reči dužine 7 odnosno 8 bitova i 16 bitova (ukupno 65536 kodnih reči). • Kodne reči u jednom kodu fiksne dužine nazivaju se karakteri

 • Najrasprostranjeniji je 7 -bitni kod koji je 1983. godine standardizovan međunarodnim (ISO

• Najrasprostranjeniji je 7 -bitni kod koji je 1983. godine standardizovan međunarodnim (ISO – International Standard Organization) standardom. • Najpoznatija je njegova nacionalna američka verzija koju je definisao ANSI – American National Standards Institute 1968. godine u dokumentu American Standard Code for Information Interchange po kome se ovaj kod i zove ASCII-kod.

HTML • Jezik HTML se zasniva na eksplicitnom obeležavanju logičke strukture dokumenta. Obeležavanje se

HTML • Jezik HTML se zasniva na eksplicitnom obeležavanju logičke strukture dokumenta. Obeležavanje se vrši pomoću etiketa (engl. tag) koje opisuju elemente logičke strukture teksta. • Tekst dobija svoj grafički izgled u zavisnosti od navigatora koji je upotrebljen za njegovu vizuelizaciju. • U zavisnosti od svojstava navigatora i njegove konfiguracije, jedan dokument obeležen u HTML-u može imati različite grafičke izglede.

Faze pri rešavanju zadataka na računaru 1. Specifikacija (šta program treba da uradi, kojom

Faze pri rešavanju zadataka na računaru 1. Specifikacija (šta program treba da uradi, kojom brzinom. . . ) 2. Projektovanje (matematička formulacija problema, izbor metoda za rešavanje, opis algoritma) 3. Realizacija (pisanje (kodiranje), unošenje u memoriju i čuvanje, prevođenje i izvršavanje programa) 4. Testiranje 5. Izrada dokumentacije 6. Eksploatacija i održavanje