Evitar cuelgues en las nuevas Palm con NVFS (I)

by

Como este análisis va a ser profundo, anticipo que se van a tratar los reinicios que aleatoriamente sufren los usuarios de Palms con el nuevo sistema de memoria NVFS (especialmente los dos primeros equipos que lo implementaron: la Tungsten T5 y el Treo 650), la causa de los mismos, y cómo se pueden solucionar.

Desde el lanzamiento de la Tungsten T5, allá por el 2004, Palm ha implementado en sus dispositivos el novedoso sistema de memoria denominado NVFS, que son las siglas de Non-Volatile File System. Consiste en la utilización de memoria flash (el mismo tipo de memoria que las tarjetas SD) como memoria principal de la PDA. La memoria flash no necesita alimentación eléctrica contínua para preservar la información, cosa que sí necesitaba la anterior memoria utilizada, del tipo RAM, similar a la de los ordenadores.

Esto tiene dos ventajas: menor consumo de energía (con lo que la autonomía mejora enormemente), y que el contenido de la memoria no se pierda cuando se agota completamente la batería. Pero el NVFS también trajo inconvenientes. Más precisamente, la implementación del mismo. Y para entender el problema, primero debemos conocer cómo es exactamente el nuevo sistema de memoria.

En PDAExpertos está muy bien explicado. Voy a resumirlo a lo mínimo necesario para entender el resto del análisis. Para una lectura en más profundidad, recomiendo su artículo.

Las Palm anteriores a la Tungsten T5 tenían el siguiente esquema de memoria:

  • Por un lado un chip de memoria ROM con el sistema operativo, programas y librerías que venían de fábrica. La memoria ROM, como su nombre indica, es de sólo lectura, no la podemos modificar.
  • Y un chip de memoria RAM a su vez con dos partes: la que nosotros realmente accedemos, donde se instalan los programas, se guardan los documentos, etc, y una pequeña parte a la que no podemos acceder, denominada Dynamic Heap, que es la usada por los programas cuando se ejecutan. Ambas partes podrían identificarse con el disco duro y la memoria principal de un ordenador, respectivamente.


Sistema de memoria de una Palm sin NVFS

Las Palm con NVFS tienen otra estructura:

  • Un chip de memoria flash, en el que está, en una zona, el sistema operativo, librerías y programas que vienen de fábrica (viene a ser la ROM de los modelos anteriores), y en otra zona de la misma, la memoria para nuestro uso, donde se guardan los programas que instalamos nosotros, los documentos, etc. Digamos que es como un disco duro de ordenador, en el que el sistema operativo está en un directorio, y en los demás nuestros programas y datos.
  • Pero sigue habiendo también un chip de memoria RAM. Y os preguntaréis ¿para qué? La razón es que un programa no se puede ejecutar directamente en la memoria flash, debe hacerlo en RAM. Por lo tanto, cada vez que se ejecuta una aplicación, ésta debe copiarse primero a RAM. Esto lo hace nuestra Palm de manera transparente, y el retraso que produce es imperceptible.
    Esta memoria RAM contiene el Dynamic Heap que comentamos antes, y además una zona llamada DbCache que es donde se copian, como decimos, los programas para ejecutarse. Una vez que cerramos un programa, se borra de la DbCache para hacerle sitio al siguiente programa que ejecutemos (así debería ser al menos…). Y ésta caché es precisamente la causante de todos los problemas.


Sistema de memoria de una Palm con NVFS

Resumiendo, la famosa DbCache, de unos 10Mb, a la que no podemos acceder directamente es, como hemos visto, de uso interno del sistema operativo. Y los problemas de “Not enought memory…” que da el Blazer, o los reinicios por errores “Fatal Exception” o “Memory full” que se producen cuando abrimos un programa que consume mucha memoria, o sin causa aparente en algunos casos, se deben a su peculiar forma de funcionamiento. Pero eso lo veremos en el siguiente post, porque éste ya se ha hecho bastante denso.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Evitar cuelgues en las nuevas Palm con NVFS (I)

