¿Qué es una máquina virtual? Tipos y ventajas

¿Qué es una máquina virtual? Tipos y ventajas

El concepto de máquina virtual se introdujo alrededor de 1960. Es la evolución de la técnica de tiempo compartido. En el método de tiempo compartido, cada programa tiene acceso completo a todos los recursos de la computadora, pero a la vez, solo se ejecutará un programa. El sistema cambia entre programas en intervalos de tiempo mientras guarda y restaura los estados del programa cada vez. Con el uso del método de tiempo compartido, varios usuarios pueden utilizar el sistema informático al mismo tiempo. Los centros de investigación de IBM desarrollaron el método de tiempo compartido como máquinas virtuales. CP-67 fue el primero disponible arquitectura de la máquina virtual . Se desarrollaron sistemas con múltiples máquinas virtuales en un solo host y una sola máquina virtual en múltiples hosts.



Antes de lanzar cualquier hardware nuevo tecnología , primero se prueba en el emulador para detectar, recrear y reparar las fallas en el diseño y seguir los pasos necesarios. Del mismo modo, antes de introducir cualquier software nuevo, se simula para comprobar si hay errores y depurarlos. Para realizar esta tarea, un sistema que puede actuar como sustituto del entorno principal para construir nueva tecnología. Aquí es donde entran en escena las máquinas virtuales. Actúa como la emulación del sistema informático proporcionando la funcionalidad completa del sistema físico.


¿Qué es una máquina virtual?

Con la introducción de nuevas tecnologías y nuevos modelos de investigación, se están lanzando muchos productos de hardware y software. Muchos de los software dependen de la plataforma, por lo que a veces es difícil depurarlos o verificarlos debido a los recursos de hardware limitados.





Una VM (máquina virtual) es una emulación de un sistema informático, donde estas máquinas utilizan arquitecturas informáticas para proporcionar la funcionalidad de una computadora física. El dispositivo físico en el que funcionan las máquinas virtuales se conoce como Host, mientras que las máquinas virtuales se conocen como Guest. Un solo anfitrión puede tener varios números de invitados.

Tipos de máquina virtual

La máquina virtual funciona como una computadora y está aislada del resto del sistema host. El software del invitado no puede realizar cambios en el software del sistema host. Por lo tanto, los archivos de virus se pueden probar utilizando una máquina virtual sin afectar el sistema informático principal. El software informático que crea y ejecuta la máquina virtual se conoce como hipervisor. Según sus funciones, existen dos tipos diferentes de máquinas virtuales: máquinas virtuales del sistema y máquinas virtuales de proceso.



1). Máquinas virtuales del sistema


Estos tipos de máquinas virtuales proporcionan una virtualización completa. Actuando como sustituto de la máquina real, estos proporcionarán funcionalidades para ejecutar un Sistema operativo . Los recursos de hardware se comparten y administran, formando múltiples entornos en el sistema host. Estos entornos están aislados entre sí pero existen en el mismo host físico. Por lo tanto, estos proporcionan tiempo compartido entre varios sistemas operativos de una sola tarea.

Para permitir el uso compartido de memoria entre diferentes máquinas virtuales en una computadora Sistema operativo , se pueden aplicar sistemas de sobrecompromiso de memoria. Las páginas de memoria que tienen el mismo contenido se pueden compartir entre varias máquinas virtuales presentes en el mismo host físico. Esto es muy útil para páginas de solo lectura.

2). Procesar máquinas virtuales (VM)

Estas máquinas virtuales también se conocen como máquinas virtuales de aplicaciones, entornos de tiempo de ejecución administrados. Este tipo de VM se ejecuta como una aplicación normal dentro del sistema operativo del host y admite un solo proceso. Se crea con el inicio del proceso y se destruye cuando finaliza el proceso. Se utiliza para proporcionar una plataforma independiente programación entorno al proceso, lo que le permite ejecutarse de la misma manera en cualquiera de las otras plataformas.

Proceso-Máquina-Virtual

Proceso-Máquina-Virtual

Estos se implementan mediante intérpretes y proporcionan abstracciones de alto nivel. Estos se utilizan popularmente para la programación Java que utiliza una máquina virtual Java para la ejecución de programas. Hay un caso especial de una máquina virtual de proceso que se abstrae del mecanismo de comunicación de un grupo de computadoras. Estos contienen un proceso por máquina física en el clúster. Estos ayudan al programador a centrarse en el algoritmo en lugar del proceso de comunicación proporcionado por la interconexión y máquina virtual en SO . La aplicación que se ejecuta en estas VM tiene acceso a todos los servicios del sistema operativo. Máquina virtual paralela, interfaz de paso de mensajes son ejemplos de estas máquinas virtuales (VM).

Arquitectura

El software Runtime es el software de virtualización que implementa Process VM. Se implementa en el nivel de API de la arquitectura de la computadora por encima de la capa combinada de SO y Hardware. Esto emula las instrucciones a nivel de usuario, así como las llamadas a la biblioteca o al sistema operativo. Para la máquina virtual del sistema, el software de virtualización se llama Virtual Machine Monitor (VMM). Este software está presente entre la máquina de hardware host y el software invitado. VMM emula la ISA de hardware, lo que permite que el software invitado ejecute una ISA diferente.

Ventajas

Algunas de las ventajas de las máquinas virtuales son las siguientes:

  • Las máquinas virtuales proporcionan compatibilidad de software con el software que se ejecuta en ellas. Por lo tanto, todo el software escrito para el host virtualizado también se ejecutará en la máquina virtual.
  • Proporciona aislamiento entre diferentes tipos de sistemas operativos y procesos. Por lo tanto, el sistema operativo del procesador que se ejecuta en una máquina virtual no puede modificar los procesos de las otras máquinas virtuales y el sistema Host.
  • Estos proporcionan encapsulación y el software presente en una máquina virtual se puede modificar y controlar.
  • Para el host de múltiples sistemas operativos, estos brindan varias características como sin arranque dual, transferencia de archivos entre máquinas virtuales, el error en un sistema operativo no afecta al otro sistema operativo presente en el host, el sistema operativo Freash se puede agregar fácilmente.
  • Estos proporcionan una buena gestión de software, ya que pueden ejecutar una pila de software completa de la máquina host, ejecutar un sistema operativo heredado, etc.
  • Aquí es posible compartir recursos de hardware con pilas de software independientes y para equilibrar la carga, las máquinas virtuales se pueden transferir a las diferentes computadoras.

Por lo tanto, los sistemas informáticos modernos se están volviendo más complejos y contienen varios componentes de software y hardware que interactúan estrechamente. Aquí, la virtualización actúa como una tecnología de interconexión. Las máquinas virtuales crean subsistemas incompatibles para trabajar juntos. También proporciona un uso más flexible y eficaz de los recursos de hardware entre varios sistemas operativos. Estos proporcionan interoperabilidad entre hardware, software del sistema y aplicaciones. ¿Cuáles son las diferencias entre el proceso? Máquina virtual y sistema de máquina virtual?