Applem1

31 Dec 2023

Running macOS virtual machines (VMs) on Apple silicon Macs may not seem popular, but it has long been one of Apple’s important goals. Yet, if you do use a virtualiser on an M-series Mac, you’ll know how different it is from those that virtualise macOS and other operating systems on Intel Macs. This article explains why virtualisation is so important, and how it has become so different.

Wind the clock back to WWDC in June 2020, when Craig Federighi announced details of what was coming in Apple silicon, and he identified three pillars to support a rich diversity of software on these new Macs: Universal apps that run on both architectures, Rosetta 2 to translate Intel code to Arm instructions, and virtualisation. At the time, before Apple had even released its Developer Transition Kit, Andreas Wendker went on to demonstrate a pre-release version of Parallels Desktop running Linux as a guest, but there was no mention at all of Windows.

Although the first version of macOS to run on Apple silicon, Big Sur, didn’t support the lightweight virtualisation that was to follow in Monterey, it brought what Apple termed its Virtualization Extensions, an implementation of Arm’s AArch64 virtualization.

In the early days of virtualisation, two distinct types were distinguished. Type 1 runs a hypervisor (the core of the virtualiser) direct on the computer’s hardware. Type 2, also known as hosted, runs a primary host operating system on the hardware, and hypervisors then run on top of, or in close conjunction with, that to deliver the same range of services to guest operating systems. A host operating system can run more than one hypervisor at a time, and each hypervisor in turn can run more than one guest, but ultimately all converge on the host operating system and its kernel. These are now much more common on desktop computers, and include popular products such as VMware Fusion, Parallels Desktop and Oracle VirtualBox.