Difficulty: Easy
Correct Answer: reenterable module
Explanation:
Introduction / Context:
Systems programming often requires routines that can be invoked concurrently (e.g., by interrupts or multiple tasks). Such routines must be designed to be safely reentered without corrupting state.
Given Data / Assumptions:
Concept / Approach:
A reenterable (reentrant) module contains no hidden writable shared state, or protects it appropriately. Its code is pure (read-only), and any writable data is on per-invocation stacks or passed explicitly, allowing simultaneous execution by different callers without interference.
Step-by-Step Solution:
Identify need: safe overlapping calls.Match term: “reenterable module” is specifically defined for this property.Eliminate alternatives: “serially reusable” requires one-at-a-time execution.
Verification / Alternative check:
Operating systems specify reentrancy for interrupt service routines and library functions, ensuring safety under concurrency.
Why Other Options Are Wrong:
(a) Non-reusable cannot be safely reused. (b) Serially reusable forbids overlap. (d) Recursive is about self-calls depth, not safe concurrency. (e) Interrupt-driven describes invocation mechanism, not concurrency safety.
Common Pitfalls:
Confusing recursion with reentrancy; they are independent concepts.
Final Answer:
reenterable module.
Discussion & Comments