Hola Guillermo,

La diferencia con un sistema operativo moderno sera simplemente que estos
tienen soporte multi-thread nativo. Entonces ante un fallo de pagina,
mientras la pagina de memoria es transferida desde el disco, este podria
llegar a cambiar de thread. Sinceramente no conosco la implementacion, si
alguno conoce como se resuelve este detalle en un sistema operativo moderno
bienvenido su aporte. Tampoco estoy seguro que eso sea bueno en todos los
casos, habria que switchear a un thread que no genere otro fallo de
pagina...(?).No lo se...

Pero si estoy seguro que el St queda esperando la pagina de disco es una
limitacion de la vm con la que trabajamos que en caso es la de Squeak/Pharo,
que de ser superada podria cambiarse tambien si es que cambiar de thread
mejorase el throughput. Tener un hypervisor o una vm que controle a la/las
otras creo que siempre fue una idea que estuvo dando vueltas en SqNOS. Pero
para los temas que estamos hablando en este thread, creo que en algun punto
podria verse como una forma de implementar el multithreading y seguro seria
mas "caro" que otras implementaciones.

Saludos,
Guido.

El 24 de junio de 2011 19:11, Guillermo Schwarz <[email protected]
> escribió:

> Hola GUido,
>
> Primero que nada felicitaciones. NO he visto còmo lo hicieron pero debe ser
> fascinante.
>
> Lo que dices, si te entiendo bien, es que es atendida desde Smalltalk, lo
> que significa que Smalltalk carga la página, ahora bien, esa página está en
> disco, de modo que hay una petición al hardware para que lea del disco y
> deje esa información en determinada posición en RAM, lo que implica un buen
> tiempo sin ejecutar Smaltalk.
>
> Claro desde el punto de vista de mirar el código uno ve: primero ejecuta
> esto, la memoria accedida no está en RAM sino en disco, se produce una
> interrupciòn y ejecuta código Smalltalk para rescatar la página del disco,
> de modo que está todo el tiempo ejecutando SMaltlalk, pero si se pudiera
> graficar cuànto tiempo ejecuta Smalltalk durante el proceso, la mayor parte
> del tiempo està leyendo del disco, es decir, la CPU està desocupada (ok en
> un OS moderno probablemente hay 20 procesos haciendo cosas inùtiles), pero
> en SqueakNOS no habría nada ejecutando nada, a menos que SqueakNOS tenga un
> modelo de varias imágenes ejecutando simultáneamente, algo parecido a lo que
> sería un hypervisor, que por cierto creo que sería una buena idea para
> ejecutar SqueakNOS.
>
> Saludos,
> Guillermo.
>
>
> 2011/6/24 Guido Chari <[email protected]>
>
>> Hola Guillermo,
>>
>> La sincronicidad tiene que ver con la atencion de interrupciones.
>> SqueakNOS previo a nuestro trabajo atendia todas las interrupciones de
>> hardware de manera asincronica. A bajo nivel se signalea un semaforo de alto
>> nivel y se retomo el curso de ejecucion anterior, el cual ingresa a la vm y
>> en ese momento la interrupcion es atendida desde Smalltalk, Esto no era
>> posible para resolver fallos de pagina, ya que de no resolverse la
>> interrupcion de hardware "en el momento" el procesador no puede seguir su
>> curso de ejecucion. Sin embargo esto no quiere decir que la imagen queda
>> suspendida ya que el fallo de pagina se resuelve desde Smalltalk.
>>
>> Saludos,
>> Guido.
>>
>> El 24 de junio de 2011 17:18, Guillermo Schwarz <
>> [email protected]> escribió:
>>
>> Hernán,
>>>
>>> Què interesante. La ùnica duda que me surgió es si al hacerlo sìncrono
>>> significa que la imagen Smalltalk queda suspendida hasta que se resuelve o
>>> bien que otros threads de la misma imagen pueden seguir ejecutando mientras
>>> tanto. Todo esto lo pregunto porque resolver un acceso a disco con la
>>> tecnología actual (sin SSD) es del orden de entre 10 y 100 veces más caro
>>> que un acceso a RAM.
>>>
>>> Saludos,
>>> Guillermo.
>>>
>>>
>>> 2011/6/24 Hernan Wilkinson <[email protected]>
>>>
>>>> por si les interesa...
>>>>
>>>> ---------- Forwarded message ----------
>>>> From: Hernan Wilkinson <[email protected]>
>>>> Date: 2011/6/24
>>>> Subject: Defensa de Tesis de Licenciatura - Persistencia en SqueakNOS
>>>> To: docentes <[email protected]>, alumnos <[email protected]>
>>>>
>>>>
>>>> Defensa de Tesis de Licenciatura
>>>> Aula 2, Pab I, 1ro de Julio de 2011, de 17hrs. a 18hrs.
>>>>
>>>> Título: Persistencia en SqueakNOS
>>>> Alumnos: Guido Chari y Javier Pimás
>>>> Directores: Hernán Wilkinson y Gerardo Richiarte
>>>> Jurado: Máximo Prieto y Gabriela Arevalo.
>>>>
>>>> Resumen:
>>>> SqueakNOS es una reificación de los conceptos de "Computadora" y de
>>>> "Sistema Operativo" dentro del dialecto Squeak del lenguaje de programación
>>>> Smalltalk.
>>>> La filosofía de SqueakNOS establece que el desarrollo del mismo debe
>>>> hacerse completamente en Smalltalk, utilizando código de bajo nivel
>>>> únicamente en los casos en que no sea posible utilizar Smalltalk o que el
>>>> deterioro de rendimiento sea extremadamente ostensible.
>>>> El proyecto es un trabajo aún en desarrollo, y como tal, varias
>>>> funcionalidades comunes a los Sistemas Operativos no han sido implementadas
>>>> aún debido a su complejidad. Es por ello que esta investigación se centra 
>>>> en
>>>> analizar varios interrogantes relacionados con la persistencia de los
>>>> objetos, interrogantes que se presentan al momento de querer grabar el 
>>>> grafo
>>>> de objetos que representa el modelo desarrollado.
>>>> Para poder responder estos interrogantes, se desarrolló un controlador
>>>> de discos ATA y un modelo de filesystem FAT32 completamente en Smalltalk, 
>>>> lo
>>>> que brinda compatibilidad con otros sistemas operativos y con el entorno
>>>> Squeak genérico. Así por ejemplo, se logra acceder al código fuente de los
>>>> métodos y se avanza hacia el grabado de la imagen, característica que aún 
>>>> no
>>>> estaba disponible en el sistema.
>>>> Luego, se desarrolló una técnica de persistencia cuyo objetivo principal
>>>> era la simplicidad y su principal desventaja el requerir una utilización
>>>> importante y de manera ineficaz de memoria. A pesar de sus desventajas, fue
>>>> el primer paso para lograr la atomicidad necesaria para grabar los objetos
>>>> mientras estos estaban siendo modificados.
>>>> Finalmente, se implementó un esquema de manejo de memoria basado en
>>>> paginación, modificando el mecanismo de manejo de interrupciones original 
>>>> de
>>>> SqueakNos para que pudiera funcionar en forma sincrónica, requisito
>>>> indispensable para resolver los fallos de página. Esta solución
>>>> permitió  resolver los fallos de página completamente desde Smalltalk, lo
>>>> cual dio lugar a la experimentación y al desarrollo de formas novedosas de
>>>> utilización del mismo. Gracias a esto, resultó posible por ejemplo,
>>>> implementar una técnica alternativa de persistencia de la imagen, que
>>>> utiliza mucha menos memoria que la original debido a la asistencia del
>>>> mecanismo de paginación y la utilización de la técnica de copy on write.
>>>> Por último, se analizan aspectos relacionados con la manera de trabajar
>>>> en este tipo de entornos y plataformas, sus ventajas, sus dificultades y
>>>> complicaciones.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> *
>>>> Hernán Wilkinson
>>>> Agile Software Development, Teaching & Coaching
>>>> Mobile: +54 - 911 - 4470 - 7207
>>>> email: [email protected]
>>>> site: http://www.10Pines.com <http://www.10pines.com/>
>>>> *
>>>>
>>>> --
>>>> To post to this group, send email to [email protected]
>>>> To unsubscribe from this group, send email to
>>>> [email protected]
>>>>
>>>> http://www.clubSmalltalk.org
>>>
>>>
>>>
>>>
>>> --
>>> Saludos cordiales,
>>>
>>> Guillermo Schwarz
>>> Sun Certified Enterprise Architect
>>>
>>> --
>>> 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
>>
>
>
>
> --
> Saludos cordiales,
>
> Guillermo Schwarz
> Sun Certified Enterprise Architect
>
> --
> 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

Responder a