სხვაობა Linker-სა და Loader-ს შორის

Სარჩევი:

სხვაობა Linker-სა და Loader-ს შორის
სხვაობა Linker-სა და Loader-ს შორის

ვიდეო: სხვაობა Linker-სა და Loader-ს შორის

ვიდეო: სხვაობა Linker-სა და Loader-ს შორის
ვიდეო: Linker & Loader with example 2024, ივლისი
Anonim

ძირითადი განსხვავება – Linker vs Loader

კომპიუტერული პროგრამა გამოიყენება კომპიუტერისთვის ინსტრუქციების მისაცემად. ის დაწერილია კონკრეტული პროგრამირების ენის გამოყენებით. პროგრამირების ენები, როგორიცაა C, Java არის მაღალი დონის პროგრამირების ენები და ისინი გასაგებია ადამიანებისთვის, მაგრამ არა კომპიუტერისთვის. ამიტომ, მაღალი დონის პროგრამა გარდაიქმნება მანქანურ ენად ენის მთარგმნელის გამოყენებით. მაღალი დონის ენის გამოყენებით დაწერილი პროგრამა არის წყარო კოდი. კონვერტაციის შემდეგ, ნათარგმნ კოდს ეწოდება ობიექტის კოდი. დამაკავშირებელი და ჩამტვირთავი არის ორი პროგრამული პროგრამა, რომლებიც გამოიყენება პროგრამის შესასრულებლად. ეს სტატია განიხილავს განსხვავებას Linker-სა და Loader-ს შორის. Linker არის პროგრამა, რომელიც აკავშირებს ობიექტის კოდს დამატებით ფაილებთან, როგორიცაა სათაურის ფაილები და ქმნის შესრულებად ფაილს.exe გაფართოებით. ჩამტვირთავი არის სისტემური პროგრამული უზრუნველყოფა, რომელიც იტვირთება ლინკერის მიერ გენერირებული შესრულებადი ფაილი მთავარ მეხსიერებასთან. ეს არის მთავარი განსხვავება Linker-სა და Loader-ს შორის.

რა არის Linker?

კომპიუტერული პროგრამა არის ინსტრუქციების ნაკრები, რომელიც მოცემულია კომპიუტერს გარკვეული დავალების შესასრულებლად. კომპიუტერული პროგრამა შეიძლება დაიწეროს პროგრამირების ენის გამოყენებით. პროგრამირების ენების უმეტესობა მაღალი დონის პროგრამირებაა. ისინი ადვილად გასაგები და იკითხება პროგრამისტისთვის. ეს ენები მიჰყვება სინტაქსს ინგლისური ენის მსგავსი. მაღალი დონის ენების ზოგიერთი მაგალითია Java, C და Python. მაღალი დონის პროგრამირების ენის გამოყენებით დაწერილი პროგრამა ცნობილია როგორც წყაროს კოდი, წყარო ფაილი ან წყარო პროგრამა. წყაროს კოდის გაფართოება დამოკიდებულია ენაზე, რომლითაც იგი შეიქმნა. თუ წყაროს კოდი დაწერილია C++-ში, მაშინ ფაილის გაფართოება არის.cpp. თუ საწყისი კოდი დაწერილია პითონში, გაფართოება არის.py.

წყარო კოდიც კი გასაგებია პროგრამისტისთვის; კომპიუტერისთვის გაუგებარია. ამიტომ, საწყისი კოდი უნდა გადაკეთდეს მანქანით გასაგებ ფორმატში ენის მთარგმნელის გამოყენებით. ეს შეიძლება იყოს შემდგენელი ან თარჯიმანი. ნათარგმნი კოდი ცნობილია როგორც ობიექტის კოდი. ობიექტის კოდი არის მანქანა ენაზე. იგი შედგება ნულებისაგან და ერთხელ. კომპიუტერს შეუძლია პირდაპირ გაიგოს ობიექტის კოდი. მას აქვს გაფართოება.obj. თუ არსებობს წყაროს კოდი, როგორც Test.c, ის გადის შემდგენელში და გარდაქმნილი კოდი ხდება Test.obj.

