What is Multiprocessor Operating System?
A multiprocessor operating system uses more than one processor. These processors are linked to computer buses, physical memory, clocks and other devices (touchpad, joystick, etc). The main reason to use a multiprocessor OS is to use a lot of computing power and speed up the system’s execution.
These are the major components used in the Multiprocessor OS:
- CPU – Capable of accessing memories as well as controlling the entire I/O tasks.
- Input Output Processor – Each I/O processor manages all input and output tasks and I/P processors have direct memory access.
- Input/Output Devices – These devices are used to enter commands and make output after processing.
- Memory Unit – Shared memory and distributed shared memory are the two types of memory modules used in a multiprocessor system.
Types of Multiprocessing OS
There are two types of Multiprocessing Operating Systems:
- Symmetrical Multiprocessing OS
- Asymmetric Multiprocessing OS
Symmetrical Multiprocessing OS
In a symmetrical multiprocessing system, every processor runs the same copy of the OS, makes independent decisions and works in tandem with other processes to keep the program operating smoothly. The scheduling rules for CPUs are simple. Any new job that a user submits may be given to the processor that is least taxed. Additionally, it implies that all CPUs are always subject to the same taxes.
It is occasionally referred to as a “shared everything” system since the processors share memory in addition to the I/O bus or data channel. The maximum number of processors inside this system is usually 16.
Characteristics of Symmetrical Multiprocessing OS
- An I/O operation can be started by any CPU.
- Any process or job can be run on any processor in this system.
Mertis of Symmetrical Multiprocessing OS
These systems are tolerant of faults. The system does not come to a complete halt if a few processors fail.
Demerits of Symmetrical Multiprocessing OS
- It is very difficult to rationally distribute the workload across processors.
- Specialized synchronisation algorithms are needed to handle many processors.
Asymmetric Multiprocessing OS
An asymmetric system has a master-slave relationship between its processors. One processor can also act as a supervisor or master processor.
CPU n1 acts as a supervisor in the asymmetric processing system shown above, managing the succeeding CPUs. In such a system, each processor is given a particular task to complete and a master processor supervises the work of the other processors.
For instance, our math coprocessor performs mathematical operations faster than the primary CPU. We also use an MMX processor, which is made to manage tasks related to multimedia. We also use a graphics processor to perform graphics-related tasks more effectively than the main processor. The operating system must determine which processor is best suited for the task whenever a user provides a new job and that processor is then assigned to the recently arrived job. The master and controller of the system is this processor. All other processors either have predetermined tasks or look for masters for instructions. The master is in charge of assigning tasks to various processors.
Mertis of Asymmetric Multiprocessing OS
Due to the availability of multiple processors for a single task, the I/O operation or application software execution in this type of system may be quick in certain circumstances.
Demerits of Asymmetric Multiprocessing OS
This type of multiprocessing operating system places unequal demands on the processors. While one CPU may have a lengthy job queue, another may be idle. In this system, if a procedure handling a specific task fails, the entire system will fail.
Advantages of Multiprocessor Operating System
- Cost-Effective System.
- Improve Throughput.
- Parallel Processing.
- Great Reliability.
Disadvantages of Multiprocessor Operating System
- It is more costly due to its expansive architecture.
- Its speed may decrease if a single processor fails.
- It takes more time for the processor to receive the message and respond appropriately.
- It faces significant difficulties with skew and determinism.
- Context switching is required, which may hinder its performance.