0 votos

Aplicación de Android fundamentos Máquina Virtual de Proceso

Apenas he comenzado en el desarrollo de aplicaciones y quiero aprender correctamente todo sobre cómo funciona Android.

Me encontré con cuatro puntos clave (https://developer.android.com/guide/components/fundamentals) que explican que Android establece cada aplicación como un usuario de Linux diferente y que cada proceso tiene su propia máquina virtual (VM). Aquí es donde me confundo, uno de los puntos clave (el tercero) no especifica qué procesos están incluidos en una máquina virtual.

• Cada proceso tiene su propia máquina virtual (VM), por lo que el código de una aplicación se ejecuta de forma aislada de otras aplicaciones.

Esta es la primera vez en la página que menciona un proceso, por eso estoy confundido.

Mi pregunta es ¿Qué procesos se ejecutan en una máquina virtual? - ¿Es solo el proceso principal de Linux? - ¿Son TODOS los procesos dentro del proceso de Linux?

Si es así, ¿cómo pueden comunicarse los procesos entre sí si cada uno se está ejecutando de forma aislada (en una VM)?

Gracias por su tiempo.

1voto

Andy Brudtkuhl Puntos 1714

Ninguna de las aplicaciones se está ejecutando en una máquina virtual. En realidad, la página está tratando de explicar que hay una instancia separada de la JVM para cada proceso de aplicación. Es una descripción bastante confusa.

Para tu información, no existe tal cosa como un "proceso principal de Linux". Linux es el núcleo, que no es un proceso; más bien, está por encima de todos los procesos, encargado de crear, programar y destruirlos, y de mediar en su acceso al hardware.

0 votos

No creo que haya alguna diferencia entre estas dos afirmaciones: "Cada aplicación se ejecuta en una máquina virtual" y "Hay una instancia separada del JVM para cada aplicación". Cada instancia es bifurcada por zygote pero después de todo es un proceso nativo independiente, aunque comparte archivos abiertos con otras aplicaciones DVM/ART y system_server.

1 votos

Hay una diferencia entre una máquina virtual y la JVM. Creo que la fuente de la confusión del OP fue que se imaginaban que cada proceso estaba dentro de su propia instancia de Virtualbox (o equivalente), así que intenté dejar claro que eso no es lo que la página quiere decir con "VM".

0 votos

Sí, tiene sentido.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X