>>>>> "Tony" == Tony Davie <[EMAIL PROTECTED]> writes:
Tony> This has well know disadvantages. Simon has already pointed
Tony> out that it's not relocatable. It's also limited to the size
Tony> of virtual memory and takes up that amount of space even
Tony> though most of it may not be used. Loading a complete
Tony> persistent memory at once is overkill. You should load it's
Tony> objects lazily and only store away accessible stuff at
Tony> commit time.
Relocation and address space are not such a problem on 64-bit
machines. Not having enough address space is really a disadvantage of
32-bit machines, not persistence.
I was suggesting using memory-mapped files, using e.g. mmap. Such a
file is mapped instantly into the address space, but its contents are
paged in and out on demand. A mmapped file takes up disk space only
for the populated part of its address region, and does not take up
virtual memory. It takes up real memory only according to demand for
pages from the file, in much the same way as buffer blocks do on a
conventional file.
Tim
--
----------------------------------------------------------------------
T.R.BARBOUR Email : [EMAIL PROTECTED]
----------------------------------------------------------------------
Department of Computer Science
The University of Melbourne
Parkville, Victoria 3052
Australia
----------------------------------------------------------------------