Por aquel entonces, un smartphone de Apple tenía muy pocas funcionalidades. Incluso descargar un archivo a través de Safari era imposible. El jailbreak, muy popular en aquella época, permitía resolver estos problemas «infantiles». Debido a esto, muchas personas soñaban con instalar el conocido sistema operativo Windows en lugar del inferior iOS. El año pasado Apple autorizada a instalar emuladores, lo que dio lugar a la creación de la aplicación UTM SE bajo la apariencia de la plataforma de juegos «Hoy vamos a ver sus capacidades para ejecutar Windows y hablar de la emulación en sí.
La emulación es el proceso de ejecutar una plataforma de hardware o un sistema operativo dentro de otro. Esto permite ejecutar aplicaciones creadas dentro de un entorno de hardware y software sin necesidad de hardware físico o un segundo sistema. Por ejemplo, ejecutar varias versiones de Windows y Linux al mismo tiempo.
Debido al gran número de arquitecturas liberadas (ARM64, x86_64), procesadores (MIPS para PSP) y sistemas operativos (Windows, Android, iOS, Debian, Ubuntu), es necesario poder instalarlos y ejecutarlos. Hay hasta tres opciones de emulación: Emulación completa, virtualización y Interpretación de la API (emulación de la API).
Durante el Emulación completa la arquitectura de hardware y el sistema operativo se recrean a nivel de software. Lo has adivinado bien — se emulan el procesador, la tarjeta de vídeo, la memoria, el audio, los dispositivos de entrada/salida, etc. Para describir este proceso muy brevemente: en primer lugar, se emulan el hardware y el software y, a continuación, se lanza el código de software de las aplicaciones sobre su base.
Aplicaciones que lo utilizan: DOXBox, QEMU en modo de emulación completa, PPSSPP, PCSX2 (emulación de Sony PlayStation 2).
Este planteamiento tiene ventajas e inconvenientes evidentes:
Para superar el problema del bajo rendimiento, los desarrolladores utilizan diversos «trucos». La misma PPSSPP utiliza la compilación JIT (Just-In-Time) — los bloques de código máquina destinados a la CPU de la PSP se convierten en código que entiende y procesa la CPU del usuario. La recompilación dinámica (Dynarec/DBT) amplía las capacidades JIT almacenando en caché los bloques de código que se vuelven a ejecutar. Se utiliza en emuladores como Dolphin, PCSX2 y RPCS3. El primero se utiliza para ejecutar juegos de GameCube y Wii, y los dos últimos — Sony Playstation 2 y Playstation 3, respectivamente.
Lo más probable es que hoy en día apenas veas emulación completa, ya que es mejor utilizar otros métodos de emulación. Están más optimizados y te permiten no perder mucho tiempo en algunas acciones básicas.
Pasemos a Virtualización. Esta tecnología se utiliza en aplicaciones tan conocidas como VirtualBox, VMware Workstation o Parallels. Esta tecnología permite crear copias virtuales de sistemas operativos, servidores, discos o redes en un único dispositivo real. En pocas palabras: puedes tener muchas configuraciones diferentes de distintos sistemas en un mismo PC.
Si quieres convertirte en desarrollador de software, necesitarás tener varias o incluso una docena de máquinas virtuales.
Esquemáticamente, el funcionamiento de la virtualización es bastante sencillo: el usuario ejecuta un software especializado llamado Hipervisor (Hipervisor), para crear, configurar y ejecutar Máquinas virtuales (VM, Virtual Machine). Tal «PC invitado», como en el caso de la Emulación Completa, tiene su propio procesador, subsistema gráfico y memoria preasignados.
Consideremos las ventajas y desventajas de la virtualización. Básicamente, obtenemos más ventajas para el uso ordinario y profesional. A saber:
En general, estos dos tipos de emulación se han fusionado tanto a lo largo de los años que resulta difícil determinar los límites de dónde empieza la emulación completa y dónde la virtualización.
Interpretación API complementa los dos tipos de emulación anteriores. Permite interceptar llamadas de la API (Interfaz de programación de aplicaciones) de un sistema, procesarlas de tal forma que la API de la segunda plataforma pueda trabajar con ella. Ejemplos de API utilizadas para el desarrollo de juegos: OpenGL, DirectX, Vulcan. Y para jugadores en Linux o macOS: Wine y CrossOver.
He aquí las claras ventajas e inconvenientes de esta solución:
Este método es especialmente necesario para SteamOS, que permite ejecutar juegos de Windows en Linux. Por razones obvias, una transición de este tipo no puede ser rápida en el tiempo: conversión, pruebas, depuración y más pruebas. Resulta ser una especie de círculo vicioso. No obstante, los frutos de nuestros esfuerzos fueron coronados con gran éxito. Los dispositivos — que ejecutan SteamOS tienen mejor rendimiento en juegos que los que ejecutan «Windows nativo». No nos olvidemos de la mayor duración de la batería.
Como se mencionó al principio del artículo, vamos a intentar instalar Windows 7 y Windows XP. Smartphone de prueba: iPhone 15 con procesador ARM A16 Bionic y 6 GB de RAM. Pero no podrás instalar Windows directamente por razones obvias: la propia Apple no lo permite, no hay drivers originales, y ambas versiones de Windows no soportan procesadores ARM. Por tanto, tendrás que emular no sólo el funcionamiento de ambos SO, sino también la plataforma hardware (Intel x86_64).
Para llevar a cabo esta difícil tarea, vamos a utilizar la aplicación UTM SE (enlace a la AppStore). З descripción y apertura de la página con la selección del sistema operativo veremos que se puede emular no sólo Windows (XP, 7, 10, 11), sino también ArchLinux, Debian, Fedora, Kali Linux y Ubuntu. La mayoría de ellos tienen soporte para sistemas ARM64.
Sin embargo, nadie prohíbe instalar la plataforma x86_64 en AARM (Apple ARM). Para empezar, probemos a instalar Windows XP como uno de los sistemas operativos más conocidos. Requiere poca memoria (para RAM o ROM) y debería funcionar bien debido a su antigüedad. Encuentra Windows XP (preferiblemente de 32 bits) en Internet (con una clave) en formato ISO. A continuación, descarga archivo especial con la configuración del sistema virtual de los propios desarrolladores. Al elegir un disco, tienes que encontrar un SO precargado con el nombre condicional «WindowsXp.iso». Si lo descargas directamente a tu smartphone, encontrarás el archivo en la carpeta Descargados, cuyo contenido puedes ver en la app Archivos.
Si todo es correcto, comenzará la instalación de Windows XP. Al principio, todo parece ir bien. Sin embargo, con el tiempo, empiezas a darte cuenta de una cosa muy desagradable — tarda demasiado. En un smartphone, la instalación del sistema operativo tardó ¡unas 2 horas! Por supuesto, en otros tiempos, instalar Windows podría haber llevado más tiempo. Pero es mejor no utilizar el smartphone durante este tiempo (tardará aún más). Tampoco puedes bloquear tu smartphone, porque iOS casi no asigna recursos a la ejecución en segundo plano mientras está bloqueado. Desactiva también Bloqueo de pantalla o Ahorro de energía.
Cuánto tiempo sin verte, viejo amigo BSOD
Tras la instalación, ¡tenemos un Windows XP en toda regla en nuestro smartphone! El sistema limpio ocupa unos 2 GB de memoria, que no es mucho. En general, usar la pantalla táctil es tan familiar como usar un touchpad. Lo único que no es cómodo es el teclado. Para conectarse a Internet, hay que instalar todos los controladores necesarios para los adaptadores virtuales. Así que tenemos que apagar nuestro nuevo y viejo sistema operativo. Internet funciona a través de Bridge, no hay NAT.
Hay dos maneras de conseguir todos los controladores necesarios: descargarlos desde el sitio web o desde dentro de la aplicación UTM SE. Para la segunda opción, hay que mantener pulsada la máquina virtual hasta que aparezca un menú de selección adicional. En este menú, seleccione Instalar Windows Guest Tools y, a continuación, espere a que la descarga se complete y se monte en la unidad de CD. Si ya hay algo en ella, verás un error. Así que tienes que encontrar el disco, haga clic en Expulsar y, a continuación, haga clic en Instalar Windows Guest Tools de nuevo.
A continuación, encendemos Windows, buscamos la unidad montada y hacemos clic en el instalador único de la unidad principal. Deja tu smartphone una hora más. Ya está, ¡enhorabuena! Todo lo que necesitas está instalado. Ahora puedes acceder a Internet mediante WiFi. Por alguna razón, no funciona a través de LTE.
Vamos a comprobar la conexión del ratón y el teclado al Windows XP emulado. Para ello, conectamos un Hub USB al iPhone 15 e insertamos nuestros dispositivos de entrada. Y sí, funcionan. Sólo que las teclas del teclado no coinciden. Por ejemplo, la 4ª tecla es Intro.
Sin embargo, Windows XP tiene un gran problema — la pérdida total del soporte no sólo de Microsoft, sino también de las grandes corporaciones. El navegador Internet Explorer es tan antiguo que no soporta el estándar HTTPS. Y es muy difícil descargar y distribuir Firefox 52.9 con su soporte. Tampoco se sabe cuánto tiempo se tardará en instalarlo.
Por desgracia, Windows XP es más bien una reminiscencia de los días de juventud. No tiene mucho sentido emularlo. Está bien que puedas hacerlo. Sin embargo, es mucho mejor encontrar piezas de repuesto y montar un auténtico PC nostálgico.
Pasemos a Windows 7. Crear una máquina virtual no es diferente, salvo por el aumento de los requisitos de memoria dedicada: 8 GB de ROM (Windows XP) frente a 20 GB (Windows 7), RAM de 512 MB a 2 GB. A continuación, monte el disco de Windows y espere a que se instale. Esta vez, el tiempo fue aún más largo — más de tres horas y media¡ Pero también hay que instalar los controladores desde Windows Guest Tools. Esto llevó otras dos horas. El ratón, el teclado e Internet WiFi funcionan.
Windows 7 es más lento que Windows XP. Por razones que desconozco, el procesador está casi siempre al 100% de utilización. Aumentar la RAM o el número de procesadores (de 1 a 4) tampoco añade un rendimiento significativo. Hay muchos factores: la imagen, que la máquina no esté bien configurada, las actualizaciones de Windows, etc.
Curiosamente, el hardware «virtual» no soporta Aceleración por Hardware en Windows 7. Mientras que Windows XP sí lo hace. En teoría, puedes instalar juegos de esos años e intentar ejecutarlos. Sin embargo, algo me dice que cualquier PC por menos dinero (SteamDeck no se menciona) hará un mejor trabajo.
Y qué decir del iPhone 15. Durante todas las emulaciones, una cosa quedó clara — el smartphone se calentaba mucho. Se calentaba tanto que podía dejar de cargarse desde una toma de corriente de 5W. Estaba claro que la protección de temperatura funcionaba. Por lo tanto, si quieres probarlo, no cargues el smartphone durante la emulación. Cárgalo al 80% o al 100% y desconecta el cargador.
Por un lado, la emulación es algo necesario para los estudios universitarios, el desarrollo de aplicaciones o la computación en nube. En el segmento de usuarios, la tecnología también es necesaria (para jugar). Sin embargo, los smartphones (especialmente los de Apple) son diferentes de los viejos PC. Por lo tanto, no se adaptan muy bien entre sí. Es más fácil tener un dispositivo barato por separado que hacer que uno «combine» Todo-en-Uno.