Hola Angel, fijate en la clase SmalltalkImage, en la categoría "startup list". Mediante esos métodos es posible que las clases se "registren" para ser invocadas al re-iniciarse Squeak/Pharo (cómo funciona esto en detalle no lo sé, tendrías que investigar el código).
Las clases registradas reciben el mensaje "startUp". De manera similar existe "shutDown". Cuando se guarda la imágen (aunque no salgas) creo que se simula un proceso de shutdown (buena tu pregunta). Por eso existe también el método "shutDown: quitting", donde quitting es true/false según corresponda. Clases que usen sockets usan este mecanismo (startUp) para volver a re-establecer la conexión. Espero que te sirva. Saludos, Sebastian 2012/11/23 Angel Java Lopez <[email protected]>: > Hola gente! > > Estoy comenzando a trabajar en el tema de grabar y leer una imagen en mi > implementacion casera de VM. > > Donde esta especificado que es lo que se ejecuta cuando se carga una imagen? > Creo que el libro Smalltalk-80 The Language and Its Implementation, no dice > nada sobre eso, o recuerdan capitulo/seccion? > > Recien busque en Google, y encuentro: > > http://book.seaside.st/book/getting-started/pharo/what-is-image > An image is loaded and executed by a virtual machine. When you ran Pharo in > Section 2.1 you really were running the virtual machine on the pre-packaged > “One Click Image” image. For the sake of brevity we call this “running the > image.” The Smalltalk image includes active processes (Smalltalk processes > are more akin to “threads” in other languages). When you load an image from > a disk file you bring objects that were part of that image into RAM and > resume execution of the active processes that were part of that image. If > you were debugging when you saved the image, you’ll still be debugging when > you load that image. We like to think of this as “picking up where you left > off” (note that there are limits to this model: transient objects like a > network connection that was active when the image was saved will not be > available when the image is re-loaded). As an example, the Seaside “One > Click Image” image was saved with the Comanche web server running so, when > you load this image that web server process will be running. We’ll say more > about that later. > > Entiendo lo de los procesos, pero... hmmm... no falta algo? Por ejemplo, ese > servidor Comanche corriendo, no llega en algun momento a hacer un Listen o > algo, sobre una puerta TCP del sistema en el que esta albergado? Como hace > para que cuando se carga de nuevo la imagen, ese servidor termine VOLVIENDO > a escuchar por la puerta 8080? > > Hay algun initialize que se envia? > > Y cuando se graba una imagen, hay algun "suspend" o algo asi que se envia a > algun objeto? > > Gracias por cualquier info > > Nos leemos! > > Angel "Java" Lopez > @ajlopez > gh:ajlopez > > > > -- > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > > http://www.clubSmalltalk.org -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] http://www.clubSmalltalk.org
