macOS 드라이버 개발과 테스트:
왜 물리 머신이 유일한 선택인가
2026년, Apple이 Virtualization.framework와 Tart 같은 가상화 기술에 막대한 투자를 했음에도 불구하고, macOS 드라이버 개발은 여전히 기술적 역설에 직면해 있습니다. DriverKit, 시스템 확장, 커널 디버깅의 근본 아키텍처가 물리 하드웨어에 대한 절대적 종속성을 만들어내며, 어떤 하이퍼바이저도 우회할 수 없는 장벽을 형성합니다. 본문에서는 macOS 드라이버 엔지니어링에서 베어메탈 Mac이 유일한 실행 가능 플랫폼인 이유를 아키텍처·보안·디버깅 측면에서 심층 분석합니다.
01. 현대 macOS 드라이버 아키텍처의 패러다임 전환
Apple이 전통적인 커널 확장(Kext)에서 시스템 확장과 DriverKit으로 전환한 것은 단순한 기술 업그레이드가 아닙니다. 이는 시스템 안정성을 위한 근본적인 아키텍처 재설계이며, 동시에 가상화 환경에서 충족할 수 없는 새로운 하드웨어 종속성을 탄생시켰습니다.
1.1 DriverKit의 사용자 공간 아키텍처와 하드웨어 직접 통신
macOS Catalina 10.15에서 도입된 DriverKit은 디바이스 드라이버를 커널 공간에서 사용자 공간으로 이동시켰습니다. IOKit 원칙을 기반으로 구축되었지만, 물리 하드웨어 인터페이스에 대한 절대적 종속성을 만들어냅니다:
- 하드웨어 직접 통신 요구: DriverKit 드라이버는 USB, Thunderbolt, NIC, HID 디바이스와 IOService 매칭 메커니즘을 통해 통신합니다. 가상 USB 컨트롤러는 근본적으로 다른 디바이스 디스크립터를 제공하여 드라이버 매칭 규칙이 실패합니다.
- 자격 승인 요구사항: DriverKit 개발에는
com.apple.developer.driverkit자격이 필요하며, Apple은 하드웨어 사양 검토 후에만 승인합니다. 물리 디바이스 테스트는 자격 승인의 필수 조건입니다. - 하드웨어 신원 검증: 최신 드라이버는 디바이스 펌웨어 서명, USB Vendor ID, PCIe 디바이스 식별자를 검증합니다. 가상 하드웨어는 실제 드라이버가 거부하는 합성 식별자를 제공합니다.
- 인터럽트 처리 정확성: DriverKit의 IOInterruptDispatchSource는 하드웨어 인터럽트 벡터에 의존합니다. 하이퍼바이저는 타이밍 특성이 다른 인터럽트를 에뮬레이션하여 실시간 드라이버 요구사항을 깨뜨립니다.
1.2 시스템 확장 vs 전통적 Kext: VM의 치명적 한계
시스템 확장은 커널 수준 코드 없이 엔드포인트 보안, 네트워크 필터링, 파일 시스템 모니터링을 제공합니다. 하지만 배포 및 테스트 과정에서 VM의 치명적 제약이 드러납니다:
- 시스템 무결성 보호(SIP) 활성화 필수: 시스템 확장 활성화는 SIP가 활성화되어야 합니다. VM은 테스트용으로 SIP를 비활성화할 수 있지만, 이는 프로덕션 환경과 다른 보안 상태를 만들어 테스트 결과를 무효화합니다.
- Secure Boot 요구사항: Developer ID 인증서로 서명된 시스템 확장은 Secure Boot가 필요하며, Apple의 T2 칩 또는 Apple Silicon Secure Enclave에 의존합니다. 가상 머신은 이러한 하드웨어 보안 코프로세서가 없어 Secure Boot를 완전히 비활성화해야 합니다.
- 네트워크 확장 프레임워크: 네트워크 필터링 확장은 XNU 커널 네트워킹 스택의 패킷 필터 훅에 의존합니다. 가상화된 네트워킹 레이어는 패킷 타이밍과 TCP 혼잡 제어 동작을 왜곡하는 추가 추상화를 도입합니다.
- 엔드포인트 보안 API: ES 클라이언트는 프로세스 실행, 파일 작업, 커널 이벤트를 모니터링합니다. VM에서는 하이퍼바이저 작업이 물리 하드웨어에서 발생하지 않는 가짜 이벤트를 생성하여 원격 측정 데이터를 오염시킵니다.
Apple Silicon의 영향: M 시리즈 칩으로의 전환은 통합 메모리 아키텍처와 커스텀 I/O 코프로세서를 도입했습니다. Neural Engine, ProRes 하드웨어 가속, Secure Enclave 암호화를 타겟으로 하는 DriverKit 드라이버는 물리 Apple Silicon Mac이 필수입니다. 어떤 x86_64 VM도 이러한 서브시스템을 복제할 수 없습니다.
02. 가상 머신의 하드웨어 접근 제한: 극복 불가능한 장벽
하이퍼바이저는 에뮬레이션 또는 반가상화 레이어를 통해 하드웨어를 추상화합니다. 드라이버 개발 관점에서 이 추상화는 테스트 결과를 무효화하고 중요한 디버깅 워크플로를 방해하는 극복 불가능한 장벽을 만듭니다.
2.1 USB 및 Thunderbolt 디바이스 패스스루 실패
USB 디바이스 드라이버는 가장 일반적인 DriverKit 사용 사례입니다. 가상 머신 USB 패스스루는 드라이버 초기화를 깨뜨리는 지연 시간 및 디스크립터 불일치를 도입합니다:
# 물리 Mac USB 드라이버 열거
$ ioreg -p IOUSB -w0 -l
+-o AppleUSBXHCI@14000000
+-o USB3.1 Hub@00000000
+-o USB Audio Device@14400000
| "bcdUSB" = 0x0200
| "idVendor" = 0x047f (실제 벤더 ID)
| "idProduct" = 0xc056
| "bInterfaceClass" = 1 (Audio)
# VM USB 패스스루 (VMware/Parallels)
$ ioreg -p IOUSB -w0 -l
+-o GenericUSBXHCI@00000000
+-o USB Composite Device@01000000
| "bcdUSB" = 0x0110 (다운그레이드된 버전)
| "idVendor" = 0x0e0f (일반 VMware ID)
| "idProduct" = 0x0003
| "bInterfaceClass" = 255 (Vendor Specific)
가상 USB 컨트롤러는 디바이스 디스크립터를 재작성하여 DriverKit이 디바이스 검색에 의존하는 IOService 매칭 규칙을 깨뜨립니다. Thunderbolt 디바이스는 더욱 심각한 제한에 직면합니다—Thunderbolt PCIe 터널링은 하이퍼바이저가 에뮬레이션할 수 없는 하드웨어 DMA 및 인터럽트 리매핑을 요구합니다.
2.2 네트워크 인터페이스 드라이버 테스트의 왜곡
DriverKit은 IOEthernetController를 통해 NIC 드라이버를 지원합니다. VM에서 네트워크 드라이버를 테스트하면 세 가지 치명적 왜곡이 발생합니다:
- 합성 하드웨어: VM은 실제 Broadcom, Intel, Aquantia 컨트롤러 대신 vmxnet3 (VMware) 또는 virtio-net (QEMU) 어댑터를 제공합니다. 물리 NIC 레지스터를 대상으로 하는 드라이버 코드는 즉시 실패합니다.
- 패킷 타임스탬프 조작: 하이퍼바이저 네트워크 스택은 패킷 도착과 드라이버 알림 사이에 가변 지연 시간(5-50ms)을 추가합니다. 네트워크 모니터링 또는 고빈도 거래를 위한 정밀 타임스탬프 드라이버는 검증에 실패합니다.
- 오프로드 엔진 부재: 물리 NIC는 TCP Segmentation Offload (TSO), Large Receive Offload (LRO), 체크섬 오프로딩을 제공합니다. 가상 NIC는 이를 소프트웨어로 에뮬레이션하여 하드웨어 오프로드 경로 코드의 드라이버 버그를 숨깁니다.
| 드라이버 유형 | 물리 하드웨어 요구사항 | VM 제한사항 |
|---|---|---|
| USB 오디오 (HID) | 직접 동기식 전송 액세스, <1ms 지연 | USB 패스스루가 8-15ms 지터 추가, 실시간 오디오 손상 |
| Thunderbolt NVMe | PCIe DMA, NVMe 명령 큐 액세스 | 하이퍼바이저가 macOS VM에서 PCIe 패스스루 차단 |
| 이더넷 NIC | 하드웨어 오프로드 엔진, RDMA 지원 | 에뮬레이션된 NIC는 오프로드 부재, 성능 프로파일링 왜곡 |
| 시리얼/UART | 직접 레지스터 액세스, 보드레이트 정밀도 | 가상 시리얼 포트가 데이터 버퍼링, 타이밍 버그 숨김 |
2.3 GPU 및 Neural Engine 종속성: VM 지원 제로
Apple Silicon은 DriverKit이 IOAccelerator 프레임워크를 통해 액세스할 수 있는 특수 코프로세서를 도입했습니다. 이러한 서브시스템은 VM 지원이 전혀 없습니다:
- Metal GPU 컴퓨팅: GPU 가속 작업을 위한 DriverKit 드라이버는 직접 Metal API 액세스가 필요합니다. VM은 Apple Silicon 통합 GPU에 대한 GPU 패스스루가 없습니다.
- Neural Engine: ANE (Apple Neural Engine) 드라이버는 하드웨어 ML 가속기 액세스가 필수입니다. 어떤 가상화 레이어도 게스트 VM에 ANE를 노출하지 않습니다.
- ProRes/ProMotion 하드웨어: ProRes 인코드/디코드 엔진 또는 ProMotion 디스플레이 컨트롤러를 타겟으로 하는 미디어 처리 드라이버는 물리 실리콘 없이 작동할 수 없습니다.
03. 커널 디버깅과 개발 워크플로: 2대 물리 머신 필수
드라이버 런타임 동작을 넘어, macOS 커널 개발을 위한 디버깅 및 검증 워크플로는 VM으로 대체할 수 없는 물리 2대 머신 설정에 대한 절대적 요구사항을 만듭니다.
3.1 2대 머신 커널 디버깅 프로토콜
Apple의 공식 커널 디버깅 워크플로는 Thunderbolt 또는 이더넷으로 연결된 2대의 물리 Mac이 필요합니다. 이 아키텍처는 여러 기술적 이유로 필수입니다:
- LLDB 커널 디버깅 프로토콜: 커널 디버그 스텁(KDP)은 낮은 수준의 이더넷 프레임 액세스가 필요한 프로토콜을 사용하여 전용 네트워크 인터페이스를 통해 통신합니다. 가상 네트워크 브리지는 KDP 핸드셰이크를 깨뜨리는 패킷 조작을 도입합니다.
- 타겟 머신 정지: 커널 브레이크포인트가 트리거되면 타겟 Mac의 커널이 완전히 정지합니다—하이퍼바이저 관리 에이전트를 포함한 어떤 코드도 실행되지 않습니다. VM 게스트는 호스트를 정지시킬 수 없어 VM 기반 커널 디버깅은 논리적으로 불가능합니다.
- 커널 디버그 킷(KDK) 요구사항: KDK는 특정 macOS 빌드와 일치하는 스트립되지 않은 커널 심볼을 포함합니다. KDK 로딩은 타겟과 호스트 간 정확한 커널 버전 매칭이 필요합니다. 최신 macOS 버전을 실행하는 VM은 KDK 비호환성으로 인해 이전 커널 빌드를 디버그할 수 없습니다.
# 물리 2대 머신 커널 디버그 설정
# 타겟 Mac (테스트 드라이버를 실행하는 Mac Mini M4)
$ sudo nvram boot-args="debug=0x144 kcsuffix=development"
$ sudo reboot
# 개발 Mac (Xcode가 설치된 MacBook Pro)
$ lldb /Library/Developer/KDKs/KDK_14.3_23D56.kdk/System/Library/Kernels/kernel.development
(lldb) settings set target.load-script-from-symbol-file true
(lldb) kdp-remote 192.168.1.100
커널 디버거에 연결됨
(lldb) breakpoint set --name IOUSBHostDevice::start
Breakpoint 1: where = kernel.development`IOUSBHostDevice::start
(lldb) continue
# 타겟 Mac USB 삽입이 브레이크포인트 트리거
# 커널 정지, 전체 레지스터 검사 가능
(lldb) register read
x0 = 0xffffffe1a2c3d4e0
x1 = 0x0000000000000001
lr = 0xffffffe001234abc kernel.development`IOService::startCandidate
3.2 DTrace 및 Instruments 프로파일링: VM의 왜곡된 데이터
성능 프로파일링 및 시스템 추적 도구는 가상화 환경에서 심각한 제한에 직면합니다:
- DTrace 프로브 포인트: DTrace 커널 프로바이더(fbt, io, sched)는 커널 함수를 계측합니다. 하이퍼바이저 오버헤드는 프로브 발화 빈도와 타임스탬프 정확도를 왜곡하여 성능 데이터를 신뢰할 수 없게 만듭니다.
- Instruments 시스템 추적: Xcode Instruments의 시스템 추적 템플릿은 커널 스케줄링 이벤트, 시스템콜 지연, I/O 패턴을 캡처합니다. VM 오버헤드(CPU steal time, I/O 가상화)는 기준 측정을 오염시킵니다.
- PMC 액세스 거부: Apple Silicon CPU의 성능 모니터링 카운터(PMC)는 사이클 정확도 프로파일링을 제공합니다. 하이퍼바이저는 보안 격리를 위해 게스트의 PMC 액세스를 차단합니다.
3.3 크래시 덤프 분석: VM이 숨기는 진짜 원인
드라이버 테스트 중 커널 패닉은 사후 분석을 위한 전체 메모리 덤프가 필요합니다. VM은 크래시 근본 원인을 가리는 복잡성을 도입합니다:
# 물리 Mac 커널 패닉 로그
panic(cpu 4 caller 0xffffffe0012a4d8c): 커널 트랩 at 0xffffffe1a3b5c210
Thread 0x3a5, Running on CPU 4
Faulting Address: 0x0000000000000000
Fault Type: Load Access Fault (0x5)
Faulting Instruction: ldr x9, [x8] // Null pointer dereference
# VM 커널 패닉 (하이퍼바이저에 의해 가려짐)
panic(cpu 0 caller 0xffffffe0012a4d8c): "Virtual I/O device timeout"
Thread 0x1a2, Running on CPU 0
// 원래 드라이버 오류가 VM I/O 레이어 타임아웃으로 숨겨짐
이 예시에서 실제 드라이버 버그(null pointer dereference)는 하이퍼바이저의 가상 I/O 타임아웃으로 가려집니다. 물리 하드웨어는 실제 오류를 노출하는 투명한 패닉 로그를 제공합니다.
실제 영향: 2025년 DriverKit 개발 팀 연구에 따르면, 물리 하드웨어에서 발견된 드라이버 버그의 73%가 VM 테스트에서 감지 불가능했습니다. 인터럽트 타이밍 문제(41%), USB 디스크립터 불일치(28%), DMA 정렬 오류(18%)가 가장 일반적인 VM 숨김 버그 범주를 구성했습니다.
04. Apple의 보안 및 자격 모델: 법적·계약적 장벽
기술적 제한을 넘어, Apple의 보안 아키텍처와 자격 승인 프로세스는 VM 기반 드라이버 개발에 법적·계약적 장벽을 만듭니다.
4.1 자격 요청 요구사항: 물리 하드웨어 검증 필수
DriverKit 드라이버 또는 시스템 확장 배포는 Apple Developer Relations의 자격이 필요합니다. 승인 프로세스는 물리 하드웨어 검증을 요구합니다:
- 하드웨어 사양 제출: 자격 요청은 USB 디스크립터, PCIe 구성 공간 덤프, 인터럽트 특성을 포함한 타겟 하드웨어 데이터시트가 필요합니다. 가상 하드웨어 사양은 이 요구사항을 통과하지 못합니다.
- 기능 테스트 증거: Apple은 물리 디바이스에서 드라이버 작동의 비디오 문서화를 요구합니다. VM 환경 스크린샷은 명시적으로 거부됩니다.
- 호환성 테스트: 드라이버는 여러 Mac 모델에서 호환성을 입증해야 합니다. VM 테스트는 모델별 하드웨어 특성(예: Intel Mac의 T2 칩 상호작용, M1 vs M4 I/O 차이)을 검증할 수 없습니다.
4.2 공증 및 Secure Boot 제약
Mac App Store 외부에서 드라이버를 배포하려면 공증이 필요합니다. 공증 프로세스는 VM이 충족할 수 없는 보안 가정을 검증합니다:
- 코드 서명 검증: 공증된 드라이버는 금지된 API에 대한 정적 분석을 거칩니다. VM에서만 개발된 드라이버는 의도치 않게 VM 호환이지만 하드웨어 비호환인 코드 경로를 사용할 수 있습니다.
- 런타임 강화: 강화된 런타임 요구사항(라이브러리 검증, DYLD 환경 변수 금지)은 하드웨어 보안 기능과 상호작용합니다. SIP가 비활성화된 VM은 이러한 검사를 우회하여 잘못된 검증을 생성합니다.
- Gatekeeper 통합: 시스템 확장의 첫 실행은 하드웨어 UUID 및 Secure Enclave 증명과 연결된 Gatekeeper 승인 대화상자를 트리거합니다. VM 환경에는 영구적인 하드웨어 신원이 없습니다.
05. 비용 및 리소스 분석: 임대형 베어메탈 인프라의 우위
VM 기반 드라이버 개발의 기술적 불가능성을 고려할 때, 조직은 하드웨어 조달 결정에 직면합니다. 경제성 분석은 개발 Mac 플릿 구매보다 임대형 베어메탈 인프라가 유리함을 보여줍니다.
5.1 개발 팀 하드웨어 요구사항
일반적인 DriverKit 팀은 포괄적인 테스트를 위해 특정 하드웨어 프로필이 필요합니다:
| 사용 사례 | 필요 하드웨어 | 구매 비용 | MacDate 월간 |
|---|---|---|---|
| 커널 디버그 타겟 | Mac Mini M4 Pro (24GB RAM) | ₩2,590,000 | ₩173,000/월 |
| 개발 워크스테이션 | MacBook Pro 14" M4 Max (64GB RAM) | ₩4,770,000 | ₩318,000/월 |
| CI/CD 빌드 에이전트 | Mac Studio M2 Ultra (128GB RAM) | ₩8,180,000 | ₩545,000/월 |
| 합계 (3노드 설정) | - | ₩15,540,000 선불 | ₩1,036,000/월 (CapEx 없음) |
MacDate 임대 모델은 자본 지출을 제거하면서 하드웨어 리프레시 사이클을 제공합니다—macOS 베타 릴리스 및 새로운 Apple Silicon 세대에 걸쳐 드라이버를 테스트하는 데 중요합니다.
5.2 자가 관리 하드웨어의 숨은 비용
드라이버 개발용 Mac 구매는 초기 하드웨어 투자를 넘어 운영 비용을 발생시킵니다:
- macOS 베타 관리: macOS 베타에 대한 드라이버 테스트는 여러 OS 설치 유지가 필요합니다. 개발자 소유 Mac에서 부팅 구성, KDK, Xcode 버전 관리는 엔지니어당 월 4-6시간을 소비합니다.
- 하드웨어 진부화: Apple Silicon은 18개월마다 전환됩니다 (M1 → M2 → M3 → M4). 드라이버는 현재 세대 하드웨어를 지원해야 합니다. 구매한 Mac은 감가상각되는 반면 임대 인프라는 무료 하드웨어 업그레이드를 제공합니다.
- 원격 액세스 인프라: 분산 드라이버 팀은 물리 테스트 Mac에 대한 원격 액세스가 필요합니다. 자체 호스팅 솔루션은 VPN 인프라, 동적 DNS, 방화벽 관리가 필요합니다—MacDate의 관리형 원격 액세스로 제거되는 운영 오버헤드입니다.
MacDate의 우위: MacDate의 베어메탈 M4 클러스터에는 사전 구성된 커널 디버깅 네트워크 환경, KDK 자동 프로비저닝, 외부 디바이스 테스트를 위한 Thunderbolt 패스스루가 포함됩니다. 팀은 자가 관리 하드웨어에 필요한 3-4주 설정 타임라인 없이 프로덕션 준비된 드라이버 개발 인프라를 얻습니다.
06. 물리 드라이버 개발 모범 사례
물리 하드웨어에서 드라이버 개발 워크플로를 최적화하려면 특정 아키텍처 및 프로세스 결정이 필요합니다.
6.1 2대 머신 디버그 환경 설정
타겟 및 개발 Mac 간 안정적인 커널 디버깅 구축:
# 타겟 Mac: 커널 디버깅 활성화
$ sudo nvram boot-args="debug=0x144 kcsuffix=development -v"
$ sudo systemsetup -setnetworktimeserver time.apple.com
$ sudo reboot
# 개발 Mac: 일치하는 KDK 설치
$ softwareupdate --list-kernels
macOS 14.3 (23D56): KDK_14.3_23D56.kdk
$ sudo softwareupdate --install-kdk KDK_14.3_23D56.kdk
# 이더넷 디버깅 구성 (Thunderbolt보다 선호)
# 타겟 Mac: 전용 디버그 인터페이스에서 IP 주소 확인
$ ifconfig en0 | grep "inet "
inet 192.168.100.10 netmask 0xffffff00
# 개발 Mac: LLDB를 통해 연결
$ lldb /Library/Developer/KDKs/KDK_14.3_23D56.kdk/System/Library/Kernels/kernel.development
(lldb) settings set plugin.dynamic-loader.darwin-kernel.load-kexts true
(lldb) kdp-remote 192.168.100.10
커널 디버거에 연결됨 (프로토콜 버전 11)
6.2 자동화된 드라이버 테스트 파이프라인
CI/CD에 DriverKit 테스트 통합은 물리 Mac 에이전트가 필요합니다:
- 베어메탈의 GitLab Runner: 물리 M4 Mac에 직접 GitLab Runner를 배포합니다. 작업은 드라이버 빌드,
systemextensionsctl을 통한 자동 로딩, 실제 USB/Thunderbolt 디바이스에 대한 검증 테스트 스위트를 트리거합니다. - 테스트 하드웨어 관리: CI Mac에 연결된 테스트 디바이스(USB DAC, Thunderbolt 스토리지, 네트워크 어댑터) 풀을 유지합니다.
ioreg검증 스크립트를 사용하여 드라이버 테스트 전 디바이스 열거를 확인합니다. - 커널 패닉 복구: 워치독 타이머 및 원격 전원 제어(PDU)를 구성하여 커널 패닉 후 CI Mac을 자동으로 재부팅하고 크래시 로그를 아티팩트 스토리지에 캡처합니다.
6.3 멀티 플랫폼 검증 전략
드라이버는 Intel 및 Apple Silicon 아키텍처에서 작동해야 합니다. 물리 하드웨어는 포괄적인 검증을 가능하게 합니다:
- 아키텍처별 테스트: Intel Mac Mini (T2 칩)와 M4 Mac Mini 테스트 타겟을 모두 유지합니다. Intel vs Apple Silicon의 XHCI 구현 간 USB 디스크립터 파싱 차이를 검증합니다.
- macOS 버전 매트릭스: 전용 부팅 볼륨을 사용하여 macOS 13 (Ventura), 14 (Sonoma), 15 (Sequoia)에서 드라이버를 테스트합니다. NetBoot 또는 APFS 스냅샷은 물리 하드웨어에서 빠른 OS 전환을 가능하게 합니다.
- 성능 기준선 설정: 베어메탈에서 드라이버 지연 시간 및 처리량을 측정하여 성능 SLA를 설정합니다. 모든 VM 기반 테스트는 하이퍼바이저 오버헤드로 이러한 기준선을 오염시킵니다.
결론: 물리 하드웨어, 타협 불가능한 필수 요구사항
기술적 증거는 명확합니다: 2026년 macOS 드라이버 개발 및 테스트는 물리 하드웨어가 필수입니다. DriverKit의 하드웨어 종속성, 커널 디버깅 아키텍처, Apple의 자격 승인 프로세스, 성능 검증 요구사항은 어떤 가상화 기술도 극복할 수 없는 장벽을 만듭니다.
macOS 드라이버 개발 인프라를 평가하는 엔지니어링 조직에게 전략적 결정은 물리 Mac 사용 여부가 아니라 구매할 것인가 임대할 것인가입니다. 재무 분석은 명확히 인프라형 서비스(IaaS) 모델을 선호합니다: MacDate의 베어메탈 M4 클러스터는 1,550만 원 이상의 자본 지출을 제거하고, 자동 하드웨어 리프레시 사이클을 제공하며, 설정 시간을 수 주에서 수 시간으로 단축하는 사전 구성된 커널 디버깅 환경을 포함합니다.
Apple Silicon 진화가 계속되고 (M5 2026년 후반 예상) DriverKit이 새로운 하드웨어 서브시스템을 지원하도록 확장됨에 따라, VM 제한과 물리 하드웨어 기능 간 격차는 더욱 벌어질 것입니다. 오늘 확장 가능한 관리형 베어메탈 인프라에 투자하는 팀은 VM 기반 우회의 기술 부채 없이 차세대 macOS 드라이버 요구사항을 지원할 수 있는 위치에 있습니다.