Multiple Processor Scheduling in Operating System:
CPU scheduling becomes much more complex when multiple CPUs are available. It is
now possible for more than one job to be running on a machine at any one time
i.e. the number of processors the number of running jobs.
An important issue is the access to resources. Suppose only one processor i.e.
processor A has access to a certain device. Others cannot access that device.
Any process that requires that device has to be scheduled on processor A as
other processors cannot satisfy its requests.
Another issue is that of contention. If two processes run on separate
processors, they may try to update some shared data. It is also possible that
two processors may try to grab the same process from the ready queue.
Some systems assign one master processor to do all the scheduling work. The master-processor hands out the work to the slave processors who actually do the work. This ensures that there is only one processor responsible for scheduling work. It should have all the information required to properly perform the scheduling. This approach requires no data sharing between processors