Process Synchronization
Process Synchronization means
sharing system resources by processes in a such a way that, Concurrent access
to shared data is handled thereby minimizing the chance of inconsistent data.
Maintaining data consistency demands mechanisms to ensure synchronized
execution of cooperating processes. Process Synchronization was introduced
to handle problems that arise while multiple process executions.
Critical Section
Problem
A Critical Section is a code
segment that accesses shared variables and has to be executed as an atomic
action. It means that in a group of cooperating processes, at a given point of
time, only one process must be executing its critical section. If any other
process also wants to execute its critical section, it must wait until the
first one finishes.
The critical-section
problem is to design a protocol that the processes can use to
cooperate. Each process must request permission to enter its critical section.
The section of code implementing this request is the entry section. The
critical section may be followed by an exit section. The
remaining code is the remainder section.
A solution to the critical
section problem must satisfy the following three conditions:
1. Mutual
Exclusion
Out of a group of cooperating
processes, only one process can be in its critical section at a given point of
time.
2. Progress
If no process is in its critical
section, and if one or more threads want to execute their critical section then
any one of these threads must be allowed to get into its critical section.
3. Bounded
waiting.
There exists a bound, or limit,
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.
No comments:
Post a Comment