[HACK] Persistent Computing
Manuel Rubio
doominvs at yahoo.es
Sat Jan 26 22:36:02 CET 2008
Hola Mercè,
me encanta leer este tipo de artículos porque son muy amenos e informan de
temas de los que no nos informan, normalmente, en informativos, como bien has
comentado referente a la cantidad de periodistas que había para la entrevista
a Martin Hellman.
Referente a este tema, yo he programado con Hibernate en Java y ahora
estoy "coqueteando" con Python y me ha llamado la atención la mención de
ZODB, por lo que la tendré en cuenta para mis programas... ¡gracias Jesús!
Por otro lado, he echado en falta referencias, como en otros artículos, que
expliquen, para los que no sabemos bien cómo hacer la "magia" de las
aplicaciones "eternas", ¿cómo adentrarnos en el tema?
Si se pudieran dar por aquí algunas referencias sería fantástico.
Gracias.
El Friday 25 January 2008 12:40:07 merce escribió:
> 04/04/07 11:03:15
>
>
> LLEGAN LOS PROGRAMAS QUE NO PIERDEN DATOS CUANDO SE VA LA LUZ
>
>
> Mercè Molist
> Es el más típico accidente de los usuarios de ordenadores: estar
> escribiendo un documento, llevar rato sin guardarlo y, de repente,
> falla la corriente eléctrica y se pierden aquellos valiosos datos.
> Un nuevo concepto informático, la "persistencia", permite crear
> programas que aún después de haberse cerrado por accidente conservan
> la información intacta.
>
> Una conocida aplicación de la "informática persistente" es la
> funcionalidad de hibernación de los ordenadores portátiles: cuando
> hace rato que no se usan se apagan solos pero, si se activan de
> nuevo, vuelven a donde estaban, con los mismos programas abiertos y
> los datos contenidos en ellos.
>
> Algo parecido sucede con algunos PDA o los teléfonos móviles con
> sistema operativo Symbian: usan técnicas de persistencia para que,
> cuando se acabe la batería, no se pierda el mensaje que estábamos
> escribiendo. Otro ejemplo, más primitivo, son los navegadores que al
> reiniciarse "recuerdan" las direcciones web que había en las
> pestañas abiertas.
>
> "En un programa tradicional, los datos se almacenan separados y
> deben ser cargados y salvados de forma explícita. En un sistema de
> persistencia, el programa es virtualmente eterno en el sentido de
> que, si lo paras y lo lanzas de nuevo, sigue con exactamente los
> mismos datos en memoria, sin que los hayas grabado", explica Jesús
> Cea, único representante conocido de esta tendencia en España.
>
> La informática persistente no precisa de un "hardware" especial, ni
> de nuevos lenguajes de programación, consiste simplemente en
> escribir los programas de otra manera, usando caminos que existen
> pero no se habían aprovechado: "Las memorias de ferrita de los
> primeros ordenadores comerciales, en los años 50, ya eran
> persistentes pero hasta ahora no se ha empezado a vislumbrar el
> concepto", asegura Cea.
>
> Aunque parezca magia, no lo es, explica: "En realidad, cada cambio
> que hacemos en el fichero se graba en el disco duro. Pero quien
> graba estos datos no es el programa, que no lo ve ni lo nota, sino
> la infraestructura, que puede ser el sistema operativo o una
> librería. Esta es la clave de que los programas persistentes se
> escriban de otra forma, porque aprovechan la infraestructura de otra
> manera".
>
> Así, el programa no participa en el proceso de grabación y
> recuperación de datos. "Trabaja como si lo tuviese todo en memoria",
> explica Cea y pone un ejemplo: "Un dibujo grabado en el disco duro
> es un objeto .jpg, pero en memoria son colores, pixels, etc. Un
> programa "eterno" trabaja con lo que está en memoria".
>
> Otro ejemplo son las bases de datos: "Cuando alguien entra en un
> blog y pide la entrada número 17, el programa debe conectarse a la
> base de datos, pedir el objeto 17, la base de datos se lo da y el
> programa lo convierte a un formato que pueda ver el usuario. Si
> tienes estos datos siempre en memoria, no debes ir a buscarlos a
> ninguna parte, el programa se ahorra estos pasos".
>
> Aunque los programas "eternos" no significan el fin de las bases de
> datos como almacenes de información, "sí lo son si piensas en una
> base de datos relacional, como SQL, donde el programa va a buscar la
> información. Desde que uso "software" persistente, no he vuelto a
> necesitar SQL", asegura Jesús Cea.
>
> Pero, ¿cómo se mete en memoria toda una base de datos? "Funciona
> como la memoria virtual: cuando lanzas el programa, se van cargando
> en memoria los objetos que va referenciando. Cuando la caché está
> llena, se elimina lo que hace tiempo que no se usa. Pero el programa
> sigue viendo todo como si estuviese en memoria y trabajando en
> consecuencia, aunque "por debajo" las cosas sean distintas".
>
> De esta forma, explica, "el programa funciona mejor, porque no
> necesita grabar ni cargar nada, y es más fácil de escribir para el
> programador, que no se tiene que preocupar de estos detalles". A
> pesar de ello, son pocos los programadores que utilizan la
> informática persistente. La razón, según Cea, es que "exige un
> cambio de mentalidad, programar en otro estilo".
>
> David Binger, fundador del Proyecto Durus, un paquete de "software"
> libre para programas persistentes, lo atribuye a "la tendencia de
> los programadores a usar las tecnologías más populares, después de
> todo es lo que van a pedirles en sus trabajos". Aún así, la
> persistencia gana adeptos: "Al ser programas muy simples, son más
> seguros".
>
> El concepto de "informática persistente" es muy nuevo y, como todo
> invento revolucionario, avanza lentamente, explica Binger: "Se
> popularizó en los círculos informáticos en los años 80 y, a finales
> de los 90, empezaron a aparecer herramientas de programación
> dirigidas a crear sistemas persistentes, como ZODB o Durus en Python
> e Hibernate en Java".
>
> Binger creó Durus para su negocio, "MEMS and Nanotechnology
> Exchange", dedicado a la fabricación de prototipos para máquinas
> nanotecnológicas: "Necesitábamos manejar mucha información en
> condiciones "sensibles", incluso si fallaba el suministro eléctrico,
> y que nuestros programas pudiesen acceder a los objetos que
> necesitasen a una gran velocidad".
>
>
>
> Página de Jesús Cea sobre persistencia
> http://www.argo.es/~jcea/artic/persistencia01.htm
>
> Qué es la informática persistente
> http://en.wikipedia.org/wiki/Persistence_(computer_science)
>
> MEMS and Nanotechnology Exchange
> http://www.mems-exchange.org/
>
>
>
> Copyright 2007 Mercè Molist.
> Verbatim copying, translation and distribution of this entire
> article is permitted in any digital and no commercial medium,
> provide this notice is preserved.
>
>
> _______________________________________________
> Lista - http://mailman.argo.es/listinfo/hacking
> FAQ - http://www.argo.es/~jcea/artic/hack-faq.htm
> "una-al-dia" para estar siempre informado - http://www.hispasec.com/
More information about the hacking
mailing list