¿Cuáles son las limitaciones de las máquinas virtuales?

3

Estoy considerando configurar una máquina virtual con Windows, con Ubuntu 10.10 como sistema operativo host, para aquellos casos en los que tengo un programa solo para Windows.

Entiendo que el uso de una máquina virtual perderá algo de rendimiento, pero ¿hay otras limitaciones en cuanto a lo que puede hacer el sistema operativo en una máquina virtual en comparación con "ejecutarse en el metal desnudo"?

Por ejemplo:

  • ¿Puede una VM jugar juegos, como Dragon Age Origins o Civilization V? (Posiblemente con una velocidad de fotogramas más pobre y / o una resolución más baja, pero ¿funciona en absoluto?)

  • ¿Puede una máquina virtual extraer DVD / Blue-ray usando AnyDVD o un programa similar de Windows?

  • ¿Puede una VM manejar un nuevo hardware que requiere controladores dedicados, pero los controladores solo están disponibles para el sistema operativo que se ejecuta dentro de la VM? (Ej. Tarjeta gráfica, cámara digital, lector de tarjetas para autenticación con tarjeta inteligente).

¿Es posible decir algo sobre las "limitaciones generales" de las máquinas virtuales, o esto depende totalmente de la máquina virtual específica?

jg-faustus
fuente
Parece que básicamente has alcanzado todas las limitaciones. Por lo general, gfx y disk IO son los puntos conflictivos. Cualquier cosa que necesite mucho de ambos será un problema. Para un ambiente hogareño de cuatro núcleos, de todos modos.
Sirex
Sí, estoy principalmente interesado en máquinas virtuales para uso doméstico. ¿Qué pasa con el ejemplo del lector de tarjetas? Entiendo que al menos algunas máquinas virtuales pueden acceder a los puertos USB, ¿eso significa que cualquier cosa con USB funcionará?
jg-faustus

Respuestas:

4

¿Puede una VM jugar juegos, como Dragon Age Origins o Civilization V? (Posiblemente con una velocidad de fotogramas más pobre y / o una resolución más baja, pero ¿funciona en absoluto?)

Sí, pero generalmente sin aceleración basada en hardware, ya que solo ve una tarjeta gráfica virtual. (Algunos juegos ni siquiera comenzarán, otros funcionarán lentamente).

¿Puede una máquina virtual extraer DVD / Blue-ray usando AnyDVD o un programa similar de Windows?

DVD, probablemente sí. BluRay: la lectura debería funcionar, pero no estoy seguro de qué tipo de DRM utiliza.

En cuanto a la grabación de CD, VirtualBox tiene una opción de "transferencia SCSI", que permite a la VM enviar "escribir datos" y comandos similares al dispositivo.

¿Puede una VM manejar un nuevo hardware que requiere controladores dedicados, pero los controladores solo están disponibles para el sistema operativo que se ejecuta dentro de la VM? (Ej. Tarjeta gráfica, cámara digital, lector de tarjetas para autenticación con tarjeta inteligente).

Las máquinas virtuales no tienen acceso al hardware; y si lo hubieran hecho, no podría usar los dispositivos del sistema operativo host, solo del invitado.

Excepción: VirtualBox, y posiblemente otro software de máquina virtual, permite que la VM acceda a los dispositivos USB que elija.

Gravedad
fuente
3
En este momento, VirtualBox, VMware y Parallels pueden hacer D3D / OpenGL a través de un controlador de invitado especial, pero todavía no está "todo el camino", especialmente para los juegos. La extracción debería funcionar a través de modos passthrough, y los casos en los que no deberían ser errores, pero los desarrolladores pueden no estar muy interesados ​​en corregir informes de errores que solo afectan a software como DVDFab o AnyDVD.
Afrazier
2
Otra excepción: KVM (de Fedora 13+) tiene soporte para paso a través de PCI . Cita de la documentación: "La transferencia PCI permite a los invitados tener acceso exclusivo a dispositivos PCI para una variedad de tareas. La transferencia PCI permite que los dispositivos PCI aparezcan y se comporten como si estuvieran conectados físicamente al sistema operativo invitado". Si mi memoria no me falla, tenga en cuenta que todavía no puede usar esto con tarjetas de video.
Cristian Ciupitu
1
Con respecto a la transferencia de PCI para tarjetas de video : "La asignación de tarjetas gráficas no es compatible en este momento, pero parece que una persona está trabajando actualmente en escribir parches para esto en su tiempo libre ( febrero de 2010 )".
Cristian Ciupitu
Gran información, gracias. También encontré una revisión reciente que compara VMWare y VirtualBox, que incluye "USB virtual" y evaluación comparativa de gráficos y rendimiento de disco.
jg-faustus
1

El principal problema con el que te encontrarás es con los controladores. Especialmente controladores de tarjetas gráficas. La mayoría de las soluciones de VM ofrecen un controlador gráfico muy degradado para que no pueda obtener tanto rendimiento como si tuviera la opción de arranque dual.


fuente
1

Otra limitación que diría es la RAM. Recuerde que está ejecutando dos sistemas operativos al mismo tiempo. Tengo una caja muy vieja con WinXP y 1GB de RAM. VirtualBox es inutilizable, no el Invitado de Linux, pero WinXP se vuelve inestable.

No es probable que le importe mucho, pero obtener verdaderos ticks de reloj de hardware es difícil y requiere algunos trucos. Es poco probable que ejecute un programa que realmente le importe.

Rich Homolka
fuente
1
No creo que necesite verdaderos ticks de reloj de hardware: ¿para qué se utiliza?
jg-faustus
0

Una limitación que he visto es la generación de números aleatorios basada en hardware. En Linux, esto se hace usando un grupo de aleatoriedad llamado grupo de entropía, que estadísticamente mantiene la aleatoriedad en la memoria. Dado que depende del hardware como el teclado, el mouse y la actividad de la red para hacer esto, este proceso puede ser muy lento en las máquinas virtuales, ya que no están conectadas con hardware real.

Anand Mallaya
fuente