Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Contrast and explain Multiprogramming and Multitasking ?


  1. Definition: Multiprogramming is a technique where multiple programs are loaded into memory simultaneously, and the CPU switches between them based on a predefined scheduling algorithm.
  2. Focus: The primary focus of multiprogramming is to maximize CPU utilization and keep the CPU busy at all times by having multiple programs in memory.
  3. Memory Sharing: Multiple programs share the same memory, and the CPU switches between them to execute their instructions.
  4. Independent Execution: Programs run independently of each other, and each program has its own address space and execution context.
  5. CPU Switching Overhead: The CPU spends time switching between different programs, which can lead to some overhead.


  1. Definition: Multitasking is an advanced form of multiprogramming where the CPU rapidly switches between multiple running processes to give the illusion that they are executing simultaneously.
  2. Focus: The primary focus of multitasking is to provide the appearance of parallel execution, allowing users to interact with multiple applications seemingly at the same time.
  3. Time Sharing: The CPU time is divided into small time slices (time quanta), and each process is given a fair share of CPU time during its time slice.
  4. Context Switching: The CPU rapidly switches between processes, saving and restoring their execution state during context switches.
  5. User Interaction: Multitasking allows users to interact with different applications concurrently, enhancing user productivity.