|
Monitor Implementation (Cont.)
|
- Conditionalwait construct: x.wait(c);
- c - integer expression evaluated when the wait operation is executed.
- value of c (priority number) stored with the name of the process that is suspended.
- when x.signal is executed, process with smallest associated priority number is resumed next.
- Check two conditions to establish correctness of system:
- User processes must always make their calls on the monitor in a correct sequence.
- Must ensure that an uncooperative process does not ignore the mutualexclusion gateway provided by the monitor, and try to access the shared resource directly , without using the access protocols.
|