Տարբերությունը Linker-ի և Loader-ի միջև

Բովանդակություն:

Տարբերությունը Linker-ի և Loader-ի միջև
Տարբերությունը Linker-ի և Loader-ի միջև

Video: Տարբերությունը Linker-ի և Loader-ի միջև

Video: Տարբերությունը Linker-ի և Loader-ի միջև
Video: Վիրտուալ հիշողություն (դաս 4/13) - Computer System Organization and Programming [Code Republic] 2024, Նոյեմբեր
Anonim

Հիմնական տարբերություն – Linker vs Loader

Համակարգչային ծրագիրն օգտագործվում է համակարգչին հրահանգներ տալու համար: Այն գրված է հատուկ ծրագրավորման լեզվով։ Ծրագրավորման լեզուները, ինչպիսիք են C-ն, Java-ն, բարձր մակարդակի ծրագրավորման լեզուներ են, և դրանք հասկանալի են մարդկանց համար, բայց ոչ համակարգչի համար: Հետևաբար, բարձր մակարդակի ծրագիրը վերածվում է մեքենայական լեզվի՝ օգտագործելով լեզվի թարգմանիչ: Բարձր մակարդակի լեզվով գրված ծրագիրը սկզբնական կոդ է: Փոխակերպումից հետո թարգմանված կոդը կոչվում է օբյեկտի կոդը։ Կապակցիչը և բեռնիչը երկու ծրագրային ծրագրեր են, որոնք օգտագործվում են ծրագրի կատարման համար: Այս հոդվածը քննարկում է Linker-ի և Loader-ի միջև եղած տարբերությունը:Linker-ը այն ծրագիրն է, որը կապում է օբյեկտի կոդը լրացուցիչ ֆայլերի հետ, ինչպիսիք են վերնագրի ֆայլերը և ստեղծում է գործարկվող ֆայլ.exe ընդլայնմամբ: Բեռնիչը համակարգային ծրագրաշար է, որը բեռնում է գործարկվող ֆայլը, որը ստեղծվել է կապակցողի կողմից հիմնական հիշողության մեջ: Դա Linker-ի և Loader-ի հիմնական տարբերությունն է:

Ի՞նչ է Linker-ը:

Համակարգչային ծրագիրը հրահանգների մի շարք է, որը տրվում է համակարգչին՝ որոշակի առաջադրանք կատարելու համար: Համակարգչային ծրագիրը կարելի է գրել ծրագրավորման լեզվով: Ծրագրավորման լեզուների մեծ մասը բարձր մակարդակի ծրագրավորում է: Դրանք հեշտությամբ հասկանալի և ընթեռնելի են ծրագրավորողի կողմից: Այդ լեզուները հետևում են անգլերենի նման շարահյուսությանը: Բարձր մակարդակի լեզուների որոշ օրինակներ են Java-ն, C-ն և Python-ը: Բարձր մակարդակի ծրագրավորման լեզվով գրված ծրագիրը հայտնի է որպես սկզբնաղբյուր, աղբյուր ֆայլ կամ աղբյուր ծրագիր: Աղբյուրի կոդի ընդլայնումը կախված է այն լեզվից, որով այն մշակվել է: Եթե սկզբնական կոդը գրված է C++-ով, ապա ֆայլի ընդլայնումն է:cpp. Եթե սկզբնական կոդը գրված է Python-ով, ապա ընդլայնումը.py. է

Նույնիսկ սկզբնական կոդը հասկանալի է ծրագրավորողի համար. դա անհասկանալի է համակարգչով: Հետևաբար, սկզբնական կոդը պետք է վերածվի մեքենայական հասկանալի ձևաչափի՝ օգտագործելով լեզվի թարգմանիչ: Այն կարող է լինել կոմպիլյատոր կամ թարգմանիչ: Թարգմանված կոդը հայտնի է որպես օբյեկտի կոդը։ Օբյեկտի կոդը մեքենայական լեզվով է: Այն բաղկացած է զրոներից և մեկից: Համակարգիչը կարող է ուղղակիորեն հասկանալ օբյեկտի կոդը: Այն ունի.obj ընդլայնում: Եթե կա սկզբնաղբյուր՝ որպես Test.c, այն անցնում է կոմպիլյատորով և փոխարկված կոդը դառնում է Test.obj:

