multiprogramming
Parallel process management
Multiprogramming is a computing technique where multiple programs reside in memory simultaneously, with the processor switching between them to maximize efficiency.
When one program waits for input or output, another executes—keeping the CPU busy rather than idle.
The term is somewhat dated, largely replaced by multitasking in modern usage, though multiprogramming specifically emphasizes memory management over user interaction.
Seed or essential core
- time-sharingSequential resource allocation
- spoolingTemporary data staging
- interruptsBreaks another's speech
- schedulingAssigning times to events
throughput · mainframe · dispatcher · supervisor · partition
Changing focus between activities
- interleavingAlternating elements from sequences
- preemptionActing to prevent another's action
- preemptiveActing to forestall
- cooperativeJointly operated enterprise
multitasking · parallelism · synchronization · deadlock · semaphore · starvation · threading · non-blocking
Processing rate over time
- overheadLocated directly above
- workloadAssigned task volume
- scalabilityCapacity for growth
- efficiencyProductive without waste
kernel
Seed or essential core
- time-sharingSequential resource allocation
- spoolingTemporary data staging
- interruptsBreaks another's speech
scheduling · throughput · mainframe · dispatcher · supervisor · partition
task-switching
Changing focus between activities
- interleavingAlternating elements from sequences
- preemptionActing to prevent another's action
- preemptiveActing to forestall
cooperative · multitasking · parallelism · synchronization · deadlock · semaphore · starvation · threading · non-blocking · asynchronous
throughput
Processing rate over time
- overheadLocated directly above
- workloadAssigned task volume
- scalabilityCapacity for growth
program, programs, programmer, programming, reprogram, programmable, preprogrammed, reprogramming, unprogrammed