Final answer:
In a multi-programming environment, more than one process resides in the memory, allowing the CPU to switch between them to utilize processing time efficiently. This gives users the impression they are running multiple programs simultaneously.
Step-by-step explanation:
In a multi-programming environment, the correct answer is c) more than one process resides in the memory. This means that multiple processes are loaded into memory at the same time, allowing the central processing unit (CPU) to switch between them to maximize the use of the CPU's time. This does not necessarily mean that the processes are executed simultaneously, but rather that the CPU can work on one process while others are not currently using the CPU resources. Systems like these take advantage of the time it takes for I/O operations by switching to other tasks during those idle times.
On a physical level, this involves quick switches and electronic changes that happen within the hardware of the computer. A Pentium chip, for instance, is capable of executing millions of instructions per second, allowing for efficient switching between processes in a multi-programming environment. From a commonsense level, a user might perceive that they are running multiple programs at the same time on their computer, though technically, the CPU is rapidly switching tasks to give this impression.