Synchronization between processes is of great importance as far consistency of data is considered.
There are a few classical problems regarding synchronization, that have been commonly discussed over the past few years. These problems are very much similar to the problems that are faced in real by Operating Systems in making sure that every process has the required number of resources. Some of these problems are:
- Producer Consumer Problem
- Reader Writer Problem
- giving preference to the readers
- giving preference to the writers
- Dining Philosophers’ Problem
- Sleeping Barber Problem
Various possible solutions have been discussed for each problem, each solution of which can be worked out in different methods. Some of the different approaches are :
- Using counter
- Using Semaphores
- Using Monitors
Each approach has got its own pros and cons.
The next post will be about Producer Consumer Problem and how to solve it using a counter and semaphores. Monitors will be explained later.