Memory
Direct sharing is standard sharing model in Java (without processes).
Direct access to data by different threads.
Sharing models:
- Copying---needed if address space not shared (multiple JVMs).
Relatively straightforward, but slow and "unappealing".
- Direct sharing---appealing, but complicates process
termination and resource reclamation
- Indirect sharing---use proxy objects for sharing. Adds an extra
level of indirection to access object, but makes resource reclamation easier.
Similar to the idea of a capability in OS for access rights.
Must also handle accounting of allocation/deallocation, perhaps combine
with garbage collection.