Можливо створити єдину машину, яку можна використовувати для обчислення будь-якої обчислювальної послідовності.
-- Алан Тюрінг, 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:
Хостинг для безперервної інтеграції забезпечується компанією MacStadium