Discusión:Máquina virtual Java

De Wikipedia, la enciclopedia libre
Ir a la navegación Ir a la búsqueda

Lo de un fichero .exe entre windows y linux es inexacto. El problema real de portabilidad es entre plataformas hardware distintas (i386 y Macintosh por ejemplo). Un fichero .exe para windows tiene una cabecera, que són datos que interpreta windows, seguido de código binario para la arquitectura en curso (por ejemplo i386). Este código es más dependiente de la arquitectura que del sistema operativo. Puede estar diseñado para un S.O. concreto, pero es código i386, no código windows. Por eso ha sido posible crear Wine (Wine Is Not Emulator) que es un programa para Linux que hace posible ejecutar programas .exe Windows SIN emular la arquitectura. Es decir, el código binario original del programa se ejecuta en la máquina física Linux. Por ello, Wine solo funciona en linux en su versión para arquitecturas i386.

A parte de eso, el primer párrafo es más o menos una definición de compilador, y no de máquina virtual, por lo que voy a cambiarlo ahora.


Todo lo narraco en maquina virtual java parece un subconjunto de Maquina virtual de Java.



El codigo de un exe no es solo dependiente de la arquitectura, que lo es, sino tambien, y mucho, del sistema operativo en concreto debido al uso del propio API del sistema operativo. Lo que hace wine es ofrecer un API como el de windows para que el programa pueda ser ejecutado como si estuviera en un sistema operativo windows. Asi que, yo no veo que sea mas correcto decir que eun exe es mas dependiente de la arquitectura que del propio sistema operativo.

Por otra parte :

La JVM es una de las piezas fundamentales de la plataforma Java. Básicamente se sitúa en un nivel superior al Hardware del sistema sobre el que se pretende ejecutar la aplicación, y este actúa como un puente que entiende tanto el bytecode, como el sistema sobre el que se pretende ejecutar.

Entre la JVM y el hardware siempre existira el sistema operativo, por lo que seria mas correcto decir que la JVM se situa en un nivel superior al SO del sistema, no al hardware.

Enlaces rotos[editar]

Elvisor (discusión) 01:04 1 dic 2015 (UTC)