Question: A file is shared between several reader and writer threads. Design a monitor to control the access of the file by the different threads so

A file is shared between several reader and writer threads. Design a monitor to control the access of the file by the different threads so that the following constraints are satisfied:i) at most one writer can be active on the file at a particular time. (ii) When a writer is writing to the file, no reader can read from the file. (iii More than one reader can be reading from the file simultaneously. (iv) When a writer is waiting to write, no more new reader should be allowed to read. (v) When a writer is writing and some other writer is waiting to write, then the writer is given more preference over a reader waiting to read. The general structure of each reader and writer thread is shown in the following: Monitor FileControl // Definition of the monitor class to be filled in by you FileControl fc; // An instance of the monitor Writer Thread: while (True)( Reader Thread: while (True) f fc.WriterEntry(): Write (file) fc.WriterExit(); fc.ReaderEntry() Read (file); fc.ReaderExit(); Fill in the pseudo-code for the monitor FileControl as shown above
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
