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

Lex Spoon lex at cc.gatech.edu
Fri Jan 25 17:06:26 UTC 2002


On Fri, Jan 25, 2002 at 12:35:01PM +0100, Andreas Raab wrote:
> Lex,
> 
> > 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. 
> 
> Do you have any pointers to how they do this?! The thing I'm mostly
> interested here is how they deal with any kind of "external" resources
> (e.g., network connections etc).


This is indeed a tough issue.  You *can't* automatically restore all
these things, so what do you do?  I think the strategy they use is that
only system code directly touches things that can disappear like this.
Then, on reboots, the system code is able to recover, and user code
either doesn't notice, or has a simple notification that the device has
been reset.

Some thoughts on particular cases:

- network connections will surely die across reboots, but this isn't
  that big of a problem; well-written network code should be prepared
  for disconnections at any time, anyway.

- file descriptors never go invalid, because the filesystom is held
  in virtual memory.

- the sound device should be easy to reopen automatically, at the
  cost of a slightly more complicated device driver.

- the display is tricky, especially when you consider hardware that
  has a coprocessor, but it's not a very big deal for Squeak: refreshing
  the display is simple.


By the way, KeyKOS is an older operating system with a lot of the same
ideas, but which has actually seen commercial use.  So searching on
KeyKOS can turn information about practical results.  Unfortunately,
my quick searches keep turning up stuff on www.eros-os.org, which doesn't
work at the moment.

Hmm, this site looks interesting:

	http://www.cap-lore.com/

This is the dude who made KeyKOS.

-Lex



More information about the Squeak-dev mailing list