por
pobrecito hablador
el Martes, 01 Junio de 2010, 00:18h
(#1220622)
a ver, si alocas una direccion de memoria real de 64bits y la tienes que referenciar en un sistema donde solo manejas datos de 32bits, como haces, cuando no existen tipos de datos punteros de 64bits en la maquina virtual?
¿? ¿Entiendes el concepto de "máquina virtual"?
si esto es un error de diseño diganselo a la gente que diseño fenix (cebrain y compañia), pero aun asi, no es una falla de diseño, es una caracteristica del lenguaje.
Sí, es un error del diseño. Habéis (por lo que he entendido) diseñado un procesador virtual con acceso a la memoria real. ¿Cómo puede no ser eso un error de diseño?
De la misma forma que un procesador de 32bits puede manejar directamente solo direcciones/punteros de 32bits.
Si tu máquina virtual es de 32bits, ¿por qué tienes la necesidad de pasarle punteros de 64? Eso es lo que deberías entender tú.
En una máquina virtual, todo es virtual. Procesador, registros y, muy importante, LA MEMORIA. Si lo único que tienes es un juego de instrucciones y registros virtuales, lo que tienes es una guarrería que tiene todas las desventajas de las máquinas virtuales (lentitud por la traducción) sin su mayor ventaja: Independencia del hardware real.
Plantéatelo de esta manera, ¿crees que el código Java compilado en máquinas de 32bits no corre en máquinas virtuales compiladas para 64bits? Te voy avanzando que no es así.
Así que sí, llámalo como quieras, pero esa supuesta "máquina virtual" está mal hecha si importa el sistema de direccionamiento del host.
Como sugerencia de buena fe, me iría planteando rehacer toda la máquina virtual. Por lo que me estás contando, es un punto débil en BennuGD que además le va a empezar a pasar factura desde ya, empezando por que los procesadores de 64bits ya son ubicuos y ya todos los sistemas operativos modernos van en 64bits.
Re:aclaraciones
(Puntos:0)¿? ¿Entiendes el concepto de "máquina virtual"?
Sí, es un error del diseño. Habéis (por lo que he entendido) diseñado un procesador virtual con acceso a la memoria real. ¿Cómo puede no ser eso un error de diseño?
Si tu máquina virtual es de 32bits, ¿por qué tienes la necesidad de pasarle punteros de 64? Eso es lo que deberías entender tú.
En una máquina virtual, todo es virtual. Procesador, registros y, muy importante, LA MEMORIA. Si lo único que tienes es un juego de instrucciones y registros virtuales, lo que tienes es una guarrería que tiene todas las desventajas de las máquinas virtuales (lentitud por la traducción) sin su mayor ventaja: Independencia del hardware real.
Plantéatelo de esta manera, ¿crees que el código Java compilado en máquinas de 32bits no corre en máquinas virtuales compiladas para 64bits? Te voy avanzando que no es así.
Así que sí, llámalo como quieras, pero esa supuesta "máquina virtual" está mal hecha si importa el sistema de direccionamiento del host.
Como sugerencia de buena fe, me iría planteando rehacer toda la máquina virtual. Por lo que me estás contando, es un punto débil en BennuGD que además le va a empezar a pasar factura desde ya, empezando por que los procesadores de 64bits ya son ubicuos y ya todos los sistemas operativos modernos van en 64bits.
Re:aclaraciones
(Puntos:1)gracias por opinar,
saludos,