Linker არის პროგრამა, რომელიც აკავშირებს ობიექტის კოდს დამატებით ფაილებთან, როგორიცაა სათაურის ფაილები და ქმნის შესრულებად ფაილს.exe გაფართოებით. პროგრამამ შესაძლოა გამოიყენა ჩაშენებული ფუნქციები. ჩაშენებული ფუნქციების ფუნქციები სათაურის ფაილებშია. ზემოთ ახსნილი მაგალითის მიხედვით, ობიექტის კოდი, რომელიც არის ტესტი.obj ემატება საჭირო სათაურის ფაილებს Linker-ის გამოყენებით. ის ქმნის ახალ ფაილს, სახელად Test.exe. ეს არის შესრულებადი ფაილი. ამიტომ, ის შესრულებადია კომპიუტერით.

რა არის Loader?

პროგრამა, რომელიც უნდა შესრულდეს, უნდა განთავსდეს მეხსიერებაში. ლინკერი აკავშირებს ობიექტის კოდს და სათაურის ფაილებს და გამოაქვს შესრულებადი ფაილი. ჩამტვირთავი არის სისტემური პროგრამული უზრუნველყოფა, რომელიც იტვირთება ლინკერის მიერ გენერირებული შესრულებადი ფაილი მთავარ მეხსიერებასთან. ის ანაწილებს მეხსიერების ადგილს მთავარ მეხსიერებაში შემსრულებელ მოდულს. ამრიგად, ჩამტვირთავი არის ოპერაციული სისტემის ნაწილი, რომელიც პასუხისმგებელია პროგრამებისა და ბიბლიოთეკების ჩატვირთვაზე.

განსხვავება Linker-სა და Loader-ს შორის
განსხვავება Linker-სა და Loader-ს შორის

სურათი 01: თანმიმდევრობა, რომლითაც წყაროს კოდი იტვირთება მეხსიერებაში

პროგრამის ჩატვირთვა მოიცავს რამდენიმე ნაბიჯს. იგი მოიცავს პროგრამის ინსტრუქციის შემცველი შესრულებადი ფაილის შიგთავსის მეხსიერებაში წაკითხვას და ასევე შესასრულებელი ფაილის გასაშვებად მოსამზადებელი დავალებების შესრულებას.ჩატვირთვის დასრულების შემდეგ, ოპერაციული სისტემა იწყებს პროგრამას დატვირთული პროგრამის კოდზე კონტროლის გადაცემით. სპეციალურ კომპიუტერულ სისტემებს, როგორიცაა ჩაშენებული სისტემები, ჩვეულებრივ არ აქვთ ჩამტვირთავი. კოდი შესრულებულია პირდაპირ ROM-ით.

რა კავშირია ლინკერსა და ჩამტვირთველს შორის?

ლინკერის გამომავალი მიდის Loader-ზე

რა განსხვავებაა Linker-სა და Loader-ს შორის?

Linker vs Loader

Linker არის პროგრამა, რომელიც აკავშირებს ობიექტის კოდს დამატებით ფაილებთან, როგორიცაა სათაურის ფაილები და ქმნის შესრულებად ფაილს.exe გაფართოებით. ჩამტვირთავი არის სისტემური პროგრამული უზრუნველყოფა, რომელიც ატვირთავს ლინკერის მიერ გენერირებულ შესრულებად ფაილს მთავარ მეხსიერებაში.
შეყვანა
ლინკერი იღებს ენის მთარგმნელის გამოსავალს, რომელიც არის ობიექტის კოდი. ჩამტვირთველი იღებს გამოსავალს ლინკერიდან, რომელიც არის შესრულებადი ფაილი.
ფუნქციონალობა
ლინკერი აკავშირებს ობიექტის კოდს და სათაურის ფაილებს და გამოსცემს შესრულებად ფაილს. ჩამტვირთავი იტვირთება ლინკერიდან მიღებულ შესრულებად ფაილს მთავარ მეხსიერებაში.

რეზიუმე – Linker vs Loader

Linker და Loader არის ორი პროგრამული კომპონენტი, რომლებიც დაკავშირებულია პროგრამის შესრულებასთან. ამ სტატიაში განხილული იყო განსხვავება Linker-სა და Loader-ს შორის. Linker არის პროგრამა, რომელიც აკავშირებს ობიექტის კოდს დამატებით ფაილებთან, როგორიცაა სათაურის ფაილები და ქმნის შესრულებად ფაილს.exe გაფართოებით. ჩამტვირთავი არის სისტემური პროგრამული უზრუნველყოფა, რომელიც იტვირთება ლინკერის მიერ გენერირებული შესრულებადი ფაილი მთავარ მეხსიერებაში.ეს არის განსხვავება Linker-სა და Loader-ს შორის.

გირჩევთ: