Multi Processing
What is the Multiprocessing Operating System?
Multiprocessor operating systems are used in operating systems to boost the performance of multiple CPUs within a single computer system.
Multiple CPUs are linked together so that a job can be divided and executed more quickly. When a job is completed, the results from all CPUs are compiled to provide the final output. Jobs were required to share main memory, and they may often share other system resources. Multiple CPUs can be used to run multiple tasks at the same time, for example, UNIX.
One of the most extensively used operating systems is the multiprocessing operating system. The following diagram depicts the basic organisation of a typical multiprocessing system.
Pros of Multiprocessing OS
Increased reliability:?Processing tasks can be spread among numerous processors in the multiprocessing system. This promotes reliability because if one processor fails, the task can be passed on to another.
Increased throughout:?More work could be done in less time as the number of processors increases.
The economy of scale:?Multiprocessor systems are less expensive than single-processor computers because they share peripherals, additional storage devices, and power sources.
Cons of Multiprocessing OS
Multiprocessing operating systems are more complex and advanced since they manage many CPUs at the same time.
Types of Multiprocessing OS
Symmetrical
Each processor in a symmetrical multiprocessing system runs the same copy of the OS, makes its own decisions, and collaborates with other processes to keep the system running smoothly. CPU scheduling policies are straightforward. Any new job that is submitted by a user could be assigned to the least burdened processor. It also means that at any given time, all processors are equally taxed.
Since the processors share memory along with the I/O bus or data channel, the symmetric multiprocessing OS is sometimes known as a “shared everything” system. The number of processors in this system is normally limited to 16.
Characteristics
Pros
These are fault-tolerant systems. A few processors failing does not bring the whole system to a standstill.
Cons
Asymmetric
The processors in an asymmetric system have a master-slave relationship. In addition, one processor may serve as a master or supervisor processor, while the rest are treated as illustrated below.
In the asymmetric processing system represented above, CPU n1 serves as a supervisor, controlling the subsequent CPUs. Each processor in such a system is assigned a specific task, and the actions of the other processors are overseen by a master processor.
We have a maths coprocessor, for example, that can handle mathematical tasks better than the main CPU. We also have an MMX processor, which is designed to handle multimedia-related tasks. We also have a graphics processor to handle graphics-related tasks more efficiently than the main processor. Whenever a user submits a new job, the operating system must choose which processor is most suited for the task, and that processor is subsequently assigned to the newly arriving job. This processor is the system’s master and controller. All other processors search for masters for instructions or have jobs that are predetermined. The master is responsible for allocating work to other processors.
Pros
Because several processors are available for a single job, the execution of an I/O operation or application software in this type of system may be faster in some instances.
Cons
The processors are burdened unequally in this form of multiprocessing operating system. One CPU may have a large job queue while another is idle. If a process handling a specific task fails in this system, the entire system will fail.