Multiprogramming system
-
Are easier to develop than single programming system
-
Execute each job faster
-
Execute more jobs in the same time period
-
Are used only one large mainframe computers
Multiprogramming increases throughput by executing MORE jobs in the same time period, not by making individual jobs faster. It achieves this through CPU scheduling - when one job waits for I/O, another uses the CPU. Individual jobs may run slower due to overhead.
Multiprogramming keeps multiple jobs resident in memory simultaneously so that when one job is waiting on I/O, the CPU switches to another ready job instead of sitting idle — this maximizes CPU utilization and lets more jobs complete within a given time period (higher throughput). It does not make development easier (job scheduling and resource-sharing add complexity), and it does not make any single job run faster (each job may even take longer due to context switching and shared resources). It is also not restricted to only large mainframes — the concept applies broadly across systems. So the correct benefit is executing more jobs per unit time.