Answer: D
Correct answer: Base and limit registers
The base register holds the smallest physical address the process may use, and the limit register holds the size of its range. Every address generated is checked: it must be less than the limit, and the base is then added to give the physical address. The check is performed by hardware on every reference, so it costs nothing in time, and any violation traps to the operating system as an addressing error. The registers can be loaded only by a privileged instruction, executable in kernel mode alone. That is what makes the protection genuine: a user program cannot alter the bounds of its own confinement. The distinction between user and kernel mode exists largely to support arrangements of this kind. The scheme also supplies relocation, since changing the base register moves the process without altering any address within it - which is what makes swapping and compaction possible. Paging generalises the idea, replacing the single register pair with a page table.