Virtual Machines – Overview

Ever wanted to have two operating systems running on the same computer at once? Maybe macOS for certain tasks and software like Logic Pro X, and Windows for playing games and general usage. Virtual machines are emulated “machines” that can run different types of Operating Systems. It emulates a computer’s architecture that provides full functionality much like a real physical computer, except it is virtual and runs on top of the host machine. Virtual Machines generally offer a substitute or an extension to a physical machine; it allows additional potential in workflows and computer usage. Modern virtual machines use what’s called Hardware-Assisted Virtualization. This essentially uses a computer’s processor, both Intel, and AMD, to execute fully functional instructions that make up a full machine virtually. A small limitation to this is that the software and operating systems that can be installed need to support the same instruction set as the computer’s processor. However, considering AMD and Intel’s x86 instruction set’s ubiquity, most modern operating systems and software will fully support and coexist with this feature. The limitation is only noticeable when trying to run OS’s made for a different architecture; an example is System 7 (Old macOS) made for the PowerPC architecture, which requires software emulation. Hardware emulation has the advantage of speed, however.

Softwares

There is a lot of great software they can emulate and create a virtual computer environment. Some are paid, while some are free to use. Some are also bundled through Windows. One of the great ones are:

VMware Player and Workstation

https://www.vmware.com/products/workstation-pro.html

https://www.vmware.com/products/workstation-player.html

VMware Player and Workstation is a very versatile software, it bundles all the necessary features, and it allows for great 3D virtualization (graphics virtualization) to run 3D tasks on the virtual machine. VMware is also very versatile with software selection, and there are prebuilt macOS builds as well for VMware. Multiple instances can also be utilized, as well. VMware also has access to its OS ecosystem and VMware servers as well.

Positives include
  • USB 3.0
  • Virtual Machine Snapshot
  • vSphere/ESXi Server
  • 3D graphics acceleration with DX10 
  • Networking and Printing

Virtual Box

https://www.virtualbox.org

VirtualBox is free software that does a lot of VMware can do; it is made by Oracle, a company known for Java. VirtualBox is open source as well, and there are extensions to it as well that adds PXE, Remote Desktop, and USB Passthrough. VirtualBox doesn’t nearly as many features as Workstation, though. The 3D acceleration isn’t at the same level. There is no integration with vSphere or ESXi, and it is a little bit harder to install macOS. 

Positives include
  • Cross-platform for Windows, macOS, Linux, Solaris
  • Command Line
  • Video Capture of VM
  • USB Support (with Extension pack)
  • Drive Encryption (with Extension pack)

Notable Things

A few things to note before installing these softwares and start creating a virtual machine is to consider the amount of spare performance and hardware available. Usually, a few gigabytes of ram spare is required, as well as 1-2 cores of CPU available. Hard disk space depends entirely on the OS; for Windows, it is usually 40GB, Linux around 20GB. The proper amount defaults in each software—the more spare performances and hardware, the better, and the more virtual instances that can be run. ISOs (Images) or Discs of the operating system are needed to install the software as well; Windows ISO can be obtained from Microsoft, Linux ISOs can be obtained from the specific Linux Distro website, while macOS is a little more complicated. Making sure VT-x and AMD-V is also important. This can be done in the BIOS of a physical machine. Similarly, knowing if the OS architecture is 32 bit or 64 bit is also important. Hosts that are 32bit can only run 32bit instances, while 64bit hosts can run both 32bit and 64bit OS.

Useful Links:

Conclusion

In conclusion, virtual machines are a good way to create more instances of the software and operating systems to help ease workflow, run apps that do aren’t supported or native to the currently running operating system. Virtual Machines also allow for server hosting and testing applications in a Sandboxed Environment to prevent viruses from infiltrating the host machine as well.

Leave a Reply