Tienes un cupón activo hasta el . Ver tu oferta

¿Qué es la virtualización y para qué se utiliza?

Aprende cómo crear un entorno aislado dentro de una sola computadora.

A veces, los usuarios de Linux o Mac necesitan ejecutar programas que solo funcionan en Windows, y los usuarios de Windows, especialmente los programadores, necesitan ejecutar Linux u otro sistema operativo. Un caso muy común en programación es trabajar en Windows o macOS con un entorno Linux parecido al servidor donde se publicará la aplicación, o probar un programa en otro sistema operativo sin comprar otra computadora. Para eso se usan herramientas como WSL 2 en Windows, Multipass o UTM en Mac y VirtualBox en varios sistemas.

Una advertencia para las Mac con procesador Apple Silicon (M1 y posteriores). Estas computadoras usan arquitectura ARM, por lo que una máquina virtual con un Windows o un Linux para procesadores x86 normalmente no funciona sin emulación, que es mucho más lenta. En general se usan versiones ARM de los sistemas operativos. Además, los juegos suelen rendir mal dentro de una máquina virtual por el acceso limitado a la tarjeta gráfica.

La forma más obvia de hacer esto es comprar otra computadora, pero eso es costoso. Otra opción es instalar Windows junto con su sistema operativo principal. Esta instalación generalmente puede causar problemas, pero si lo logras, podrás elegir qué sistema operativo cargar al iniciar la computadora. Pero hay una tercera opción: la virtualización.

Virtualización

La virtualización es la creación de entornos aislados dentro de un solo dispositivo físico (en este caso, una computadora). Cada entorno se ve como una computadora independiente con sus propias características, como memoria disponible, procesador, etc. Este entorno se llama una máquina virtual.

¡La virtualización te permite ejecutar un sistema operativo como un programa normal en tu computadora!

El sistema operativo en el que se ejecuta otro sistema operativo se llama sistema anfitrión (host), y el sistema operativo que se ejecuta en el entorno virtual se llama invitado (guest).

Un programa especial llamado hipervisor se encarga de crear y administrar las máquinas virtuales. El hipervisor proporciona aislamiento entre los sistemas operativos, protección y seguridad, y divide los recursos entre los sistemas operativos en ejecución. Existen dos tipos de hipervisor.

  • Tipo 1 (bare-metal). Funciona directamente sobre el hardware, sin un sistema operativo anfitrión. Ejemplos son KVM (en Linux), Hyper-V y VMware ESXi. Es el tipo habitual en servidores y centros de datos.
  • Tipo 2 (alojado). Funciona como un programa dentro del sistema operativo principal de la máquina anfitriona. Ejemplos son VirtualBox y VMware Workstation en Windows y Linux, y Parallels Desktop, VMware Fusion o UTM en Mac. Es el tipo más común en las computadoras domésticas.

En textos más antiguos, al primer caso se le llama virtualización de hardware y al segundo virtualización de software, y así los llamamos en las secciones siguientes. Algunas herramientas no encajan limpiamente en un solo tipo. Por ejemplo, Hyper-V se ejecuta directamente sobre el hardware, aunque Windows corre encima de él como un sistema más. Varios de estos programas, como VMware Workstation Pro, ofrecen una licencia gratuita para uso personal, pero las condiciones cambian, así que conviene revisarlas en el sitio del fabricante.

A diferencia de la instalación de dos sistemas operativos uno al lado del otro en una máquina, la virtualización es un método mucho más seguro. Puedes deshacer todo en cualquier momento y reinstalarlo. Puedes crear tantas máquinas virtuales como necesites.

Virtualización de hardware

En este caso, el hipervisor se apoya en las funciones de virtualización del procesador. A diferencia de la virtualización de software, los sistemas operativos invitados son controlados directamente por el hipervisor sin la participación de un sistema operativo anfitrión. Hoy los hipervisores de tipo 2 también suelen usar estas funciones del procesador, por lo que la diferencia de rendimiento es menor que antes.

La virtualización de hardware es mucho más eficiente que la virtualización de software, ya que el hipervisor, a diferencia del sistema operativo anfitrión, crea una sobrecarga muy pequeña. Por otro lado, la virtualización de software se divide en varios subtipos, que se pueden leer más detalladamente en Wikipedia.

