Difficulty: Easy
Correct Answer: can itself performs the relocation of its address-sensitive portions.
Explanation:
Introduction / Context:
Relocation is the process of adjusting address dependent code and data so a program can execute correctly at a memory location different from where it was originally assembled or compiled. Some programs include logic to relocate themselves during load time.
Given Data / Assumptions:
Concept / Approach:
A self-relocating program contains relocation routines and tables it uses to adjust its own addresses when loaded. This enables the loader to place the program at varying memory locations. By contrast, absolute programs (option a) cannot relocate. Option b describes a relocatable program generally, not necessarily self-relocating (the loader could do it).
Step-by-Step Solution:
Verification / Alternative check:
Classic loaders and OS texts distinguish absolute, relocatable, and self-relocating programs; the latter includes code to walk relocation entries and patch addresses post-load.
Why Other Options Are Wrong:
Common Pitfalls:
Confusing “relocatable” with “self-relocating.” Many relocations are performed by linkers/loaders; “self” indicates in-program logic.
Final Answer:
can itself performs the relocation of its address-sensitive portions.
Discussion & Comments