System programs: what do we call the program that combines separately compiled modules (objects) and prepares them for execution by resolving external references and arranging them in memory?

Difficulty: Easy

Correct Answer: linking loader

Explanation:


Introduction / Context:
Large software systems are built from multiple object modules. Before execution, these modules must be combined, external symbols resolved, and final addresses assigned. The system program that performs this step bridges the gap between separate compilation and a runnable image.


Given Data / Assumptions:

  • Multiple object files produced by independent compilations.
  • External references (functions/variables) across modules.
  • Target environment expecting a single loadable/executable image.


Concept / Approach:
A linking loader (or linker/loader combination) resolves external symbols, performs relocation as needed, and arranges code/data into the final memory image. An assembler translates assembly to object code but does not combine multiple modules. A cross compiler produces code for a different architecture. “Load and go” refers to immediate assembly-to-load workflows without a separate link step across many objects.


Step-by-Step Solution:

Collect object modules and libraries.Resolve undefined symbols using symbol tables.Relocate addresses according to placement decisions.Produce a loadable image for execution.


Verification / Alternative check:
Toolchains (e.g., ld, link.exe) demonstrate this process: invoking the linker merges objects and emits an executable that the loader places in memory at run/start time.


Why Other Options Are Wrong:

Assembler: translates source to object, not multi-module linking.Cross compiler: changes target architecture, not linking modules.Load and go: a style of assembler/loader integration, not the general multi-module linker role.


Common Pitfalls:
Equating loading (placing into memory) with linking (resolving symbols); many systems combine them, but the roles remain distinct.


Final Answer:
linking loader.

More Questions from Language Processors

Discussion & Comments

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