2009-09-01 11 views
10

Me pregunto cómo funciona el software de virtualización como VirtualBox o VMWare Workstation? ¿Cómo pueden crear un entorno virtual que los sistemas operativos tomen como una computadora separada? Estoy casi seguro de que la respuesta a esta pregunta es muy profunda, pero estaría muy satisfecho con la teoría básica.¿Cómo funciona el software de virtualización?

+0

Esta pregunta pertenece a serverfault – Rodrigo

+2

Rodrigo: No lo creo, pero tampoco estoy seguro de que este sea el caso. –

Respuesta

0

En el sentido más básico, el software de virtualización pone un ordenador dentro de otro ordenador. .. mas o menos. (Aquí hay un enlace que es muy, muy básico: http://blog.capterra.com/virtualization-software)

En un sentido más complejo, el software de virtualización (también llamado hipervisor) abstrae las características de un servidor. Esto permite que varios SO se ejecuten en un solo servidor físico.

0

En el sentido más simple, un entorno virtualizado es un entorno nativo, lo que un lenguaje interpretado, como PHP, Javascript o Basic, es para un lenguaje compilado como C, C++ o ensamblador.

Cuando se ejecuta un binario compilado, el código de la máquina binaria se pasa directamente a la CPU. Sin embargo, cuando se ejecuta un lenguaje interpretado, la aplicación de idioma se lee en el código, luego decide qué significa eso y ejecuta procedimientos binarios para reflejar eso.

Así que el software de virtualización como Qemu, mientras está compilado para ejecutarse, digamos un procesador x86, leerá el archivo binario, destinado a decir una Mac, e interpretará el binario que recibe, lo cambiará de grande a pequeño endian , y luego saber que el código de operación X en mac corresponde al código de operación Y en x86, y que el código de operación A en mac, no tiene un equivalente en x86, por lo que necesitará llamar a la función B en x86 y así sucesivamente.

El truco realmente inteligente es la interpretación de hardware, donde alguien tiene que escribir un controlador, que se ejecutará en Qemu, en x86, pero presentará una interfaz a la cara Mac de Qemu, para hacer que las aplicaciones Mac piensen que Hablamos con el hardware de Mac.

Cuestiones relacionadas