Question: CMP 3 0 0 1 Operating Systems Project ( Synchronization ) Due: Sunday, December 2 9 th ( 2 3 : 5 9 ) The
CMP Operating Systems
Project Synchronization
Due: Sunday, December th :
The Reader Writer Problem
In this project you will need to provide a solution to readerswriters problem in which several processes readers and writers are trying to access shared variables. Obviously, if two readers access the shared data simultaneously, no adverse effects will result, hence, they are allowed to access. However, if a writer and some other process either a reader or a writer access the data simultaneously, chaos may ensue. To ensure that these difficulties do not arise, we require that the writers have exclusive access to the shared data while writing to the data.
The solution must guarantee that:
If a writer has begun writing process, then
No additional writer can perform write functionNo reader is allowed to readThe writer must ensure that data not yet read by all readers is not overwritten.
If or more readers are reading, then
Other readers may read as wellNo writer may perform write function until all readers have finished reading.Readers must read the same data only once.
You are given Test class written in Java that use ReadWriteLock class and threads for the problem. You are expected to use Semaphore provided in the code.
Two operations on the semaphore is allowed; acquire and releasethey correspond wait and signal functions
To do: Implement methods of ReadWriteLock class given.
class ReadWriteLock
private Semaphore Snew Semaphore;
public void readLock
public void writeLock
public void readUnLock
public void writeUnLock
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
