250 likes | 374 Views
R ačunar ski sistemi. Funkcionisanje računarskog sitema. N api š e se program na vi š em programskom jeziku, u nese u ra č unar, p revede na mašinski jezik i poveže sa drugim prevedenim programskim celinama i tako dobije
E N D
Napiše se program na višem programskom jeziku, • unese u računar, • prevede namaš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čnobez ekstenzije), • može se uneti u operativnu memoriju i izvršavati. • Izvršavanjemašinskog programa odvija se instrukcija po instrukcija.
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 operativnememorije, dekodira je i odgovarajuće delove smešta u procesorske registre (registaradresa, registar instrukcija). • Zatim se potrebni podaci donose iz memorije u registrepodataka, ALJ izvršava operaciju, a rezultat privremeno smešta u akumulator, donjegovog smeštanja u memoriju.
Zatim se izvršava sledeća instrukcija, a adresa nakojoj se ona nalazi izračunava se na osnovu adrese prethodne izvršene instrukcije,dodavanjem broja bajtova koje je zauzimala prethodna instrukcija. • Mašinski ciklusise ponavljaju do instrukcije zaustavljanja tj. kraja programa.
Ovakva metoda izvršavanja programa naziva se sekvencijalna ili serijskaobrada, i odgovara konceptu fon Nojmanove mašine. • Postoji i paralelninačin obrade, pri čemu se program razbija na delove koji se istovremenoizvršavaju na desetine, stotine ili čak hiljade raznih procesora.
Azbuka • Svaki jezik za komunikaciju čoveka i računara koristi konačni skup simbola(znakova) – azbuku. • Simbol (znak, slovo) je nedeljiva jedinica jezika. • Nizanjemslova azbuke dobiju se niske nad azbukom.
|w| – dužina niske w • Niska koja ne sadržinijedno 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: • e je niska nad A • Ako je w niska nad A i a – slovo iz A, onda je wa niska nad A • SveniskenadazbukomA mogu se dobitiprimenompravila 1. i 2.
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 reči xzy.
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 podskup skupa 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 podskup skupa A* koji predstavlja niske nad azbukom A koje pripadaju jeziku L – reči jezikaL. • Skup pravila kojimase 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 jeziku.
Prirodni jezicima se može opisati bilo šta ali su su nejednoznačni i neprecizni u predstavljanju specifičnih informacija kao što sumatematič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čenjaomogućava izgradnju jezičkih procesora (prevodilaca i interpretera) – programapomoću kojih se čovekova poruka prevodi na jezik ”razumljiv” mašini – mašinski jezik. • ANSI definicija: • ”Programski jezik je jezikkoji se koristi za pripremanje računarskih programa”
Jezički procesori • Analiziraju sintaksnuispravnost 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
Program P (u izvornom jeziku L) transformiˇse se u program P’ na izlaznom jeziku L’, pod kontrolom kompilatora. Dakle, ulazni podatak kompilatora jeprogram P a rezultat rada kompilatora je program P’. • Dobijeni program P’ se interpretira, tj. pod kontrolom programa P’ ulazni podaci D programa P se transformišu u rezultat R programa P.
Leksički analizator Sintaksni analizator Semantički analizator rukovalac tabelama Obrađivač grešaka Generator međukoda Optimizator međukoda Generator koda Izvorni program Prevedeni program
Karakterski skup i kodne sheme • U računaru se različiti simboli spoljašnje azbuke kodiraju različitim kombinacijamanula i jedinica fiksne dužine, tzv. kodomfiksne 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 – International Standard Organization) standardom. • Najpoznatijaje njegova nacionalna američka verzija koju je definisao ANSI – AmericanNational Standards Institute 1968. godine u dokumentu American Standard Codefor 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 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 • Specifikacija(šta program treba da uradi, kojom brzinom...) • Projektovanje (matematička formulacija problema, izbor metoda za rešavanje, opis algoritma) • Realizacija (pisanje (kodiranje), unošenje u memoriju i čuvanje, prevođenje i izvršavanje programa) • Testiranje • Izrada dokumentacije • Eksploatacija i održavanje