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

Mục lục:

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

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

Video: Sự khác biệt giữa Trình liên kết và Trình tải
Video: Đại Học Hệ Chất Lượng Cao Và Đại Trà Có Như Bạn Nghĩ? | SuperTeo 2024, Tháng mười một
Anonim

Sự khác biệt chính - Trình liên kết và Trình tải

Một chương trình máy tính được sử dụng để đưa ra các 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à các 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ột mã nguồn. Sau khi chuyển đổi, mã được 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 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. Linker 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 có 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.

Linker 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 một 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ễ hiểu và dễ đọc bởi lập trình viên. Các ngôn ngữ đó tuân theo 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. 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. Phần mở rộng của 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 của tệp là.cpp. Nếu mã nguồn được viết bằng Python, thì phần mở rộng là.py.

Ngay cả mã nguồn cũng có thể hiểu được bởi lập trình viên; nó không thể hiểu được bởi máy tính. Do đó, mã nguồn nên được chuyển đổi thành định dạng máy có thể hiểu được bằng cách sử dụng một 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 bằng 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 sẽ trở thành Test.obj.

Linker 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 có 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 sẵn. Các chức năng cho các chức năng tích hợp sẵn đó nằm trong các tệp tiêu đề. Theo ví dụ đã giải thích ở trên, mã đối tượng là Test.obj được thêm 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 thực thi. Do đó, nó có thể được thực thi bởi máy tính.

Loader là gì?

Một chương trình được thực thi 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.

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

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

Việc 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 khởi động chương trình bằng cách chuyển quyền điều khiển đến 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 chuyển đến Trình tải

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

Trình liên kết so với Trình tải

Linker 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 có 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 nhận đầ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à tệp tiêu đề và xuất tệp thực thi. Trình tải sẽ tải tệp thực thi được từ trình liên kết vào bộ nhớ chính.

Tóm tắt - Trình liên kết vs Trình tải

Linker và Loader là hai thành phần phần mềm liên quan đến việc 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. Linker 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 có 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.

Đề xuất: