Sự khác biệt giữa Trình liên kết và Trình tải

Sự khác biệt chính - Linker vs. Máy xúc lật
 

Một chương trình máy tính được sử dụng để đưa ra hướng dẫn cho máy tính. Nó được viết bằng một ngôn ngữ lập trình cụ thể. Các ngôn ngữ lập trình như C, Java là ngôn ngữ lập trình cấp cao và chúng có thể hiểu được bởi con người chứ không phải máy tính. Do đó, một chương trình cấp cao được chuyển đổi thành ngôn ngữ máy bằng trình dịch ngôn ngữ. Một chương trình được viết bằng ngôn ngữ cấp cao là mã nguồn. Sau khi chuyển đổi, mã dịch được gọi là mã đối tượng. Trình liên kết và trình tải là hai chương trình phần mềm được sử dụng để thực hiện chương trình. Bài viết này thảo luận về sự khác biệt giữa Trình liên kết và Trình tải. Trình liên kết là phần mềm liên kết mã đối tượng với các tệp bổ sung như tệp tiêu đề và tạo tệp thực thi với phần mở rộng .exe. Trình tải là phần mềm hệ thống tải tệp thực thi được tạo bởi trình liên kết vào bộ nhớ chính. Đó là sự khác biệt chính giữa Trình liên kết và Trình tải.

NỘI DUNG

1. Tổng quan và sự khác biệt chính
2. Trình liên kết là gì
3. Trình tải là gì
4. Mối quan hệ giữa Trình liên kết và Trình tải
5. So sánh cạnh nhau - Trình liên kết và Trình tải ở dạng bảng
6. Tóm tắt

Trình liên kết là gì?

Chương trình máy tính là một tập hợp các hướng dẫn được cung cấp cho máy tính để thực hiện một tác vụ nhất định. Một chương trình máy tính có thể được viết bằng ngôn ngữ lập trình. Hầu hết các ngôn ngữ lập trình là lập trình cấp cao. Chúng dễ dàng được hiểu và dễ đọc bởi các lập trình viên. Những ngôn ngữ đó theo một cú pháp tương tự như ngôn ngữ tiếng Anh. Một số ví dụ về ngôn ngữ cấp cao là Java, C và Python. Một chương trình được viết bằng ngôn ngữ lập trình cấp cao được gọi là mã nguồn, tệp nguồn hoặc chương trình nguồn. Việc mở rộng mã nguồn phụ thuộc vào ngôn ngữ mà nó được phát triển. Nếu mã nguồn được viết bằng C ++, thì phần mở rộng tệp là .cpp. Nếu mã nguồn được viết bằng Python, phần mở rộng là .py.

Ngay cả mã nguồn cũng có thể hiểu được bởi người lập trình; nó không thể hiểu được bằng máy tính. Do đó, mã nguồn nên được chuyển đổi thành định dạng dễ hiểu bằng máy sử dụng trình dịch ngôn ngữ. Nó có thể là một trình biên dịch hoặc một trình thông dịch. Mã dịch được gọi là mã đối tượng. Mã đối tượng là ngôn ngữ máy. Nó bao gồm các số không và một lần. Máy tính có thể hiểu trực tiếp mã đối tượng. Nó có phần mở rộng .obj. Nếu có mã nguồn là Test.c, nó sẽ đi qua trình biên dịch và mã được chuyển đổi trở thành Test.obj.

Trình liên kết là phần mềm liên kết mã đối tượng với các tệp bổ sung như tệp tiêu đề và tạo tệp thực thi với phần mở rộng .exe. Chương trình có thể đã sử dụng các chức năng tích hợp. Các chức năng cho các chức năng tích hợp đó nằm trong các tệp tiêu đề. Theo ví dụ được giải thích ở trên, mã đối tượng là Test.obj được thêm vào với các tệp tiêu đề cần thiết bằng Trình liên kết. Nó tạo ra một tệp mới được gọi là Test.exe. Nó là một tập tin thực thi. Do đó, nó được thực thi bởi máy tính.

Trình tải là gì?

Một chương trình nên thực hiện phải được đặt trong bộ nhớ. Trình liên kết liên kết mã đối tượng và tệp tiêu đề và xuất tệp thực thi. Trình tải là phần mềm hệ thống tải tệp thực thi được tạo bởi trình liên kết vào bộ nhớ chính. Nó phân bổ không gian bộ nhớ cho mô-đun thực thi trong bộ nhớ chính. Do đó, trình tải là một phần của hệ điều hành chịu trách nhiệm tải các chương trình và thư viện.

Hình 01: Thứ tự mà Mã nguồn tải vào Bộ nhớ

Tải một chương trình bao gồm một số bước. Nó liên quan đến việc đọc nội dung của tệp thực thi có chứa lệnh chương trình vào bộ nhớ và cũng để thực hiện các tác vụ chuẩn bị cần thiết để chạy tệp thực thi. Sau khi tải xong, hệ điều hành sẽ khởi động chương trình bằng cách chuyển điều khiển sang mã chương trình đã tải. Các hệ thống máy tính đặc biệt như hệ thống nhúng thường không có bộ tải. Mã thực thi trực tiếp bởi ROM.

Mối quan hệ giữa Trình liên kết và Trình tải là gì?

  • Đầu ra của Trình liên kết đến Trình tải.

Sự khác biệt giữa Trình liên kết và Trình tải?

Trình liên kết vs Trình tải

Trình liên kết là phần mềm liên kết mã đối tượng với các tệp bổ sung như tệp tiêu đề và tạo tệp thực thi với phần mở rộng .exe. Trình tải là phần mềm hệ thống tải tệp thực thi được tạo bởi trình liên kết vào bộ nhớ chính.
 Đầu vào
Trình liên kết lấy đầu ra của trình dịch ngôn ngữ, là mã đối tượng. Trình tải lấy đầu ra từ trình liên kết, là tệp thực thi.
Chức năng
Trình liên kết liên kết mã đối tượng và các tệp tiêu đề và xuất ra tệp thực thi. Trình tải tải tập tin thực thi thu được từ trình liên kết vào bộ nhớ chính.

Tóm lược - Liên kết với Máy xúc lật

Linker và Loader là hai thành phần phần mềm liên quan đến thực thi chương trình. Bài viết này đã thảo luận về sự khác biệt giữa Trình liên kết và Trình tải. Trình liên kết là phần mềm liên kết mã đối tượng với các tệp bổ sung như tệp tiêu đề và tạo tệp thực thi với phần mở rộng .exe. Trình tải là phần mềm hệ thống tải tệp thực thi được tạo bởi trình liên kết vào bộ nhớ chính. Đó là sự khác biệt giữa Trình liên kết và Trình tải.

Tài liệu tham khảo:

1.'Loader (tính toán) ', Wikipedia, Wikimedia Foundation, 28 tháng 2 năm 2018. Có sẵn tại đây