CSE 221 - Operating Systems - Notes on "Experience with Processes and Monitors in Mesa"

Q: Compare and contrast synchronization in Java with Hoare monitors and Mesa monitors.

Processes

Example:

p := fork(ReadLine[terminal])
buffer := join p

Monitors

monitor modules

Monitors and Deadlock

Monitored Objects

Abandoning Computation

Condition Variables

Naked Notify

Monitor Priorities

Implementation

Processor

Runtime Support

Compiler

Performance

Lecture Notes

Properties Hoare Mesa Java
monitor lock all procedures entry procedures synchronized
Condition vars (Y/N) Y Y kind of (one cond. var per object)
Wait (Y/N) Y Y Y
Signal (Y/N) Y notify/broadcast notify/broadcast
Granularity module monitor class + monitor record monitor/instance sync. blocks
Aborts ? Y Y
Nested Calls Y Y Y
CSE 221 - Operating Systems - Notes on "Experience with Processes and Monitors in Mesa" - zac blanco