(CIE A2 compsci) System software and virtual machines - virtual machines/VMs
Virtual machine basics
Virtual machines run on the existing host OS and oversee virtual hardware via a guest OS using an emulation engine known as a hypervisor (eg. if the host OS were to be Windows 11 then you’d need a VM with macOS as its guest OS to run macOS program files coded in Swift on it)
The host OS of a virtual machine is the OS involved in monitoring the VM software + physical hardware and also what the host would normally use
The guest OS meanwhile is the OS being run on a virtual machine and controls virtual hardware during emulation under the host OS’s software control
Pros of using virtual machines
Guest OS usage within a virtual machine won’t heavily impact anything outside the VM as the host computer + any external VMs are under protection from it (perfect for running host-incompatible legacy apps like nuclear power station-controlling software or even Microsoft Excel 97)
The above also means the host computer won’t crash if any faults are detected in a new app/OS being tested on VMs
Cons of using virtual machines
There are significant differences in performance levels between the guest OSes and the original systems they emulate
Virtual machines can also be quite complex + inefficient + expensive to maintain