Windows沙盒

Windows沙盒是一个轻量级虚拟机,无需下载映像能直接使用windows系统作为副本。

原理

动态生成镜像

沙盒核心是一个轻量级虚拟机,需要一个操作系统镜像才能启动。

Microsoft为windows沙盒提供增强,能直接使用windows10为副本,无需像普通虚拟机那样下载映像。

动态基础镜像仅25MB,动态基础包大约100MB。

Windows Sandbox

智能内存管理

Microsoft虚拟机允许将单个物理机器划分成多个,共享相同物理硬件。

这种方法适用于传统的服务器,但不适合在资源有限的设备上运行。

Microsoft Windows 沙盒能根据需要从沙盒中回收内存。

沙盒所使用的镜像基本上与主机操作系统保持一致,因此,允许windows沙箱通过“直接映射”技术,使用与主机相同的物理内存页面。

Windows Sandbox

内核调度程序

普通虚拟机只能控制VM中虚拟处理器的调度,但对于Windows 沙盒,Microsoft使用“集成调度”技术,允许主机决定何时运行沙箱。

主机上的高优先级任务,可抢占沙箱中不太重要任务的执行时间。

使用集成调度程序的好处是,Windows 沙盒作为一个进程,从而产生响应速度更快的主机,类似于Linux KVM。

Windows沙盒目标是将Sandbox视为应用程序,仍具虚拟机安全保障。

快照和克隆

Windows沙盒使用一个windows副本运行需要一些时间。

所以,最终方案并不是每次启动Windows沙盒时,都重塑一个沙盒操作系统,而使用“快照”和“克隆”。

快照在启动沙盒环境时将内存、CPU、设备状态保存到磁盘。

当需要一个新沙盒实例时,从磁盘恢复沙箱环境将其放入内存,显着改善了沙盒启动时间。

图形虚拟化

对于图形密集型或多媒体密集型实例,硬件加速渲染是用户体验的关键。

虚拟机与主机隔离,无法访问GPU等设备。

图形虚拟化技术弥合这一问题,在虚拟化环境中提供硬件加速,如:Microsoft RemoteFX。

最近,Microsoft与图形生态系统伙伴合作,将现代图形虚拟化功能,集成到DirectX和WDDM中,以下是windows上显卡驱动程序使用的模型。

从较高层面来看,这种图形虚拟化工作原理如下:

Hyper-V VM中运行的应用程序正常使用图形API。

VM中的图形组件(已支持虚拟化)在VM边界与主机协调执行图形工作负载。

主机在VM运行的应用程序之间,分配和调度图形资源及本机运行的应用程序。

从概念上讲,它们表现为一个图形客户端池。

过程如下所示:

Windows Sandbox

这使得Windows 沙盒VM能受益于硬件加速渲染,可在主机和来宾之间动态分配图形资源。

提高了Windows 沙盒中,应用程序的性能和响应能力。

要利用这些优势,需要一个具有兼容GPU和图形驱动程序(WDDM 2.5或更高版本)的系统。

不兼容的系统,将导致沙盒中的应用程序,使用Microsoft基于CPU的渲染技术。

电池感应

Windows沙盒能感受到主机电池状态,以优化功耗。这对笔记本电脑至关重要。