• Courses
  • Tutorials
  • Jobs
  • Practice
  • Contests
October 22, 2022 |1.7K Views
Multiple Processer Scheduling in Operating System
  Share   Like
Description
Discussion

Multiple processor scheduling means multiple CPUs are available in the system for scheduling processes. The CPU is present in multiple processor systems that might be identical or different from each other in terms of their functionality.  The presence of multiple CPUs allows load sharing among processors. However, a multiple-processor system is more complex as compared to a system with a single processor. 

In asymmetric multiprocessing, all scheduling decisions and I/O processing is handled by a single processor. This specific processor is known as the master-slave. All other processors execute only the user code. This multiprocessing scheme is called Asymmetric because the functionality of the master server is much more than the functionality of all other processors available in the system. 

In symmetric multiprocessing, all processors are self-scheduling in nature, i.e., each CPU takes its own scheduling decisions. Each processor has its own ready queue or all processes may share a common ready queue.  The scheduler for each processor examines the Ready queue to select a process for scheduling on its respective processor. This multiprocessing scheme is known as symmetric because all processors have the same functionality. 

Processor affinity: When a process executes on a particular processor, its recently accessed data is present in the cache for that processor, if the process is moved to another processor, the data of this process present in the cache memory must be removed from the first processor and moved to the cache of the other processor. Due to the high cost of updating the caches, most systems try to avoid moving processes from one processor to another and try to keep a process running on the same processor. Processor Affinity is of two types:

  • Soft Affinity
  • Hard Affinity

Watch the complete video to understand what is multiple processor scheduling in detail

Multiple processor scheduling in OS: https://www.geeksforgeeks.org/multiple-processor-scheduling-in-operating-system/