Difficulty: Easy
Correct Answer: allows multiple programs to reside in separate areas of core at the time.
Explanation:
Introduction / Context:
Multiprogramming is a foundational concept in operating systems. It aims to improve CPU utilization by keeping several programs in memory at once so the CPU can switch to another when one blocks (for I/O, for example).
Given Data / Assumptions:
Concept / Approach:
Multiprogramming contrasts with single-program systems where the CPU can be idle during I/O. By loading multiple programs into separate memory regions, the OS can switch execution to another ready program, increasing throughput. Paging (option a) and address space (option b) are related but different concepts. Time allocation (option c) describes CPU scheduling rather than the memory-resident aspect of multiprogramming.
Step-by-Step Solution:
Verification / Alternative check:
Classic OS texts define multiprogramming as having multiple processes in memory to maximize CPU utilization; time-sharing extends this with rapid preemption for interactivity.
Why Other Options Are Wrong:
(a) describes paging; (b) describes the address space; (c) addresses CPU scheduling, not the memory-resident aspect. Hence (d) is correct.
Common Pitfalls:
Confusing multiprogramming with multitasking/time-sharing; assuming preemption is required (early multiprogramming could be cooperative).
Final Answer:
allows multiple programs to reside in separate areas of core at the time.
Discussion & Comments