Ծրագրի կատարում

Ծրագրի կատարում, գործընթաց, որի ժամանակ իրական համակարգիչը կամ վիրտուալ մեքենան իրականացնում է համակարգչային ծրագրի հրամանները։ Մեքենայում կատարվող հրամանները պարզ գործողությունների հաջորդականություն են։ Այդ գործողությունները մեքենայում թողնում են հրամանների իմաստին (սեմանտիկ) համապատասխան հետևանքներ։

Համակարգչային ծրագրերը կարող են կատարվել փաթեթային ռեժիմում (), երբ ծրագրերի հաջորդականությունը համակարգչում կատարվում է առանց մարդու միջամտության, կամ օգտագործողը կարող է հրամաններ մուտքագրել իտերպրետատորի ինտերակտրիվ ռեժիմում։ Այս դեպքում հրամանները պարզ ծրագրեր են, որոնց կատարումը կապված է միմյանց հետ։

Աշխատացնել () տերմինը օգտագործվում է, որպես կատարում պրոցեսի հոմանիշ։ «Աշխատացնել» և «կատարել» տերմինների համապատասխան իմաստները վերաբերում են ծրագրի կանչին՝ օգտագործողի որոշակի գործողությունների միջոցով։

Կատարման ենթատեքստ 

Կատարման ենթատեքստը (միջավայրը) որոշիչ նշանակություն ունի։ Շատ քիչ ծրագրեր կատարվում են օպերացիոն համակարգ չունեցող մեքենաներում ()։ Ծրագրերը սովորաբար պարունակաում են բացահայտ կամ ոչ բացահայտ ենթադրություններ՝ կատարման ժամանակ ռեսուրսների գոյության մասին։ Շատ ծրագրեր կատարվում են օպերացիոն համակարգի օգնությամբ, և կատարման ժամանակի գրադարանը () սկզբնական լեզվի համար է, որը ապահովում է գործառույթներ, որոնք համակարգիչը չի տրամադրում։

Կատարման ընաթացքը 

Կատարումից առաջ պետք է ծրագիրը գրել սկզբնական կոդի տեսքով, որը հետո կոմպիլյացվում է կոմպիլյացիայի ժամանակ (), դառնալով կատարվող () ֆայլ։ Այս կատարվող ֆայլը հիմանականում կանչվում է օպերացիոն համակարգի կողմից, որը բեռնում է ծրագիրը հիշողության մեջ (), ապա, եթե անհրաժեշտ է, կատարում է կապերի դինամիկ խմբագրում (), որից հետո էլ սկսում է կատարումը՝ ղեկավարումը փոխանցելով ծրագրի մուտքի կետին։ Այդ պահից սկսվում է կատարումը ()։ Այնուհետև ծրագիրն աշխատում է մինչև ավարտվելը։

Ինտերպրետատոր  

Ծրագիրը կատարող () համակարգը կոչվում է ծրագրի ինտերպրետատոր։ Ավելի պարզ ասած՝ ինտերպրետատորը բառացիորեն կատարում է այն, ինչ ծրագիրը «հրահանգում» է։ Այն համեմատվում է լեզվի տրանսլյատորի հետ, որը փոխակերպում է ծրագիրը մի լիզվից մյուսը։ Առավել հաճախ հանդիպող լեզվային տրանսլյատորներից (թարգմանիչներից) է կոմպիլյատորը։ Տրանսլյատորը սկզբնական, բարձր մակարդակի լեզուն փոխակերպում է ցածր մակարդակի լեզվի՝ պրոցեսորի կողմից ավելի հեշտ և արագ կատարման համար։

[[Պատկեր:Translator scheme.png|thumb|upright=1.87 | Տրանսլյատորը փոխակերպում է սկզբնական կոդը օբյեկտային կոդի]]
Տրանսլյատորները սովորաբար կառուցում է աբստրակտ արդյունք, այսինքն՝ նրա աշխատանքի արդյունքում ստեղծված կոդը վերջնական կատարման համար պատրաստ չէ։ Սովորաբար օպերացիոն համակարգը, մինչև ծրագրի կատարման սկիզբը, փոխակերպում է օբյեկտային կոդը վերջնական կատարվող կոդի։

Հղումներ 

http://pages.cs.wisc.edu/~dusseau/Classes/CS202-F10/Lectures/lecture-computer.pdf
http://homepage.divms.uiowa.edu/~ghosh/01-16-07.pdf

Ծրագրավորում