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

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

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

Պարտավորություններ խմբագրել

Unix-ում, բեռնիչը handler է execve() համակարգի կանչի համար։ Unix-ի բեռնիչի խնդիրն է՝

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

Դինամիկ բեռնիչներ խմբագրել

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