Możliwe jest wymyślenie pojedynczej maszyny, której można użyć do obliczenia dowolnej sekwencji obliczeniowej.
-- Alan Turing, 1936
UTM to wielofunkcyjny emulator systemu oraz menedżer wirtualnych maszyn dla iOS i macOS. Bazuje na QEMU. W skrócie, pozwala na uruchomienie systemu Windows, Linux, i wiele więcej na twoim Macu, iPhonie czy iPadzie. Więcej informacji na https://getutm.app/ i https://mac.getutm.app/
- Pełna emulacja systemu (MMU, urządzenia, itd.) za pomocą QEMU,
- 30+ wspieranych procesorów m.in.: x86_64, ARM64, i RISC-V,
- Tryb graficzny VGA z użyciem sterowników SPICE i QXL,
- Tryb tekstowy (konsola),
- Urządzenia USB,
- Akceleracja JIT z pomocą QEMU TCG
- Frontend zaprojektowany od zera dla macOS 11 i iOS 11+ używając najlepszych i aktualnych API!
- Stwórz, zarządzaj i uruchamiaj wirtualne maszyny bezpośrednio z twojego urządzenia.
- Wirtualizacja z akceleracją sprzętową używając Hypervisor.framework i QEMU
- Uruchamiaj maszyny wirtualne macOS z wykorzystaniem Virtualization.framework na macOS 12+
UTM/QEMU wymaga generowania dynamicznego kodu (JIT) dla zmaksymalizowania wydajności. JIT na urządzeniach iOS wymaga albo przerobionego urządzenia, albo jeden z kilku luk znalezionych w danej wersji systemu iOS (zobacz "Instacja" po więcej szczegółów).
UTM SE ("slow edition") używa wielowątkowego interpretera który działa lepiej niż tradycyjny interpreter, ale wciąż jest wolniejszy niż JIT. Ta technika jest podobna do tego co robi iSH dla dynamicznego wykonywania. W wyniku czego, UTM SE nie wymaga przerobionego urządzenia ani żadnych obejść systemu dla działąjącego JITa i może być uruchamiany jako normalna aplikacja.
Aby zoptymalizować czas kompliacji i rozmiar aplikacji, tylko wymienione architektury są dostępne w UTM SE: ARM, PPC, RISC-V, i x86 (wszystkie zarówno w wariancie 32 i 64-bitowym).
UTM (SE) dla iOS: https://getutm.app/install/
UTM jest również dostępne na macOS: https://mac.getutm.app/
- iSH: emuluje interfejs terminala systemu Linux aby uruchomić aplikacje x86 Linux na iOS
- a-shell: zawiera podstawowe komendy Unixowe i narzędzia zbudowane natywnie dla iOS i dostępnych przez interfejs terminala
UTM jest dystrybuowane na licencji Apache 2.0. Jednak, używa wielu komponentów (L)GPL. Większość jest dynamicznie przypisana ale pluginy gstreamer są statycznie przypisane, a fragmenty kodu są wzięte z kodu źródłowego QEMU.
Niektóre ikony zostały zrobione przez Freepik z www.flaticon.com.
Dodatkowo, interfejs UTM (frontend) jest zależny od komponentów na licencji MIT/BSD:
Continuous integration hosting jest zapewniony przez MacStadium