Micro Squeak

Alan Kay Alan.Kay at disney.com
Wed Mar 28 16:13:24 UTC 2001


Thanks Tim --

Yes, this was a very cool system, and well worth studying.

Cheers,

Alan

------


At 7:56 PM -0800 3/27/01, Tim Rowledge wrote:
>Another possibility, but that involves quite lot more work, is to revert
>to an Object Table and use copy-on-write semantics.
>
>Many years ago (1989), in a galaxy far, far, away (Cambridge, UK), I did
>the VM work for the Active Book Company. The Smalltalk used was a
>derivative of a derivative of Eliot Miranda's rather nice BrouHaHa vm,
>hacked about mercilessly for various reasons. To cope with a mainly ROM
>world, I used the OT's indircetion to my benefit. All objects were in
>ROM to start with and when any prim or bytecode tried to write into ROM
>it was caught, the object copied to RAM and a the OT data pointer
>updated. After that, the write could proceed without problem. It worked
>amazingly well and nobody ever spotted a problem with it in tens of
>thousands of hours of running. I even managed to come up with a way to
>save the delta from the ROM (by scanning the OT, finding all the objects
>now in RAM and saving them) so that typical working 'images' were
>70-80kb. Loading these 'images' took very little time and was pretty
>much a patching operation. The machine has 1Mb ROM, 1Mb RAM to cover the
>OS, a fax filing system and screen and all working space. It was snappy
>as hell and could probably be produced for about $100 these days. Sigh.
>
>Anyway, you could probably do similar with the current Squeak
>ObjectMemory format, but it would be trickier since there is potential
>for a major swarm of copy/update with direct pointers. For restricted
>applications (no changing classes, move class variables that get written
>to a global dict, stuff like that) it would be ok.
>
>If anybody wants it done, I'm available for the usual ursurial rates.
>
>tim
>
>--
>Tim Rowledge, tim at sumeru.stanford.edu, http://sumeru.stanford.edu/tim
>Strange OpCodes: MW: Multiply Work





More information about the Squeak-dev mailing list