Step 1: Define multiprogramming and uni-processor.
- A uni-processor system has only one central processing unit (CPU).
- Multiprogramming is a technique that allows the CPU to execute multiple programs concurrently. It aims to keep the CPU busy as much as possible by having it work on another program when the current one is waiting for an I/O operation.
Step 2: Analyze how multiprogramming works on a uni-processor system.
Since there is only one CPU, it can only execute one instruction at a time. To run multiple programs concurrently, the operating system uses scheduling to rapidly switch the CPU's execution between different programs (processes). This is known as time-sharing or context switching. It creates the illusion that multiple programs are running simultaneously.
Step 3: Evaluate the options.
(A) This describes multiprocessing, not multiprogramming on a uni-processor system.
(B) This accurately describes how multiprogramming is achieved on a single CPU: dividing the CPU's time among different programs.
(C) This is false. Multiprogramming is a core concept designed for uni-processor systems.
(D) This is a contradiction in terms. A uni-processor system has only one processor.