Categorías
Java

¿Cómo se imprime “Hello World”? – Un ciclo de vida completo

Publiqué esta pregunta en Stack Overflow hoy porque el ciclo de vida completo de un programa simple es interesante.

Seguiré actualizando la publicación usando respuestas / comentarios para hacerla más completa y corregir mi error. Seguramente votaré a favor de cualquier respuesta / comentario que tenga sentido. Por favor vote o publique una respuesta / comentario para ayudar. ¡Muchas gracias!

Enlace de pregunta: http://stackoverflow.com/q/16311867/127859

El siguiente es EL programa HelloWorld que todo el mundo conoce.

Está compilado en un código de bytes como el siguiente.

2

El código de bytes no se puede leer, pero podemos usar javap -classpath. -c HelloWorld para ver mnemónicos como los siguientes.

3

Luego se carga, vincula e inicializa en JVM.

4.

Dado que solo tiene un subproceso, supongamos que es el subproceso izquierdo en el siguiente área de datos en tiempo de ejecución de JVM.

5

JVM hace las instrucciones x86.

Los subprocesos de JVM son subprocesos a nivel de usuario, por lo que se correlacionarán con el kernel. En Ubuntu, es un mapeo uno a uno como el siguiente:

6

¿Cuál es la función del sistema operativo para este programa en particular?

JVM está encima de gllibc, syscalls. io driver in os será responsable de imprimir palabras en la consola. Las llamadas al sistema relacionadas con io deben implementarse en el subsistema io en os.

¿Qué sigue en Arquitectura?

Obtener instrucciones, decodificar, ejecutar, acceder a la memoria, volver a escribir en MIPS de 5 pasos.

7

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *