[ATARI] Re: Atari digest, Vol 1 #181 - 5 msgs

jcagigal jcagigal at svalero.es
Tue Dec 4 23:01:45 CET 2001


El Mon, 03 Dec 2001 18:13:30 -0600
"Alejandro Aguilar R." <atarium at racsa.co.cr> escribió:
> > 
> > Eso significan que están MAL hechos, no que la idea de las librerias sea
> > mala.
> > Al menos en linux sí que te puedo garantizar que las librerias ahorran
> > bastante espacio (windows es otro tema, claro :-)
> > 
> Estás en lo cierto... Pero me gusta la idea de unas librerías fijas al
> estilo Atari (o Mac, creo que el MacOS tiene algunas fijas). Si se

O Amiga si la quieres dejar fija una vez cargada. De todas formas las
librerias rara vez pasan de 20kb y si tengo por ejemplo 100 librerias de
100 programas no veo ninguna necesidad de tener librerias ocupando
memoria nada mas arrancar la máquina. El MacOS antiguo es un ejemplo
bastante malo de velocidad y eficiencia en la carga de librerías (al
menos la version 7.5)

> necesitaran funciones nuevas pues se añadirían (ejemplo NVDI). En cada

SetFunction() en  el amiga si la quieres parchear.

> versión nueva de Windows añaden miles de funciones nuevas, así que a
> veces uno no sabe cual función usar o si la nueva función será mejor que
> la anterior. Por eso se finaliza con programas extremadamente largos

Normalmente en la documentación (al menos en la de Amiga) está muy claro
que funciones están obsoletas. Yo sigo pensando en que son tan gordos
porque no están bien programados. Ni ellos ni sus librerias dinámicas.

> (¿Más librerías añadidas al programa además de las que tiene Windows?).
> 
> Las librerías dinámicas añaden gasto de memoria (hay que estarlas

Todo lo contrario. Liberan memoria. Para que quiero tener residente en
memoria el código de mostrar un jpg 3 veces si lo puedo tener sólo una.
Y para qué quiero conservar ese código una vez ya he cerrado los
programas que lo usaban? Para que cargar código que tal vez no use al
arrancar? Para que reinventar la rueda 1000 veces? Si alguien hace un
código estupendo para visualizar jpgs por qué no aprovecharlo
automaticamente en todos los programas?

> cargando y descargando), sin mencionar la fragmentación de la misma.
> (¿cual usuario de Peceras no a tenido que "resetear" su computadora
> porque la memoria se saturó y empezó a fallar?) Con el costo de la
> memoria actualmente, una Amiga o Atari con 64 MB de memoria tendría
> suficiente campo para tener código y datos en la misma (sería el
> equivalente a una PeCera con 1.5 GB de memoria RAM)
> 
Todo dependiendo de la tarea que realices claro, aunque si que es verdad
que el windows gestiona muy mal la memoria. Incluso los desarrolladores
de juegos (por ej Blizzard) no usan las funciones del SO y usan las
suyas propias para manejar memoria y otras tareas...
> > 
> > Pues agárrate... tanto los programas de Atari, como los de Amiga SI
> > utilizaban librerias. Otra cosa es que no las veíamos. Están escondidas en
> > la ROM o en el SO en disquete. No eran dinámicas, pero librerias al fin y
> > al cabo.
> > 
> Te doy la razón también en esta. De hecho, cualquier grupo de funciones
> que sirva a un propósito forma una librería. Pero no es dinámica (como
> tú lo dices) y siempre está a disposición (no tienes que decirle al SO
> que la cargue). Es por eso que las Atari son "rápidas" para ejecutar
> código.

Puedes tener una librería dinámica en ROM. La libreria se abre y cierra
según se necesite. No libera ram después de emplearla porque está en
ROM, pero por ej puedes copiartela al hd y usarla directamente. En el
Amiga al menos son librerias dinámicas copiadas a Rom. Ok, llamarlas
dinámicas estando en rom no tiene mucho sentido pero es que son las
mismas.

Y que ocurre si mi programa usa una librería? Tú como lo programarias,
para que usase una librería estática y se comiese siempre la memoria
incluso cuando no usase el programa? Y si tengo instalados 100
programas? Las librerias estáticas son prehistoria y no ofrecen ninguna
ventaja respecto a las dinámicas. Siempre puedes coger una librería
dinámica, no cerrarla y dejarla en ram, pero es un desperdicio.
> 
> Recuerdo los primeros días de la Amiga. Como había que cargar todo de
> disco, el hecho de correr un programa que utilizara una librería
> dinámica era toda una tortura por el tiempo que tardaba en cargarla a

Cargar menos de 20kb? pffff por favor. Bueno eso es relativo. A lo mejor
preferias que cada programador reescribiese el mismo código mil veces.
No me cuentes historias de roms y mandangas, si mi programa usase una
rutina para cargar jpgs que quieres que la reescriba y consuma memoria
inutilmente. De verdad, defender librerias estáticas frente a dinámicas
me parece hilarante.

> memoria. Y si el programa la volvía a utilizar unos segundos más tarde,

Lo normal es que el programa sólo cierre la librería al acabar su
ejecución al menos asi funcionan el 95%, debiste usar el 5% restante.
Con lo cual la librería queda abierta durante la ejecución sin
ralentizar y además consumiendo menos memoria que si el programador
reescribiese todo (y menos que si dejamos una libreria cargada en ram
que jamas vamos a usar) Con librerías estáticas te verás obligado a
reiniciar si quieres cambiar las librerias que tienes cargadas en ram.

> se tenía que volver a cargar. Lógicamente los tiempos cambian y el SO de
> Amiga evolucionó, además de los discos duros y la memoria, pero esto dá
> un ejemplo de que una buena idea puede ser al mismo tiempo engorrosa.
> 
Las librerias dinámicas son todo ventajas frente a las estáticas. No
insistas, si quiero dejar una librería dinámica en ram no tengo más que
hacerla residente (la memoria se fragmentará igual que si usase
librerías estáticas). Si por casualidad quiero liberar memoria en un
momento determinado puedo, con las estáticas no.

> Siganme llamando prehistórico, pero me gusta más el GEM que el Workbench
> (no importa lo moderno que sea la versión última).
> 
Sobre gustos no hay nada escrito. Otra cosa es que técnicamente sea
mejor o peor.

Saludos
Jaime Cagigal Bordonaba
A4060T/60+picassoIV+Ethernet
Motorola es lo que mola!



More information about the Atari mailing list