任意の計算可能なシーケンスを計算するために使用できる単一のマシンを発明することは可能です。
-- アラン・チューリング、1936 年
UTM は、iOS および macOS 用のフル機能のシステム エミュレータおよび仮想マシン ホストです。 QEMU に基づいています。つまり、Mac、iPhone、iPad 上で Windows、Linux などを実行できるようになります。詳細については、https://getutm.app/ および https://mac.getutm.app/ をご覧ください。
QEMU を使用した完全なシステム エミュレーション (MMU、デバイスなど)
x86_64、ARM64、RISC-V を含む 30 以上のプロセッサをサポート
SPICE および QXL を使用した VGA グラフィックス モード
テキストターミナルモード
USB デバイス
QEMU TCG を使用した JIT ベースのアクセラレーション
最新かつ最高の API を使用して、macOS 11 および iOS 11 以降向けにゼロから設計されたフロントエンド
デバイスから直接 VM を作成、管理、実行
Hypervisor.framework と QEMU を使用したハードウェア アクセラレーションによる仮想化
macOS 12 以降で Virtualization.framework を使用して macOS ゲストを起動する
UTM/QEMU では、パフォーマンスを最大化するには動的コード生成 (JIT) が必要です。 iOS デバイス上の JIT には、ジェイルブレイクされたデバイス、または iOS の特定のバージョンで見つかったさまざまな回避策のいずれかが必要です (詳細については、「インストール」を参照)。
UTM SE (「低速エディション」) は、従来のインタープリタよりもパフォーマンスが高いスレッド インタープリタを使用しますが、それでも JIT よりは低速です。この手法は、iSH が動的実行に行う手法と似ています。その結果、UTM SE はジェイルブレイクや JIT 回避策を必要とせず、通常のアプリとしてサイドロードできます。
サイズとビルド時間を最適化するために、UTM SE には ARM、PPC、RISC-V、x86 のアーキテクチャのみが含まれています (すべて 32 ビットと 64 ビットの両方のバージョンがあります)。
iOS 用 UTM (SE): https://getutm.app/install/
UTM は macOS でも利用できます: https://mac.getutm.app/
iSH: iOS 上で x86 Linux アプリケーションを実行するためのユーザーモード Linux ターミナル インターフェイスをエミュレートします。
a-shell: iOS 用にネイティブに構築され、ターミナル インターフェイスからアクセスできる一般的な Unix コマンドとユーティリティをパッケージ化します。
UTM は、寛容な Apache 2.0 ライセンスに基づいて配布されます。ただし、いくつかの (L)GPL コンポーネントが使用されています。ほとんどは動的にリンクされますが、gstreamer プラグインは静的にリンクされ、コードの一部は qemu から取得されます。このアプリケーションを再配布する場合は、この点にご注意ください。
一部のアイコンは www.flaticon.com の Freepik によって作成されました。
さらに、UTM フロントエンドは次の MIT/BSD ライセンス コンポーネントに依存します。
IQキーボードマネージャー
SwiftTerm
ZIP財団
アプリ内設定キット
継続的統合ホスティングは MacStadium によって提供されます