Process synchronization is used to coordinate access to shared resources among multiple processes to prevent race conditions. There are two types of processes: independent processes that do not affect each other, and cooperative processes that share resources and can affect each other, requiring synchronization. The critical section problem aims to allow only one process access to a critical section containing shared variables at a time while satisfying mutual exclusion, progress, and bounded waiting conditions.
Process synchronization is used to coordinate access to shared resources among multiple processes to prevent race conditions. There are two types of processes: independent processes that do not affect each other, and cooperative processes that share resources and can affect each other, requiring synchronization. The critical section problem aims to allow only one process access to a critical section containing shared variables at a time while satisfying mutual exclusion, progress, and bounded waiting conditions.
Process synchronization is used to coordinate access to shared resources among multiple processes to prevent race conditions. There are two types of processes: independent processes that do not affect each other, and cooperative processes that share resources and can affect each other, requiring synchronization. The critical section problem aims to allow only one process access to a critical section containing shared variables at a time while satisfying mutual exclusion, progress, and bounded waiting conditions.
Process synchronization is used to coordinate access to shared resources among multiple processes to prevent race conditions. There are two types of processes: independent processes that do not affect each other, and cooperative processes that share resources and can affect each other, requiring synchronization. The critical section problem aims to allow only one process access to a critical section containing shared variables at a time while satisfying mutual exclusion, progress, and bounded waiting conditions.
Kurt Rabas Ianne Bulilan Nestle Lacaba WHAT IS PROCESS SYNCHRONIZATION? is the coordination of execution of multiple processes in a multi-process system to ensure that they access shared resources in a controlled and predictable manner. It aims to resolve the problem of race conditions and other synchronization issues in a concurrent system. On the basis of synchronization, processes are categorized as one of the following two types:
Independent Process: The execution of one
process does not affect the execution of other processes. Cooperative Process: A process that can affect or be affected by other processes executing in the system. Process synchronization problem arises in the case of Cooperative processes also because resources are shared in Cooperative processes. is a situation that may occur inside a critical section. When more than one process is executing the same code or accessing the same memory or any shared variable in that condition there is a possibility that the output or the value of the shared variable is wrong so for that all the processes doing the race to say that my output is correct this condition known as a race condition. RACE CONDITION Note: We are assuming the final value of a common variable(shared) after execution of Process P1 and Process P2 is 10 (as Process P1 increment variable (shared=10) by 1 and Process P2 decrement variable (shared=11) by 1 and finally it becomes shared=10). But we are getting undesired value due to a lack of proper synchronization.
Actual meaning of race-condition
If the order of execution of the process(first P1 - > then P2) then we will get the value of common variable (shared) =9. If the order of execution of the process(first P2 - > then P1) then we will get the final value of common variable (shared) =11. Here the (value1 = 9) and (value2=10) are racing, If we execute these two processes in our computer system then sometime we will get 9 and sometime we will get 10 as the final value of a common variable(shared). This phenomenon is called race condition. Critical Section Problem A critical section is a code segment that can be accessed by only one process at a time. The critical section contains shared variables that need to be synchronized to maintain the consistency of data variables. So the critical section problem means designing a way for cooperative processes to access shared resources without creating data inconsistencies.
In the entry section, the process requests for entry
in the Critical Section. Any solution to the critical section problem must satisfy three requirements: Mutual Exclusion Progress Bounded Waiting Mutual Bounded Progress Exclusion Waiting Mutual Exclusion Progress
If no process is executing in the critical section and
other processes are waiting outside the critical section, then only those processes that are not executing in their remainder section can participate in deciding which will enter the critical section next, and the selection can not be postponed indefinitely. Progress Bounded Waiting
A bound must exist on the number of times that other
processes are allowed to enter their critical sections after a process has made a request to enter its critical section and before that request is granted.