Moore's law and why persistence may not be necessary.

Lex Spoon lex at cc.gatech.edu
Fri Jan 25 00:26:34 UTC 2002


> I suddenly recalled there being an experimental(?) mmap-based memory allocator
> for Linux in the Unix VM glue code. It would be trivial to try to mmap the
> image into memory, wouldn't it? (at the moment, it mmaps /dev/zero with
> copy-on-write set into memory, so that writes to memory don't affect the
> underlying file). Load the (platform-independent) base image, mmap a nice
> chunk from a platform-dependent work image, and never bother again with
> saving.
> 
> 

Unfortunately it's not that simple: you don't know when the individual
parts of memory will get saved to disk, and so the on-disk version of
the image will have different parts that are different ages.

EROS could do it, however.  EROS is an operating system that
automatically pages memory to disk as you run -- very OOZE-like!  EROS
is very careful in the order it saves things to disk; at any time, there
is one complete and consistent snapshot, and one snapshot being built. 
The hard drive tends to run continuously, but its author claims that the
snapshotting takes less than 10% of the disk drive's IO, and thus it's
not that expensive.

It's pretty neat what happens when the whole system state can be
resumed.  Suddenly you don't need a filesystem, for example.  And
without a filesystem (this is Shapiro's angle), you can get much tighter
security -- how many Unix systems are in practice insecure, because the
admin got one of the 10 million chmod's wrong?.  Not to mention, that 
a filesystem is a horrible way to collaborate anyway -- if you've ever
listened to people trying to get Unix programs to cooperate in a secure
way, then you've heard a taste of this.

Overall, EROS (and its predecossor KeyKOS) are to operating systems like
Smalltalk is to languages: the core technology is decades old at this point,
and yet they are still ahead of their time.

	http://www.cis.upenn.edu/~eros/

Hmm, if you wanted a Squeak-puter, then EROS might make a good platform
to run it on.

-Lex



More information about the Squeak-dev mailing list