Ծրագրի բեռնիչ

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

Բոլոր օպերացիոն համակարգերը, որոնք աջակցում են ծրագրի բեռնումը ունեն բեռնիչներ, բացի բարձր  մասնագիտացված  համակարգերից, որոնք ունեն միայն ֆիկսված մասնագիտացված ծրագրեր։ Ներդրված համակարգերը չունեն բեռնիչներ և բացի դրանից, կոդը կատարվում է հենց ROM -ից։  Նրա համար, որպիսզի բեռնի հենց օպերացիոն համակարգը, օգտագործվում է  boot բեռնիչ(boot loader )։ Շատ օպերացիոն համակարգերում բեռնիչը տեղադրված է հենց հիշողության մեջ, մինչդեռ որոշ օպերացիոն համակարգերում, որտեղ կա վիրտուալ հիշողություն՝ թույլատրում է, որ բեռնիչը տեղադրված լինի ներբեռնվող հիշողության մեջ։

Այն դեպքում, երբ օպերացիոն համակարգը ունի վիրտուալ հիշողություն, բեռնիչը կարող է պատճենել կատարվող ֆայլի պարունակությունը հիշողության մեջ, բայց նաև հեշտությամբ կարող է հայտարարել վիրտուալ հիշողության ենթահամակարգին, որ կա կապ  այն հիշողության, որտեղ պահված է ծրագրի կոդը և կատարվող ֆայլի պարունակության հետ։

Պարտավորություններ 
Unix-ում, բեռնիչը handler է execve() համակարգի կանչի համար։ Unix-ի բեռնիչի խնդիրն է՝
 ստուգում (թույլատվություն, հիշողության պահանջներ և այլն);
 ծրագրի նկարը դիսկից գլխավոր հիշողության մեջ պատճենումը
 հրամանների արգումենտների ( command-line arguments) պատճենումը ստեկի մեջ։
 ռեգիստրների նախապատրաստում (օր.` ստեկի ցուցիչ)
 ծրագրի սկիզբ ցատկը (_start)

Դինամիկ բեռնիչներ 
Բեռնիչների մի այլ տիպ է դինամիկ բեռնիչները։ Նրանք բեռնում և միմյանց են կապում գրադարանները (օր.` .dll ֆայլերը) և արդեն աշխատացնում են բեռնված  ծրագրերը։

Հղումներ 

 Basics of Compiler Design  
 Language Implementation Patterns 

Ծրագրային գրադարաններ