Hi Mariano,

On Mon, Jul 19, 2010 at 5:25 AM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:

Hi folks. I have a simple question. Suppose I have a file in disk that has a "pointer" to an object X that is in the image. What can I store from X in the file?�

this is an issue in virtual object systems, object persistence and object distribution systems and has been the subject of considerable research and implementation in the 70's, 80's and 90's. �You need to do a literature search (if Chris' suggestion of DiskProxy is insufficient). �In general the hash is insufficient since it is not unique. �A common approach (as Adrien points out) is to use a table in the image containing objects which have a persistent id and pass out the index into the table as the external id. �This immediately raises a GC issue because even if the table is weak a cycle of references between objects in the table can render the isolated cycle uncollectable. �Hence distributed garbage collection algorithms.
Two options: the address in memory or the hash.

If I savethe address, the object X can be moved by the GC, and thus, the address can become incorrect in the file.� I don't want to update the disk files in case objects are moved.
If I save the hash of X, how can I then localize that object in memory?� Hash is 12 bits...so it is not enough to find that object...(otherwise there would be only 4096 objects)

So....the question is, what should I save from object X in the file and what should I do to be able to localize it, some time after (even when the X is moved by the GC).

Sorry for my ignorance about the hash.

Thank you very much in advance,

Mariano