Virtualización de contenedores

La virtualización de contenedores es un caso aparte. A diferencia de los tipos anteriores, no está relacionada con la ejecución de un sistema operativo en un entorno aislado. En la virtualización de contenedores, el aislamiento ocurre a nivel de proceso del sistema operativo.

Los contenedores se basan en funciones del kernel. En Linux son dos características, cgroups y namespaces. Estas características permiten ejecutar solo un proceso como si se estuviera ejecutando en su propio mundo, con su propia red, disco, sistema de archivos, etc. Este tipo de virtualización se utiliza para servicios que forman parte de un producto de software. Las herramientas más conocidas son Docker, Podman, containerd y LXC.

En Windows y macOS, los contenedores Linux se ejecutan dentro de una máquina virtual ligera, por ejemplo con Docker Desktop o con WSL 2. Windows también tiene contenedores nativos propios. En 2025 Apple presentó su propia herramienta de línea de comandos, container, incluida en macOS 26, que ejecuta cada contenedor Linux en una máquina virtual ligera independiente.

Alojamiento

Cada máquina virtual recibirá los recursos que especifiques. Esto es especialmente útil para los proveedores de alojamiento (empresas que ofrecen servicios de alojamiento web). Básicamente, se crea una máquina virtual separada para cada usuario con cuotas que corresponden al plan seleccionado (limitaciones de memoria, procesador, etc.).

Además, la virtualización aísla las máquinas unas de otras, por lo que no tendrás que preocuparte si los usuarios intentan dañar el sistema o a otros usuarios. Este servicio generalmente se llama VPS (virtual private server) y es bastante económico en su configuración básica.

Hoy la forma más habitual de usar la virtualización es la nube. Proveedores como AWS, Google Cloud, Microsoft Azure o DigitalOcean ofrecen máquinas virtuales y contenedores que se crean en minutos y se pagan según el uso.

Las máquinas virtuales permiten utilizar de manera más eficiente los recursos de una máquina física. Por lo general, no todos los usuarios necesitan la potencia del hardware que tiene el proveedor de alojamiento, y no están dispuestos a pagar por ella. Sin embargo, una máquina virtual solo utiliza una fracción de la potencia del hardware, lo que permite alojar a decenas de clientes (o incluso más) en una sola máquina. Esto beneficia tanto al usuario como al proveedor de alojamiento.

Preguntas frecuentes

¿Qué hacer si el procesador no admite virtualización?

Esto es muy poco probable en las computadoras actuales. Antes de concluir que tu procesador no la admite, revisa si la virtualización está activada en la configuración de la BIOS o UEFI, porque en algunos equipos viene desactivada. Si realmente no hay soporte, algunas herramientas pueden seguir funcionando con un rendimiento muy bajo, y otras no podrán iniciar la máquina virtual. En ese caso, es mejor actualizar el hardware a uno más moderno.

Otros tutoriales relacionados

  1. ¿Qué es Vagrant? — Vagrant te permite crear y configurar entornos de desarrollo livianos, reproducibles y portátiles en máquinas virtuales. En muchos proyectos hoy se prefieren los contenedores, y desde 2023 Vagrant se distribuye con la licencia BUSL de HashiCorp.
  2. Cómo trabajar con Linux utilizando Windows — Instrucciones para instalar Ubuntu Linux dentro de Windows utilizando diferentes tecnologías de virtualización.

Para seguir aprendiendo

Leer otros artículos de Guías

Lea otros artículos relevantes del mundo de la tecnología y el espíritu empresarial.

DevOps y despliegue

¿Qué es el seguimiento de errores?

No hay programas sin errores. Lo mejor que podemos hacer es aprender a rastrear y corregir estos errores.

Actualizado el

DevOps y despliegue

¿Qué es el registro de eventos?

Cuando ocurre un fallo en una aplicación, un desarrollador experimentado pregunta primero: "¿Qué hay en los registros?". Aprendamos qué es el registro de eventos y cómo analizar los registros.

Actualizado el

DevOps y despliegue

¿Qué es la gestión de la configuración?

Hablamos sobre la configuración de servidores de forma automática, la importancia de la idempotencia y por qué los scripts de bash son malos.

Actualizado el

Todas las guías