3 millones en foros del web

Registrarte Políticas Wiki 120segs Ayuda Iniciar sesion

Retroceder   Foros del Web > Programación > Programación General
Respuesta
 
Herramientas Desplegado
Antiguo 21-jun-2009, 10:58   #1 (permalink)
 
80 Mensajes
Ubicación: Argentina
argentinator está desconectado
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-jun-2009 a las 11:01 Razón: ...
  Responder Citando
Antiguo 22-jun-2009, 08:41   #2 (permalink)
Eternal Idol (Reg: mayo-2004)
 
6.067 Mensajes
Ubicación: Europa (VdL)
Enviar un mensaje por MSN a Eternal Idol Eternal Idol está desconectado
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
__________________
Luche y vuelve! Nacional y Popular
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  Responder Citando
Antiguo 22-jun-2009, 11:13   #3 (permalink)
 
80 Mensajes
Ubicación: Argentina
argentinator está desconectado
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
  Responder Citando
Antiguo 22-jun-2009, 11:57   #4 (permalink)
Eternal Idol (Reg: mayo-2004)
 
6.067 Mensajes
Ubicación: Europa (VdL)
Enviar un mensaje por MSN a Eternal Idol Eternal Idol está desconectado
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
__________________
Luche y vuelve! Nacional y Popular
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  Responder Citando
Antiguo 22-jun-2009, 12:22   #5 (permalink)
 
80 Mensajes
Ubicación: Argentina
argentinator está desconectado
Respuesta: Memoria Ilimitada bajo Maquinas Virtuales

Te agradezco tus respuestas, me han sido útiles.

Saludos
  Responder Citando
Antiguo 22-jun-2009, 12:59   #6 (permalink)
Eternal Idol (Reg: mayo-2004)
 
6.067 Mensajes
Ubicación: Europa (VdL)
Enviar un mensaje por MSN a Eternal Idol Eternal Idol está desconectado
Respuesta: Memoria Ilimitada bajo Maquinas Virtuales

De nadas
__________________
Luche y vuelve! Nacional y Popular
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  Responder Citando
Respuesta
No hay votos aún.
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.

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code está Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado
Trackbacks está Desactivado
Pingbacks está Desactivado
Refbacks está Desactivado



La zona horaria es GMT -6. Ahora son las 12:38.
Políticas de Uso de Foros del Web


Message Board Statistics

SEO by vBSEO 3.3.2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104