>>>>> "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
----------------------------------------------------------------------


Reply via email to