From: Alex S. Crain
Subject: Persistant objects
Date: 
Message-ID: <1991Jun14.154538.18287@umbc3.umbc.edu>
	Hi.

	I'm implementing a scheme based OS/environment and I've started
designing a file system/disk interface. I'm considering using persistant
objects instead of the traditional file heirarchy, and I'm looking for
advice, pointers and references that might help me design the interface.
I'd be particularly interested in descriptions of any existing systems
(although I don't know of any).

	Any help/suggestions/comments are welcome.



-- 
#################################		           :alex.
#Disclaimer: Anyone who agrees  #                 Systems Programmer
#with me deserves what they get.#    University of Maryland Baltimore County
#################################	    ····@umbc3.umbc.edu
From: Paul Wilson
Subject: Re: Persistent objects
Date: 
Message-ID: <1550@yoakum.cs.utexas.edu>
In article <······················@umbc3.umbc.edu> ····@umbc4.umbc.edu (Alex S. Crain) writes:
>
>	Hi.
>
>	I'm implementing a scheme based OS/environment and I've started
>designing a file system/disk interface. I'm considering using persistant
>objects instead of the traditional file heirarchy, and I'm looking for
>advice, pointers and references that might help me design the interface.
>I'd be particularly interested in descriptions of any existing systems
>(although I don't know of any).
>
>	Any help/suggestions/comments are welcome.
>



You might be interested in my scheme for "pointer swizzling at page
fault time."  You do address translation of all pointers in a page
when you fault the page in.

This lets you implement huge address spaces (e.g. 64- or 128-bit)
efficiently on standard 32-bit hardware -- running programs only
see normal pointers (because they only see pages after they've been
"fixed up" by a page fault handler).


This lets you have a huge heap without needing a 64-bit architecture or
incurring a lot of overhead in pointer dereferencing.

We have a prototype implementation written in C for our Scheme system,
running on Sun OS.  (No modifications to the OS are required.)  The
protype isn't much more than an existence proof yet, so it's not really
good for much -- no concurrency control or resiliency, etc.  My 
understanding is that Object Design, Inc.'s commercial Object Store
works along vaguely similar lines, and it's a real industrial strength
system.)

I have a tech report about this if you're interested.  It describes
both the basic page-fault-time address translation technique, and an
incremental technique that invalidates and rebuilds mappings during
program execution so that you never run out of address space.

  -- Paul



-- 
| Paul R. Wilson, Interactive Computing Envts. Lab. lab ph.: (312) 996-9216   |
| U. of Illinois at Chicago EECS Dept. (M/C 154)    ······@bert.eecs.uic.edu* |
| P.O. Box 4348   Chicago,IL 60680                  fax ph.: (312) 413-0024   |
| *Next yr, Asst Prof, UT Austin CS Dept-- after 8/1 use ······@cs.utexas.edu |