by

Como este análisis va a ser profundo, anticipo que se van a tratar los reinicios que aleatoriamente sufren los usuarios de Palms con el nuevo sistema de memoria NVFS (especialmente los dos primeros equipos que lo implementaron: la Tungsten T5 y el Treo 650), la causa de los mismos, y cómo se pueden solucionar.

Desde el lanzamiento de la Tungsten T5, allá por el 2004, Palm ha implementado en sus dispositivos el novedoso sistema de memoria denominado NVFS, que son las siglas de Non-Volatile File System. Consiste en la utilización de memoria flash (el mismo tipo de memoria que las tarjetas SD) como memoria principal de la PDA. La memoria flash no necesita alimentación eléctrica contínua para preservar la información, cosa que sí necesitaba la anterior memoria utilizada, del tipo RAM, similar a la de los ordenadores.

Esto tiene dos ventajas: menor consumo de energía (con lo que la autonomía mejora enormemente), y que el contenido de la memoria no se pierda cuando se agota completamente la batería. Pero el NVFS también trajo inconvenientes. Más precisamente, la implementación del mismo. Y para entender el problema, primero debemos conocer cómo es exactamente el nuevo sistema de memoria.

En PDAExpertos está muy bien explicado. Voy a resumirlo a lo mínimo necesario para entender el resto del análisis. Para una lectura en más profundidad, recomiendo su artículo.

Las Palm anteriores a la Tungsten T5 tenían el siguiente esquema de memoria:

  • Por un lado un chip de memoria ROM con el sistema operativo, programas y librerías que venían de fábrica. La memoria ROM, como su nombre indica, es de sólo lectura, no la podemos modificar.
  • Y un chip de memoria RAM a su vez con dos partes: la que nosotros realmente accedemos, donde se instalan los programas, se guardan los documentos, etc, y una pequeña parte a la que no podemos acceder, denominada Dynamic Heap, que es la usada por los programas cuando se ejecutan. Ambas partes podrían identificarse con el disco duro y la memoria principal de un ordenador, respectivamente.


Sistema de memoria de una Palm sin NVFS

Las Palm con NVFS tienen otra estructura:

  • Un chip de memoria flash, en el que está, en una zona, el sistema operativo, librerías y programas que vienen de fábrica (viene a ser la ROM de los modelos anteriores), y en otra zona de la misma, la memoria para nuestro uso, donde se guardan los programas que instalamos nosotros, los documentos, etc. Digamos que es como un disco duro de ordenador, en el que el sistema operativo está en un directorio, y en los demás nuestros programas y datos.
  • Pero sigue habiendo también un chip de memoria RAM. Y os preguntaréis ¿para qué? La razón es que un programa no se puede ejecutar directamente en la memoria flash, debe hacerlo en RAM. Por lo tanto, cada vez que se ejecuta una aplicación, ésta debe copiarse primero a RAM. Esto lo hace nuestra Palm de manera transparente, y el retraso que produce es imperceptible.
    Esta memoria RAM contiene el Dynamic Heap que comentamos antes, y además una zona llamada DbCache que es donde se copian, como decimos, los programas para ejecutarse. Una vez que cerramos un programa, se borra de la DbCache para hacerle sitio al siguiente programa que ejecutemos (así debería ser al menos…). Y ésta caché es precisamente la causante de todos los problemas.


Sistema de memoria de una Palm con NVFS

Resumiendo, la famosa DbCache, de unos 10Mb, a la que no podemos acceder directamente es, como hemos visto, de uso interno del sistema operativo. Y los problemas de “Not enought memory…” que da el Blazer, o los reinicios por errores “Fatal Exception” o “Memory full” que se producen cuando abrimos un programa que consume mucha memoria, o sin causa aparente en algunos casos, se deben a su peculiar forma de funcionamiento. Pero eso lo veremos en el siguiente post, porque éste ya se ha hecho bastante denso.

