Definition of multiprocessor operating system
An operating system that supports multiple processors is known as a multiprocessor system. In this type of system, multiple threads of the program are executed in parallel.
Types of multiprocessor operating system
There are two main types of multiprocessor OS
1) Asymmetric multiprocessing system
In this type of system, one processor behaves as a master and the other processors behave as slaves. Master processor assigns ready state processes to the slave processors. A ready queue of processes is maintained by the master processor and slave processors get ready processes from the ready queue. In an asymmetric system, a scheduler is made by the master processor which assigns processes to other processors. This system is simple to maintain. In this system operating system is placed in master and user space is placed in slaves processors.
In the master-slave relationship, the wait time of the slave processor may increase because processors wait until processes are assigned to them.
2) Symmetric multiprocessing system
In an asymmetric system, there is no master-slave relationship and all the processors have their process scheduler. All the processors contain the operating system and user space. There is a global queue in which all the ready state processes are placed. Every processor gets processes from the global queue. There is a chance that two processor gets the same process at a time. To solve this problem locking is used in the global queue. By using locking one process is only accessed by one processor at a time and it is locked till the process is executed by the processor. There is another problem that may occur is that one processor may get more processes and other processors contain fewer processes and one processor may remain idle. To solve CPU balancing, the local scheduler is attached to every CPU (processor). So there is a global scheduler that gives ready processes to the local scheduler and there is no need for locking. The throughput of the operating system increases in a symmetric system as more processes get executed at a time.
Multiprocessor systems are used in weather forecast and to control satellites.
Example multiprocessor operating system
- Windows OS
- macOS
- Linux