Multiprogramming
• Multiprogramming increases CPU utilisation
by organizing jobs (code and data) so that
the CPU always has one to execute
• In time sharing or multitasking (logical
extension of multiprogramming), the CPU
executes multiple jobs by switching among
them, but the switches occur so frequently
that the user can interact with each program
while it is running