2 Responses to “Evitar cuelgues en las nuevas Palm con NVFS (I)”

  1. Walter Says:

    Tengo una PALM LIFE DRIVE y vivo constantes reestablecimientos y el error es “FATAL EXCEPTION”
    Que hago???
    Gracias!!!

  2. Marcos Says:

    Hola Walter.

    Pues lo primero, intentar aplicar la técnica que se explica en estos tres posts relacionados (este el el primero de los tres).

    La Lifedrive es muy sensible a las aplicaciones que tengas instaladas. Te recomendaría hacerle un hard reset para dejarla en blanco, y luego ir instalando los programas que le quieras meter, de uno en uno (uno por cada hotsync), e intentar que sea el menor número de programas posible. En cuanto tiene muchas cosas instaladas se puede volver inestable.

    No tengo una Lifedrive, así que si estos consejos no te solucionan el problema, creo que no te voy a poder ayudar mucho más.

    Un saludo.

    PING:
    TITLE: Noticia importante para poseedores de una Tungsten T|X
    BLOG NAME: Noticia importante para poseedores de una Tungsten T|X
    […] Dynamic Heap de la T|X, sólo 2Mb están contiguos, disponibles para cargar una aplicación grande. Esto limita el tamaño máximo de una aplicación, y conlleva cuelgues por falta de memoria. El causante es Blazer, el navegador web que no está c […]

    PING:
    TITLE: Lista de aplicaciones compatibles con la T|X
    BLOG NAME: Lista de aplicaciones compatibles con la T|X
    […] Dynamic Heap de esta PDA, hoy he encontrado una lista del software que ha sido probado en la T|X.
    Como bien advierten, si no encuentras un programa concreto no es que no sea compatible, sino que aún no ha sido probado por un usuario. La li […]

    PING:
    TITLE: Qué hacer si tu Palm con NVFS un día no arranca…
    BLOG NAME: Qué hacer si tu Palm con NVFS un día no arranca…
    […] este post, así que para entender mejor esta solución tenéis ahí la información necesaria.
    Este es un extracto del hilo del foro. Los que estén en el mismo problema, y quieran saber todos los detalles, pueden leerlo entero aquí.

    I presse […]

    PING:
    TITLE: Evitar cuelgues en las nuevas Palm con NVFS (II)
    BLOG NAME: Evitar cuelgues en las nuevas Palm con NVFS (II)
    […] explicación que se hizo sobre como está organizada la memoria interna de las Palm anteriores, y la que traen el nuevo sistena NVFS, intentaba explicar la existencia de la DbCache.
    Resumiendo, la DbCache es la zona de memoria RAM en la que […]

    PING:
    TITLE: Evitar cuelgues en las nuevas Palm con NVFS (y III)
    BLOG NAME: Evitar cuelgues en las nuevas Palm con NVFS (y III)
    […] sistema de memoria NVFS. Cuál es su problema con el DbCache, una parte de la memoria RAM imprescindible, que puede llenarse hasta no permitir cargar programas grandes. Y hemos aprendido cómo liberar periódicamente esta memoria para mantener […]

    PING:
    TITLE: ZonaPDA : Palm y Pocket Pc Programas Palm Juegos Palm accesorios Pocket PC Juegos Windows Mobile » Palm , Pocket Pc , Windows Mobile » Lo mejor del mes PDA
    BLOG NAME: ZonaPDA : Palm y Pocket Pc Programas Palm Juegos Palm accesorios Pocket PC Juegos Windows Mobile » Palm , Pocket Pc , Windows Mobile » Lo mejor del mes PDA
    […] Evitar cuelgues en las nuevas Palm con NVFS (I), (II) y (III)

    Sudoku en la Palm: cuidado que engancha

    DAs: hacks para PalmOS 5

    Cómo deben cargarse las baterías de ión de litio

    Cómo instalar Opera Mini, el nuevo navegador web […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: