Virtual machine

A virtual machine is a layer of abstraction to computer hardware to allow the resources to be divided among varying tasks.

Virtual machines are often used in the implementation of emulators or portable executors for high-level languages (HLL). The HLL is compiled into code for the virtual machine (an intermediate language) which is then executed by an interpreter written in assembly language or some other portable language like C. Apple co-founder Steve Wozniak implemented a small virtual machine called "Sweet 16" to support 16-bit integers in Integer BASIC on the 8-bit 6502 processors of the Apple I and II computers, released in 1976 and 1977, respectively.

History
IBM first implemented its "Virtual Machine" as a  running a pseudo-operating system on  and  mainframe computers. VM became most used in the early 1980s as a hypervisor for running multiple or  guest systems, and was IBM's internal operating system of choice. It declined rapidly following widespread adoption of the IBM PC and hardware partitioning in on IBM mainframes after the.

When Apple dropped the Classic environment from Mac OS X 10.5 (Leopard), SheepShaver became a popular open source virtual machine to continue running classic Mac OS software. When Rosetta support for running PowerPC software on Intel hardware was discontinued in Mac OS X 10.7 (Lion), SheepShaver gained additional usefulness through its PowerPC emulator.

Parallels Desktop for Mac, VirtualBox, and VMware Fusion are popular 3rd-party solutions to allow Intel-based Macs to run multiple operating systems simultaneously, including alternate versions of macOS or Windows.

Articles

 * Apple's macOS 12 adds improved virtualization though no sign of anything like Boot Camp on M1 silicon by Simon Sharwood at The Register (2021-06-08)
 * Sandboxing vs. Virtualisation by Simon at Stack Overflow (2010-09-12)