In Operating system (OS) Multiprocessor operating system refers to the use of number of or two or more Central Processing Units (CPU) within a single computer system. There are many types of Multiprocessor Operating System in a system.
Multiprocessor Operating System Definition:
Multiprocessor operating system is defined as “It is a system in which multiple processors works parallel and share the computer clock, memory, bus, peripheral devices etc. “
The main objective of multiprocessor operating system is to boost the system execution speed, fault tolerance and application matching.
Types of multiprocessor operating system:
Depending on the location of CPU’s and other different aspects there are many types of multiprocessor operating systems. They are as:
1] Symmetric multiprocessor
2] Asymmetric multiprocessor
3] Shared memory multiprocessor
4] Distributed memory multiprocessor
5] Uniform memory access multiprocessor
6] Non uniform memory access multiprocessor
1] Symmetric multiprocessor:
One operating system can use all the CPUs at once (thus allowing several tasks to be performed simultaneously).
Each processor contains a similar copy of the operating system and they all communicate with each other.
All the available processors are in a peer to peer relationship i.e. no master – slave relationship exists between them
2] Asymmetric multiprocessor:
Each processor is given a predefined task. There is a master processor that gives instruction to all the other processors.
It contains a master slave relationship.
Asymmetric multiprocessing is more commonly used in embedded systems which has more than one operating system, and each uses its own CPUs
3] Shared memory multiprocessor:
In shared memory multiprocessor, all the CPUs shares the common memory
4] Distributed memory multiprocessor:
In distributed memory multiprocessor, every CPU has its own private memory.
5] Uniform memory access multiprocessor:
In uniform memory access multiprocessor, access to all memory occurs at the same speed for all processors.
6] Non uniform memory access multiprocessor:
In non uniform memory access multiprocessor, access to some parts of memory is faster for some processors than other parts of memory
Points to remember or attention:
When two or more CPUs wanted to access same process simultaneously to run or claiming the same free memory page.
The simplest way around these problems is to associate a mutex (i.e., lock) with the operating system, making the whole system one big critical region.
When a CPU wants to run operating system code, it must first acquire the mutex. If the mutex is locked, it just waits.
In this way, any CPU can run the operating system, but only one at a time