Which system program combines separately compiled modules, resolves external references, and produces a loadable image suitable for execution?

Difficulty: Easy

Correct Answer: Linking loader

Explanation:


Introduction / Context:
Large software systems are split across multiple object files and libraries. To run, these pieces must be combined with unresolved symbols matched to their definitions and addresses finalized. The tool that both links and prepares the program to run is often called a linking loader.


Given Data / Assumptions:

  • Modules are compiled separately into relocatable object files.
  • External symbols exist across modules and libraries.
  • A runnable, loaded image is required at the end of the process.


Concept / Approach:
A linking loader performs symbol resolution and relocation (link step) and then places the resulting image into memory for execution (load step). In some environments, pure linkers output an executable on disk, and a separate loader later maps it. The combined utility is apt for the description given.


Step-by-Step Solution:

1) Take relocatable objects and libraries as inputs.2) Resolve undefined symbols to definitions across modules.3) Perform relocation to assign final addresses.4) Produce and load an image into memory ready to execute.


Verification / Alternative check:
Build logs typically show symbol resolution and relocation during the link/load stage; upon success, the program begins execution immediately in load-and-go environments.


Why Other Options Are Wrong:

  • Assembler: Translates assembly to object; does not link/load multiple modules.
  • Cross compiler: Compiles for a different architecture; does not link/load by itself.
  • Load and go: Usually refers to immediate execution after linking; the specific term for combining modules is linking loader.
  • None of the above: Incorrect because a linking loader fits exactly.


Common Pitfalls:
Confusing compilation with linking, or assuming symbol resolution happens during compilation across separately compiled modules—it does not.


Final Answer:
Linking loader

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion