Windows 沙盒受益于 Windows 中的新容器技术,能够将安全性、密度和性能相结合,这在传统 VM 中无法做到。
动态生成的映像
动态基础映像技术使用主机上已安装的 Windows 副本,无需使用单独的 Windows 副本来启动沙盒。
大多数操作系统文件是不可变的,可以与 Windows 沙盒自由共享。 一小部分操作系统文件是可变的,无法共享,因此沙盒基础映像包含它们的原始副本。 完整的 Windows 映像可以通过组合主机上的可共享不可变文件和可变文件的原始副本来构建。 借助此方案,Windows 沙盒可以从完整的 Windows 安装中启动,而无需下载或存储额外的 Windows 副本。
在安装 Windows 沙盒之前,动态基础映像包将以 30 MB 压缩包的形式存储。 安装后,动态基础映像将占用约 500 MB 的磁盘空间。
内存管理
传统 VM 按静态大小分配主机内存。 当资源需求发生变化时,经典 VM 在调整资源需求方面的机制有限。 另一方面,容器与主机协作,动态确定主机资源的分配方式。 这种方法类似于进程通常在主机上争用内存的方式。 如果主机面临内存压力,它可以像处理进程一样从容器中回收内存。
内存共享
由于 Windows 沙盒运行与主机相同的操作系统映像,因此它通过称为“直接映射”的技术进行了增强,可将与主机相同的物理内存页用于操作系统二进制文件。例如,当 ntdll.dll 被加载到沙盒的内存中时,它将使用与在主机上加载的二进制文件的物理页相同的物理页。 与使用传统 VM 相比,主机和沙盒共享内存可以减少内存占用,同时不会泄露有价值的主机机密。
WDDM GPU 虚拟化
硬件加速渲染是获得流畅且响应迅速的用户体验的关键,尤其是在图形密集型用例中。 Microsoft 与其图形生态系统合作伙伴合作,将现代图形虚拟化功能直接集成到 DirectX 和 Windows 显示驱动程序模型 (WDDM) 中,这是 Windows 使用的驱动程序模型。
此功能允许在沙盒中运行的程序与主机上运行的应用程序争用 GPU 资源。
若要利用这些优势,需要具有兼容 GPU 和图形驱动程序 (WDDM 2.5 或更高版本) 的系统。 不兼容的系统在 Windows 沙盒中使用 Microsoft 的基于 CPU 的渲染技术 Windows 高级光栅化平台 (WARP) 来呈现应用。
电池直通
Windows 沙盒还能够感知主机的电池状态,从而优化其功耗。 此功能对于在笔记本电脑上使用的技术至关重要,因为笔记本电脑的电池续航时间通常非常重要。