Multiprocessing - aryanjoshi0823/5143-Operating-System GitHub Wiki

A Multiprocessing Operating System is designed to improve system performance by utilizing multiple CPUs within a single computer system. These processors work together to divide tasks for faster execution, sharing system resources such as memory and peripherals.

For example, UNIX is a widely recognized multiprocessing operating system.

The basic organization of a multiprocessing system is shown below:


Types of Multiprocessing Systems

1. Symmetrical Multiprocessing (SMP):

  • All processors execute the same copy of the operating system.
  • Each processor can independently handle any task.
  • Processors share memory and the I/O bus, leading to a "shared everything" architecture.

Characteristics:

  • Any processor can run any job or initiate I/O operations.
  • All processors are equally loaded, promoting balance in processing tasks.

Advantages:

  • Fault Tolerance: The system can continue functioning even if some processors fail.

Disadvantages:

  • Workload Balancing: Ensuring even distribution of tasks across processors can be challenging.
  • Synchronization Challenges: Specialized mechanisms are required to manage multiple processors efficiently.

2. Asymmetric Multiprocessing (AMP)

  • A master-slave architecture is followed, where one processor (master) supervises and controls other processors (slaves).
  • Specific tasks are assigned to particular processors based on their capabilities (e.g., math co-processor for calculations, graphics processor for rendering).

Characteristics:

  • Each processor is assigned predefined tasks or waits for instructions from the master processor.
  • The master processor manages system operations and task allocation.

Advantages:

  • Specialized Processing: Tasks like multimedia, graphics, or mathematical computations can be handled by processors optimized for those jobs, improving efficiency.
  • Faster Execution: Certain jobs can be completed faster when matched with the right processor.

Disadvantages:

  • Unequal Load Distribution: Processors may have uneven workloads, with some idle while others are overloaded.
  • Single Point of Failure: If the master processor fails, the entire system may stop functioning.