Linker-ը այն ծրագիրն է, որը կապում է օբյեկտի կոդը լրացուցիչ ֆայլերի հետ, ինչպիսիք են վերնագրի ֆայլերը և ստեղծում գործարկվող ֆայլ.exe ընդլայնմամբ: Ծրագիրը կարող էր օգտագործել ներկառուցված գործառույթներ: Ներկառուցված գործառույթների գործառույթները գտնվում են վերնագրի ֆայլերում: Ըստ վերը բացատրված օրինակի՝ օբյեկտի կոդը, որը Test է։obj-ն ավելացվում է անհրաժեշտ վերնագրի ֆայլերով՝ օգտագործելով Linker-ը: Այն ստեղծում է նոր ֆայլ, որը կոչվում է Test.exe: Դա գործարկվող ֆայլ է։ Հետևաբար, այն գործարկելի է համակարգչի կողմից:

Ի՞նչ է Loader-ը:

Ծրագիրը, որը պետք է գործարկվի, պետք է տեղադրվի հիշողության մեջ: Կապակցիչը կապում է օբյեկտի կոդը և վերնագրի ֆայլերը և թողարկում է գործարկվող ֆայլը: Բեռնիչը համակարգային ծրագրաշար է, որը բեռնում է գործարկվող ֆայլը, որը ստեղծվել է կապակցողի կողմից հիմնական հիշողության մեջ: Այն հատկացնում է հիշողության տարածքը հիմնական հիշողության գործարկվող մոդուլին: Հետևաբար, բեռնիչը օպերացիոն համակարգի մի մասն է, որը պատասխանատու է ծրագրերի և գրադարանների բեռնման համար:

Տարբերությունը Linker-ի և Loader-ի միջև
Տարբերությունը Linker-ի և Loader-ի միջև

Նկար 01. Աղբյուրի կոդը բեռնման հաջորդականությունը հիշողության մեջ

Ծրագրի բեռնումը ներառում է մի քանի քայլ: Այն ներառում է հիշողության մեջ ծրագրի հրահանգ պարունակող գործարկվող ֆայլի բովանդակությունը կարդալը, ինչպես նաև գործարկվող ֆայլը գործարկելու համար անհրաժեշտ նախապատրաստական առաջադրանքների կատարումը:Բեռնումն ավարտվելուց հետո օպերացիոն համակարգը սկսում է ծրագիրը՝ կառավարումը փոխանցելով բեռնված ծրագրի կոդի վրա: Հատուկ համակարգչային համակարգերը, ինչպիսիք են Ներկառուցված համակարգերը, հիմնականում չունեն բեռնիչներ: Կոդն աշխատում է անմիջապես ROM-ի միջոցով:

Ինչպիսի՞ն է կապը Linker-ի և Loader-ի միջև:

Linker-ի ելքը գնում է դեպի Loader:

Ո՞րն է տարբերությունը Linker-ի և Loader-ի միջև:

Linker vs Loader

Linker-ը այն ծրագիրն է, որը կապում է օբյեկտի կոդը լրացուցիչ ֆայլերի հետ, ինչպիսիք են վերնագրի ֆայլերը և ստեղծում է գործարկվող ֆայլ.exe ընդլայնմամբ: Բեռնիչը համակարգային ծրագրաշար է, որը բեռնում է կապակցողի կողմից ստեղծված գործարկվող ֆայլը հիմնական հիշողության մեջ:
Մուտք
Կցիչը վերցնում է լեզվի թարգմանչի ելքը, որը հանդիսանում է օբյեկտի կոդը: Բեռնիչը վերցնում է ելքը կապողից, որը գործարկվող ֆայլն է։
Ֆունկցիոնալություն
Կապը կապում է օբյեկտի կոդը և վերնագրի ֆայլերը և թողարկում է գործարկվող ֆայլը: Բեռնիչը բեռնում է կապակցիչից ստացված գործարկվող ֆայլը հիմնական հիշողություն:

Ամփոփում – Linker vs Loader

Linker-ը և Loader-ը ծրագրի կատարման հետ կապված երկու ծրագրային բաղադրիչ են: Այս հոդվածում քննարկվեց Linker-ի և Loader-ի միջև եղած տարբերությունը: Linker-ը այն ծրագիրն է, որը կապում է օբյեկտի կոդը լրացուցիչ ֆայլերի հետ, ինչպիսիք են վերնագրի ֆայլերը և ստեղծում է գործարկվող ֆայլ.exe ընդլայնմամբ: Բեռնիչը համակարգային ծրագրաշար է, որը բեռնում է գործարկվող ֆայլը, որը ստեղծվել է կապակցողի կողմից հիմնական հիշողության մեջ:Դա է տարբերությունը Linker-ի և Loader-ի միջև:

Խորհուրդ ենք տալիս: