The wait protocol is used for resolving the conflicts, which arise due to number of multiprocessors demanding the same resource. There are two types of wait protocols: busy-wait and sleep-wait. In busy-wait protocol, process stays in the process context register, which continuously tries for processor availability. In sleep-wait protocol, wait protocol process is detached from the processor and is kept in the wait queue. The hardware complexity of this protocol is more than busy-wait in multiprocessor system; if locks are used for synchronization then busy-wait is used more than sleep-wait.
Implementation modes of a multiprocessor: Several modes of multiprocessing include parallel implementation of programs at (i) Fine Grain Level (Process Level), (ii) Medium Grain Level (Task Level), (iii) Coarse Grain Level (Program Level).
For implementing the programs in these modes, the following conditions / actions are required at OS level.
i) Context switching among multiple processes should be fast. In order to make context Switching simple multiple sets should be present.i) The memory allocation to various processes should be quick and context free. ii) The Synchronization mechanism among multiple processes should be effective.iii) OS should give software tools for performance monitoring.