Windows 샌드박스 아키텍처

Windows 샌드박스 기존 VM에서 사용할 수 없는 보안, 밀도 및 성능의 조합을 달성하기 위해 Windows의 새로운 컨테이너 기술의 이점을 누릴 수 있습니다.

동적으로 생성된 이미지

샌드박스를 부팅하기 위해 별도의 Windows 복사본을 요구하는 대신 동적 기본 이미지 기술은 호스트에 이미 설치된 Windows 복사본을 사용합니다.

대부분의 OS 파일은 변경할 수 없으며 Windows 샌드박스 자유롭게 공유할 수 있습니다. 운영 체제 파일의 작은 하위 집합은 변경 가능하며 공유할 수 없으므로 샌드박스 기본 이미지에는 기본 복사본이 포함되어 있습니다. 전체 Windows 이미지는 호스트의 공유 가능한 변경할 수 없는 파일과 변경 가능한 파일의 기본 복사본을 조합하여 생성할 수 있습니다. 이 체계의 도움으로 Windows 샌드박스 Windows의 추가 복사본을 다운로드하거나 저장할 필요 없이 부팅할 수 있는 전체 Windows 설치가 있습니다.

Windows 샌드박스 설치하기 전에 동적 기본 이미지 패키지는 압축된 30MB 패키지로 저장됩니다. 설치되면 동적 기본 이미지가 약 500MB의 디스크 공간을 차지합니다.

차트는 파일의 동적 이미지 크기 조정 및 호스트 파일 시스템과의 링크를 비교합니다.

메모리 관리

기존 VM은 호스트 메모리의 정적 크기 할당을 할당합니다. 리소스 요구 사항이 변경되면 클래식 VM에는 리소스 요구 사항을 조정하기 위한 메커니즘이 제한됩니다. 반면에 컨테이너는 호스트와 협업하여 호스트 리소스가 할당되는 방법을 동적으로 결정합니다. 이 메서드는 프로세스가 일반적으로 호스트의 메모리를 위해 경쟁하는 방식과 유사합니다. 호스트가 메모리 압력을 받고 있는 경우 프로세스와 마찬가지로 컨테이너에서 메모리를 회수할 수 있습니다.

차트는 Windows 샌드박스 메모리 공유와 기존 VM을 비교합니다.

메모리 공유

Windows 샌드박스 호스트와 동일한 운영 체제 이미지를 실행하므로 "직접 맵"이라고 하는 기술을 통해 운영 체제 이진 파일의 호스트와 동일한 실제 메모리 페이지를 사용하도록 향상되었습니다. 예를 들어 ntdll.dll 샌드박스의 메모리에 로드되는 경우 호스트에 로드될 때 이진 파일의 해당 페이지와 동일한 실제 페이지를 사용합니다. 호스트와 샌드박스 간의 메모리 공유는 중요한 호스트 비밀을 손상시키지 않으면서 기존 VM에 비해 메모리 공간이 더 적습니다.

차트는 Windows 샌드박스 메모리 공간과 기존 VM을 비교합니다.

통합 커널 스케줄러

일반 가상 머신을 사용하면 Microsoft 하이퍼바이저가 VM에서 실행되는 가상 프로세서의 예약을 제어합니다. Windows 샌드박스 호스트 스케줄러가 CPU 주기를 가져오는 시기를 결정할 수 있는 "통합 예약"이라는 새로운 기술을 사용합니다.

차트는 Windows 샌드박스 예약과 기존 VM을 비교합니다.

Windows 샌드박스 샌드박스의 가상 프로세서를 호스트 스레드처럼 예약할 수 있는 고유한 정책을 사용합니다. 이 체계에서 호스트의 우선 순위가 높은 작업은 샌드박스에서 덜 중요한 작업을 선점할 수 있습니다. 이 선점은 호스트에 있든 컨테이너에 있든 가장 중요한 작업의 우선 순위가 지정된다는 것을 의미합니다.

WDDM GPU 가상화

하드웨어 가속 렌더링은 특히 그래픽 집약적 사용 사례의 경우 원활하고 응답성이 뛰어난 사용자 환경의 핵심입니다. Microsoft는 그래픽 에코시스템 파트너와 협력하여 최신 그래픽 가상화 기능을 Windows에서 사용하는 드라이버 모델인 DirectX 및 WDDM(Windows 디스플레이 드라이버 모델)에 직접 통합합니다.

이 기능을 사용하면 샌드박스 내에서 실행되는 프로그램이 호스트에서 실행되는 애플리케이션과 GPU 리소스를 놓고 경쟁할 수 있습니다.

차트는 호스트의 앱과 함께 관리되는 샌드박스의 그래픽 커널 사용을 보여 줍니다.

이러한 이점을 활용하려면 호환되는 GPU 및 그래픽 드라이버(WDDM 2.5 이상)가 있는 시스템이 필요합니다. 호환되지 않는 시스템은 Microsoft의 CPU 기반 렌더링 기술인 WARP(Windows Advanced Rasterization Platform)와 Windows 샌드박스 앱을 렌더링합니다.

배터리 통과

Windows 샌드박스 또한 호스트의 배터리 상태를 인식하여 전력 소비를 최적화할 수 있습니다. 이 기능은 배터리 수명이 중요한 랩톱에서 사용되는 기술에 매우 중요합니다.