What is the purpose of the Virtualization framework?

I've seen this video - https://developer.apple.com/videos/play/wwdc2022/10002/ It seems to me that using the Virtualization framework, I can create an application similar to VirtualBox or Gnome Boxes. Is there any other use case for the Virtualization framework?

If that would be the only kind of application for it, isn't one virtualization app enough? I mean, wouldn't it make more sense for Apple to release a GUI on top of the Virtualization framework, a kind of VM Manager, similar to VirtualBox? Why do developers actually need to play with such kind of code?

Post not yet marked as solved Up vote post of Loreno Down vote post of Loreno
1.2k views

Replies

Different hypervisor / virtualization vendors have different requirements, different storage formats, different expectations, and use very different paravirtualization schemes.

Virtualization Framework means the vendors can potentially avoid tying into the hardware directly, and quite possibly also conflicting with each other and with macOS.

VF means better abstractions both for the hypervisor vendors, and better flexibility for Apple. The hypervisors apps don't need quite as many details of lower-level processor hardware implementations. Apple then has opportunities around implementing lower-level and architectural changes, while disrupting fewer apps and vendors.

VF may mean the ability to dedicate parts of the hardware run-time environment to a specific app and its timing and resource requirements, dedicating virtual cores, rather than sharing cores and scheduling. This might provide a resource-intensive or latency-sensitive app with better timing, and interfering less with the rest of macOS.

VF also provides a path for vendors to reduce or eliminate kernel code, and which has been a long-time security and stability and control goal for Apple.

TL;DR: it makes hypervisors into something closer to standard apps, and rather further from hunks of the kernel written by others.