Difficulty: Easy
Correct Answer: both (a) and (b)
Explanation:
Introduction / Context:
Loaders place compiled code into memory for execution. When the final memory address is unknown until load time, relocation support is required so that address-sensitive instructions are adjusted appropriately.
Given Data / Assumptions:
Concept / Approach:
Terminology varies across literature. A loader that processes relocation information to adjust addresses at load time is called a “relocating loader” and also commonly a “relative loader,” emphasizing addresses relative to a load base.
Step-by-Step Solution:
Identify key capability: adjust address-dependent code and data.Match terms used for such loaders: relocating/relative.Conclude both names describe the same capability.
Verification / Alternative check:
OS and linker/loader texts describe relocation entries processed by relocating loaders. Absolute loaders lack this step.
Why Other Options Are Wrong:
(d) Absolute loaders place code at a fixed, predetermined address and do not relocate. (e) Static binders are linkers that resolve symbols but may still rely on relocation at load time.
Common Pitfalls:
Confusing linking with loading; assuming “absolute” can relocate.
Final Answer:
both (a) and (b).
Discussion & Comments