Izvršavanje (računarstvo)

S Vikipedije, slobodne enciklopedije

Izvršenje kod računarskog i softverskog inženjeringa je proces kojim računar ili virtuelna mašina obavlja instrukcije računarskog programa. Uputstva u programskom obaraču slažu jednostavne akcije na mašinu za izvršenje. Te akcije proizvode efekte u skladu sa semantikom uputstva u programu.

Računarski programi mogu da izvrše gomilu procesa bez ljudskog učestvovanja, ili korisnik može ukucati komande u interaktivnoj sesiji prevodioca. U ovom slučaju "komande" su jednostavni programi, čije izvršavanje je skovano zajedno.

Izraz run se skoro koristi kao sinonim za izvršenje. Oba značenja "to run" i "to execute" su srodna i odnose se na specifičnu akciju pokretanja (ili lansiranja ili pozivanja) programa od strane korisnika, kao u "Molim vas pokrenite aplikaciju."

Kontekst izvršenja[uredi | uredi izvor]

Kontekst u kome izvršenje uzima mesto je od ključnog značaja. Veoma mali broj programa se izvršava na goloj mašini. Programi obično sadrže implicitne i eksplicitne pretpostavke o raspoloživim resursima u vreme izvršenja. Većina programa se izvršava uz podršku operativnog sistema i run-time biblioteka specifičnih za izvorni jezik koji vam pružaju ključne usluge ne isporučujći ih direktno od samog računara. Ovo zaštićeno okruženje, npr., obično odvaja program od direktne manipulacije računarskih periferija, pružajući više opšte, apstraktne usluge.

Proces[uredi | uredi izvor]

Pre izvršenja, program mora prvo biti napisan. Ovo se obično obavlja u izvornom kodu, koji se za određeno vreme prevođenja prevodi (i statički povezuje za vreme povezivanja) i izvršava. Izvršavanje programa se zatim poziva, najčešće od strane operativnog sistema, koji učitava program u memoriju (vreme učitavanja), eventualno dinamički vrši povezivanje, i tada počinje izvršenje pomeranjem kontrole na ulaznu tačku programa; svi ovi koraci zavise od AP Interfejsa operativnog sistema. U ovom trenutku izvršenje počinje i program pokreće vreme pokretanja. Program tada traje do završetka, do normalnog prekida ili do rušenja.

Interpretator[uredi | uredi izvor]

Sistem koji izvršava program se zove interpretator programa. Labavo gledano, interpretator zapravo radi ono što mu program kaže da uradi. Ovo je u suprotnosti sa prevodiocem jezika koji pretvara program sa jednog jezika na drugi. Najčešći prevodioci jezika su kompilatori. Prevodioci tipično pretvaraju svoj izvor visokog nivoa, sa ljudski čitljivog jezika u niži nivo jezika (ponekad toliko nisko kao maternji mašinski kod), koji procesor jednostavnije i brže izvršava. Ideja je da razlika između prevođenja i izvršavanja bude velika, tj. da program bude sastavljen jednom i da može biti izvršavan nebrojano puta. Prevođenja može obezbedi veliku korist nasuprot direktnom tumačenju izvornog jezika. Kompromis je to što je vreme razvoja povećano, zbog kompilacija. U nekim slučajevima, samo izmenjeni fajlovi moraju biti prekompilirani. Onda program koji se izvršava mora biti ponovo povezan. Za neke promene, program koji se izvršava mora biti obnovljen od nule. Kako računari i kompajleri postaju brži, ova činjenica postaje manja prepreka. Takođe, brzina krajnjeg proizvoda je važnija korisniku nego vreme razvoja.

Prevodioci obično proizvode apstraktni rezultat koji nije u potpunosti spreman da se izvrši. Često, operativni sistem će pretvoriti objekatni kod prevodioca u konačni oblik programa koji se izvršava pre nego što počne izvođenje programa.

Vidi još[uredi | uredi izvor]

Literatura[uredi | uredi izvor]