Foros del Web » Programación para mayores de 30 ;) » Programación General »

Memoria Ilimitada bajo Maquinas Virtuales

Estas en el tema de Memoria Ilimitada bajo Maquinas Virtuales en el foro de Programación General en Foros del Web. Hola gente. Estoy metido en algunos asuntos de la Teoría de la Computación relacionados con las Máquinas de Turing . La Máquina de Turing es ...
  #1 (permalink)  
Antiguo 21/06/2009, 09:58
 
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 90
Antigüedad: 19 años, 5 meses
Puntos: 2
Pregunta Memoria Ilimitada bajo Maquinas Virtuales

Hola gente.

Estoy metido en algunos asuntos de la Teoría de la Computación relacionados con las Máquinas de Turing.

La Máquina de Turing es una computadora teórica, que dispone de una memoria RAM ilimitada, digamos.
Obviamente nuestras PCs no disponen de RAM ilimitada.

Sin embargo, cada sistema operativo o entorno de ejecución podría estar programado adecuadamente para capturar tanta memoria RAM como haya en el hardware, y usarla sin ningún tipo de inconvenientes ni contratiempos.

El DOS antiguamente estaba mal diseñado y no permitía aprovechar más que 64K de memoria.
Me han dicho que el Windows XP adolece del mismo problema (no aprovecha más de 2GB).

Si yo uso la Máquina Virtual JAVA por ejemplo, ¿puedo suponer que tengo al menos en teoría tanta memoria RAM como haga me haga falta, o sea, ilimitada?

En otras palabras ¿Puedo considerar que la Máquina Virtual Java, o de la Microsoft o alguna otra, se comportan como una máquina de Turing, con memoria ilimitada?

¿Y Python: funciona ese entorno de programación como si tuviera memoria ilimitada? Por ejemplo, ¿me permite Python definir una lista con tantos elementos como a mí se me ocurra, o hay alguna limitación en la arquitectura del lenguaje que no permite trabajar con más allá de unos cuantos TeraBytes?

Última edición por argentinator; 21/06/2009 a las 10:01 Razón: ...
  #2 (permalink)  
Antiguo 22/06/2009, 07:41
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Respuesta: Memoria Ilimitada bajo Maquinas Virtuales

La RAM es fisico y tenes disponible solo la existente. De cualquier manera en S.O. modernos (a diferencia de MS-DOS, que en realidad si permitia acceder a mas de 64KB mediante segmentacion, y esto esta intimamente ligado con la plataforma x86) nunca accedes directamente a la memoria RAM como tal sino que trabajas sobre la memoria virtual de un proceso determinado que estaba en 32 bits dividida en una parte para modo Kernel y otra para modo Usuario. Si queres aprovechar mejor mucha memoria usa un S.O. de 64 bits en una maquina moderna.

Igual, ningun entorno funciona como si la memoria o cualquier recurso fuera ilimitado por la simple razon de que no lo son. Tal vez seria mas simple que plantearas que queres hacer exactamente pero tal vez esto sea tu respuesta:

"Turing machines are basic abstract symbol-manipulating devices which, despite their simplicity, can be adapted to simulate the logic of any computer algorithm. They were described in 1936 by Alan Turing. Turing machines are not intended as a practical computing technology, but a thought experiment about the limits of mechanical computation."

http://en.wikipedia.org/wiki/Turing_machine
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 22/06/2009, 10:13
 
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 90
Antigüedad: 19 años, 5 meses
Puntos: 2
Respuesta: Memoria Ilimitada bajo Maquinas Virtuales

Hola.

Me preguntás qué es lo que quiero hacer.
No sé si quiero hacer algo.
Te explico.
Más que nada es un problema teórico, o sea, quiero saber si se puede hacer de cuenta que uno tiene memoria ilimitada.

La cosa sería así. Suponte que tengo un Sistema Operativo o una Máquina Virtual, o lo que sea, que ha sido diseñado (programado) inteligentemente, de tal manera que si le voy agregando cada día a la PC un Giga de RAM, el sistema sea capaz de aceptarlo, leerlo y escribirlo correctamente, o sea, que sea capaz de aprovecharlo.
La idea es que ese Software no necesite modificaciones internas cada vez que agrego mayor cantidad de RAM, sino que esté tan bien diseñado (de una vez y para siempre) que si al Hardware le agrego más memoria, el Software tan sólo la reconoce y la aprovecha.

En ese caso, las limitaciones teóricas de la Maquina de Turing se aplicarían sólo al Hardware disponible en cierto momento, y no al Software.

En todo caso, lo que quería saber es si la Máquina Virtual Java es capaz de trabajar con una cantidad arbitraria de memoria, o si tiene un tope teórico, digamos unos 4000 Terabytes.

Si me gano la lotería trillonaria y decido fabricar una supercomputadora con 1 trillon de Terabytes de RAM. ¿La máquina virtual java será capaz de aprovecharlo? ¿El Linux será capaz de aprovecharlo? ¿O no están hechos para eso?

Quiero saber si esos sistemas o algún otro que yo desconozca, están diseñados para aprovechar una cantidad arbitrariamente grande de memoria RAM, o si en realidad en un super sistema con muchisima memoria no hay sistema capaz de reconocerla y aprovecharla toda.

Creo que mi pregunta es bien simple.

Saludos
  #4 (permalink)  
Antiguo 22/06/2009, 10:57
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Respuesta: Memoria Ilimitada bajo Maquinas Virtuales

Solo en teoria podes hacerlo.


La maquina virtual de Java hay que compilarla para cada plataforma y S.O. que a su vez es dependiente de la plataforma.

Hoy en dia con S.O.s de 64 bits (Windows, GNU/Linux, etc) podes tener MUCHA RAM (1TB en Windows 2003 Server por ejemplo) sin problema PERO no son infinitos ni mucho menos. Si la plataforma de hardware no lo soporta, que no lo hace, no puede el software hacerlo.

"Larger physical address space: Current implementations of the AMD64 architecture can address up to 1 TB (240 or 1,099,511,627,776 bytes) of RAM; the architecture permits extending this to 4 PB (252 or 4,503,599,627,370,496 bytes) in the future (limited by the page table entry format)."

http://en.wikipedia.org/wiki/X86-64#...tural_features
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #5 (permalink)  
Antiguo 22/06/2009, 11:22
 
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 90
Antigüedad: 19 años, 5 meses
Puntos: 2
Respuesta: Memoria Ilimitada bajo Maquinas Virtuales

Te agradezco tus respuestas, me han sido útiles.

Saludos
  #6 (permalink)  
Antiguo 22/06/2009, 11:59
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Respuesta: Memoria Ilimitada bajo Maquinas Virtuales

De nadas
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:39.