5 ms·
> Seventh, Smalltalk represents a new programming model where the image is a snapshot of the total execution state of the application (including the Smalltalk s
by ScottBurson 7y ago
> Seventh, Smalltalk represents a new programming model where the image is a snapshot of the total execution state of the application (including the Smalltalk system).
"New"?? Lisp has worked this way since the mid-1960s.
- igouy 7y agoAnd now MSWin and Ubuntu also sleep.
- jolmg 7y agoThe equivalent would be hibernation, though.
- igouy 7y agoTrue. I'm really not sure why I don't use either.
- lispm 7y agohibernation and sleep doesn't have much to do with 'images' or Lisp 'worlds'. On a Symbolics Lisp Machine I would create lots of runtime objects in memory. These objects would be state of my development environment, my applications, my user data, etc. I can then save a world to disk, which is basically a memory dump (possibly with memory optimizations like doing a full GC, defragmentation of memory, sorting of objects, improving locality of data structures, etc.). I can also save a chain of delta worlds. As a user I can keep several of these images or delta images on disk and boot into the one I'm interested in. I could also ship the image to another user and have him/her boot that image or even myself have my Lisp Machine boot such an image over the network from a server. The Lisp Machine development environment tracked changes to the currently active software in memory (source locations, versions, patches, ...). Thus a typical way to work was to boot the latest delta worlds, log into it as a user and load all available patches to the loaded software - typically in a networked environment these patches would be loaded from a central server - even the some of the base images might be prepared on a central server. Loading code ways relatively slow (large disks for these systems were slow - over ESDI or early SCSI) and booting an image was relatively fast - a full boot on an end 80s Lisp Machine took roughly 3 minutes. OTOH something like Interlisp-D was relatively similar to how Smalltalk 80 worked. Interlisp-D inherited the image-based development from BBN Lisp, which is from the end 60s / early 70s.