프로젝트 소개

UTM은 QEMU를 기반으로 구축된 iOS 및 macOS용 완전한 기능의 시스템 에뮬레이터이자 가상 머신 호스트입니다. 사용자는 Mac, iPhone, iPad 기기에서 Windows, Linux 및 기타 운영 체제를 실행할 수 있습니다. 주요 기능으로는 QEMU를 통한 전체 시스템 에뮬레이션(MMU, 장치 등), 30개 이상의 프로세서 아키텍처(x86_64, ARM64, RISC-V 등) 지원, SPICE와 QXL을 사용하는 VGA 그래픽 모드, 텍스트 터미널 모드, USB 장치 지원, QEMU TCG를 통한 JIT 기반 가속이 있습니다. 프런트엔드는 네이티브 API를 사용하여 macOS 11+ 및 iOS 11+용으로 설계되었으며, 사용자가 기기에서 직접 VM을 생성, 관리 및 실행할 수 있습니다. macOS에서 UTM은 Hypervisor.framework와 QEMU를 통해 하드웨어 가속 가상화를 추가하며, macOS 12+에서 Virtualization.framework를 사용하여 macOS 게스트를 부팅할 수 있습니다. UTM SE("느린 버전")는 iSH의 접근 방식과 유사하게 JIT 대신 스레드 인터프리터를 사용하는 변형입니다. 탈옥이나 JIT 우회가 필요하지 않으며 일반 iOS 앱으로 사이드로드할 수 있지만, 성능이 저하됩니다. UTM SE는 ARM, PPC, RISC-V 및 x86 아키텍처(32비트 및 64비트)를 포함합니다. 이 프로젝트는 Apache 2.0 라이선스로 배포되지만 여러 (L)GPL 구성 요소를 포함하며, gstreamer 플러그인이 정적으로 링크되고 일부 코드는 QEMU에서 가져왔습니다. 프런트엔드는 또한 IQKeyboardManager, SwiftTerm, ZIP Foundation, InAppSettingsKit과 같은 MIT/BSD 라이선스 구성 요소에 의존합니다.