Можно изобрести одну машину, которую можно использовать для вычисления любой вычислимой последовательности.
-- Алан Тьюринг, 1936 год.
UTM — это полнофункциональный эмулятор системы и хост виртуальной машины для iOS и macOS. Он основан на QEMU. Короче говоря, он позволяет вам запускать Windows, Linux и другие системы на вашем Mac, iPhone и iPad. Дополнительную информацию можно найти на https://getutm.app/ и https://mac.getutm.app/.
Полная эмуляция системы (MMU, устройства и т. д.) с помощью QEMU.
Поддерживается более 30 процессоров, включая x86_64, ARM64 и RISC-V.
Графический режим VGA с использованием SPICE и QXL
Режим текстового терминала
USB-устройства
JIT-ускорение с использованием QEMU TCG
Интерфейс разработан с нуля для macOS 11 и iOS 11+ с использованием новейших и лучших API.
Создавайте, управляйте и запускайте виртуальные машины прямо со своего устройства.
Виртуализация с аппаратным ускорением с использованием Hypervisor.framework и QEMU
Загрузка гостей macOS с помощью Virtualization.framework на macOS 12+
UTM/QEMU требует динамической генерации кода (JIT) для максимальной производительности. JIT на устройствах iOS требует либо взломанного устройства, либо одного из различных обходных путей, найденных для конкретных версий iOS (более подробную информацию см. в разделе «Установка»).
UTM SE («медленная версия») использует поточный интерпретатор, который работает лучше, чем традиционный интерпретатор, но все же медленнее, чем JIT. Этот метод аналогичен тому, что iSH делает для динамического выполнения. В результате UTM SE не требует взлома или каких-либо обходных путей JIT и может быть загружен как обычное приложение.
Для оптимизации размера и времени сборки в UTM SE включены только следующие архитектуры: ARM, PPC, RISC-V и x86 (все с 32-битными и 64-битными вариантами).
UTM (SE) для iOS: https://getutm.app/install/
UTM также доступен для macOS: https://mac.getutm.app/
iSH: эмулирует интерфейс терминала Linux в пользовательском режиме для запуска приложений Linux x86 на iOS.
a-shell: пакеты общих команд и утилит Unix, созданные специально для iOS и доступные через интерфейс терминала.
UTM распространяется под разрешительной лицензией Apache 2.0. Однако он использует несколько компонентов (L)GPL. Большинство из них связаны динамически, но плагины gstreamer связаны статически, а части кода взяты из qemu. Имейте это в виду, если вы собираетесь распространять это приложение.
Несколько иконок, созданных Freepik с сайта www.flaticon.com.
Кроме того, интерфейс UTM зависит от следующих компонентов лицензии MIT/BSD:
IQKeyboardManager
SwiftTerm
ЗИП Фонд
InAppSettingsKit
Хостинг с непрерывной интеграцией предоставляется MacStadium.