Memoria liberada y navegador mejorado

memorias Según parece, los tiempos de crisis hacen plantearse cosas que antes no se planteaban. Una de ellas es el uso indiscriminado de la memoria del PC que viene arrastrándose desde los primeros comienzos de la informática. El software cada vez requería más velocidad de CPU, más memoria y mas disco duro. Ese más, más y más, nos obligaba a tener que cambiar de PC cuando queríamos simplemente jugar con el último juego del mercado.

 El Windows Vista fue rápidamente desechado por un más optimizado Windows 7, que funcionaba mejor en el mismo PC que en Windows Vista iba más lento. Esto mismo ha ocurrido a lo largo del tiempo en multitud de ocasiones.

 El último del que se tiene noticias de que ha comenzado a optimizar el uso indiscriminado Firefoxque hacia de lamemoria en el PC, ha sido Firefox en su versión 7. Los de Mozilla se han dado cuenta de que aunque su navegador Firefox funcionaba bien, los requisitos de funcionamiento se convertían en desmesurados a medida que se estaba usando.

 Este tipo de problemas lo han sufrido muchos programas de software y es debido al problema de liberación de la memoria una vez ya no se esté usando. Todo esto viene derivado del incremento secuencial de los datos en memoria, es decir; los datos se colocan uno detrás de otro y cuando liberamos un trozo intermedio, muchas veces seguimos manteniendo reservados desde el primer bit hasta el último, a pesar de haber espacios vacíos en la memoria que reservamos.

uso de memoria en Firefox Para liberar esta memoria, se suele reorganizar los datos para ocupar los espacios vacíos cada cierto tiempo y de esta forma liberar la memoria que se encuentra en los extremos del espacio ocupado. En la última versión de Firefox este proceso se realiza más frecuentemente, con lo cual se optimiza el espacio utilizado.

 ¿Ha sido efectiva la mejora? Solo el tiempo y los usuarios de Firefox podremos decirlo.

PCs – Posicionado en el monitor en modo texto

Los ordenadores están hechos por personas y las personas solemos crear las cosas basandonos en nuestra medida y proporcion. Repetimos lo que sabemos y podemos manejar de forma fácil.

Cuando se comenzaron a usar los monitores de los ordenadores como interfaz de salida hacia las personas, se penso en algo que hacia ya siglos que era de uso comun, los libros.

Los libros estaban compuestos de una serie de caracteres agrupados en palabras y estas a su vez agrupadas en lineas. Lo logico era que el monitor mostrara mensajes que nosotros entendieramos y que nosotros introdujeramos mensajes que nosotros entendieramos y pudieramos recordar. En el monitor se iban a mostrar caracteres de derecha a izquierda y de arriba a abajo. Esto hizo que el punto origen de la pantalla del PC, se estableciera en la parte superior izquierda cuando estabamos trabajando con el texto. Originalmente tambien se establecio una posicion absoluta de memoria para almacenar lo que se veia en el monitor.

El tamaño de todas las letras era del mismo tamaño, esto significaba que ocupaba el mismo sitio la letra “i”que la “X”. La pantalla se convertia en un curioso juego de los barcos. Si sabiamos en que posicion de la memoria estaba un determinado caracter en la pantalla, podia ser borrado, sustituido, movido e incluso leido.

El tamaño de la pantalla de texto era de 80 x 25, es decir, lineas de 80 caracteres (anchura) hasta un total de por 25 lineas de altura, esto significaba que la memoria necesaria para guardar una pantalla de texto deberia ser de (80×25=2000 caracteres), si cada caracter ocupa un byte como ya explique, esto serian 2000 bytes.

Entonces aparecia una necesidad logica, cada caracter tenia unos atributos para el fondo y la letra que tenia que almacenarse en algún sitio y que ademas debian ser leidos antes de enviar el caracter al monitor. Se estableció un byte mas para guardar estos atributos por cada caracter. Esto duplicaba por 2 el tamaño anterior, es decir 4000 bytes eran necesarios para guardar la pantalla y los datos se guardaban de la siguiente forma:

  • atributos del caracter 1 ==> byte 1
  • caracter 1 ==> byte 2
  • atributos del caracter 2 ==> byte 3
  • caracter 2 ==> byte 4
  • atributos del caracter 3 ==> byte 5
  • caracter 3 ==> byte 6
  • atributos del caracter 4 ==> byte 7
  • caracter 4 ==> byte 8
  • ….. y asi hasta los 4000 bytes

Esto significaba que con unos sencillos calculos, podias saber que habia en una posicion determinada de la pantalla, simplemente leyendo el byte correspondiente y tambien podias escribir en esas posiciones.

Algunos de los primeros virus famosos, se aprovecharon de esta caracteristica para realizar efectos curiosos en pantalla y yo mismo hice varios programas basandome en este principio, uno de ellos te permitia diseñar una pantalla de texto y almacenarla para usarla mas tarde y otro hacia que al pulsar una tecla, cayeran todas las letras que estaban escritas en el monitor.

Como podemos ver, las tarjetas graficas que se usaban para este tipo de trabajos no necesitaban ser demasiado potentes en cuanto a memoria, pero ya hablaremos mas tarde del modo gráfico.