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.