What is a virtual machine & how do they work

joanne profile
Joanne Yip|July 20, 2023
General blog image 2
General blog image 2

A virtual machine functions just like a real computer… if that computer was actually a program that runs on software rather than hardware.

Virtual machines have been around for a while, but there’s still a lot to learn about how they work, what they’re best used for, and how businesses can benefit. Are they considered “real computers”? (If a tree falls in the forest, does it make a sound?) Regardless of how you intend to use virtual machines, we’ll walk you through the basics including some key pros and cons.  

What is a virtual machine? 

A virtual machine is a virtual computer system or virtual computer that runs on a physical host machine (either a computer or a server). Virtual machines are also called software-defined computers or guest computers or machines. 

A single physical machine can easily host multiple virtual machines, each running independently from the others. While each virtual machine has its own CPU, RAM, and storage, these computing resources are finite and collectively supplied by the host machine.  

Types of virtual machines 

In general, there are two types of virtual machines.  

1. System virtual machines 

System virtual machines allow you to run complete operating systems, including apps and programs, on a single physical machine. You can run multiple operating systems at a time while maintaining them as entirely separate environments.  

2. Process virtual machines 

Process virtual machines allow you to run single processes or instances on a host operating system. For example, a Java virtual machine is a process virtual machine. Process virtual machines are also known as application virtual machines or managed runtime environments (MREs). 

How do virtual machines work? 

Virtual machines may reside on a physical host, but they cannot interact directly with it. They’re the tragic star-crossed lovers of IT (*sad trombone*). To run and manage virtual machines, you need to use specialized virtualization software called a hypervisor.  

A hypervisor, sometimes called a virtual machine monitor (VMM), keeps the host and virtual machines separate, enabling them to run concurrently without interfering with each other. They also allocate computing power, memory, and storage based on each VM’s requirements, redistributing resources as demand varies.  

Types of hypervisors 

There are two broad categories of hypervisors: 

Type 1 hypervisors 

Type 1 hypervisors are also known as native or bare-metal hypervisors. Type 1 hypervisors run directly on the hardware of the host computer and in place of the host operating system.  

Highly efficient and secure, Type 1 hypervisors are typically used to host IT infrastructure and perform production-level workloads. They’re commonly found in server-based environments. 

But to use Type 1 hypervisors, you need separate management machines or software to manage your virtual machines and the host computer’s hardware.  

Popular Type 1 hypervisors include VMWare ESXi, Hyper-V, and Citrix Hypervisor (previously XenServer). 

Type 2 hypervisors 

In contrast, Type 2 hypervisors generally cost less, are more lightweight, and run like applications on the host operating system.  

Type 2 hypervisors are typically used in end-user systems for things like testing software, building virtual desktops, or creating virtual reference machines to capture operating system images.  

Users can toggle easily between the guest and host operating systems to access host OS files from a guest virtual machine. 

Some popular Type 2 hypervisors are VMWare VirtualBox, VMWare Fusion (for macOS), VMware Workstation, and Oracle VM VirtualBox. 

What are virtual machines used for?  

Because of the way they are designed, virtual machines are especially useful when you want to run tasks or test software in an isolated environment. If things don’t quite go as planned, at least the rest of the house remains standing, so to speak. Here’s a list of common uses for virtual machines. 

1. Testing new operating systems 

Whether you’re getting ready to deploy your Windows golden image to new company hardware or migrating users to a new version of Windows, virtual machines allow you to test the new operating system without affecting users or business-critical systems. Once you’re happy with the results, you can use a computer imaging solution like SmartDeploy to capture and deploy your operating system image.

2. Testing software 

For DevOps folks, a virtual environment is ideal for building, experimenting with, and testing new software. On a single physical host computer, VMs can be set up and configured to automate and run multiple dev-test scenarios and workflows.  

3. Investigating malware 

Malware researchers also use virtual machines as sandbox environments to analyze malicious programs and how they work across different operating systems. (Yup, this is an actual job where you get to indulge in your wildest hacker fantasies — and still qualify for a 401[k].) 

4. Running apps intended for other operating systems 

Do you want to test or use an app that only works on MacOS or Linux? Or want to run legacy software that only works on older operating system versions? Virtual machines allow you to run different operating systems on the same host computer. Who says you can’t have your cake and eat it too?

5. Running cloud computing workloads 

Cloud service providers use virtual machines to offer flexible, scalable cloud computing resources to their customers. From virtual servers to software development platforms, almost all cloud service offerings today involve the use of virtualization technology. 

6. Providing secure access to company networks 

Some users may need to access sensitive information from remote locations or while on the go. To protect company data from cybersecurity threats, you can create a VPN tunnel on a virtual machine within the user’s computer to provide a secure connection to company networks.  

Advantages of virtual machines 

Using virtual machines can benefit organizations in several ways — from cost savings to quicker, more scalable growth.  

Resource optimization 

By using virtual machines, organizations save on time, space, utilities, and cost since they don’t have to buy and manage a physical server or computer for every operating system they want to run. And maybe, just maybe, some of that extra budget could go towards more pressing issues like IT staffing

Portability 

Virtual machines are extremely portable, especially if your host computer is a laptop. Guest VMs are also easily transferrable across host computers within a network (e.g., if you need the extra computing power) and between on-prem and cloud environments.  

More efficient software development 

When it comes to software development, it’s relatively quicker and easier to install and provision a virtual environment than it is to set up physical hardware. Using virtual machines, organizations can build and test new software more efficiently.  

Scalability 

As organizations grow, they can increase their cloud computing workloads more easily with virtual machines. In growing, hardware-diverse environments, virtual machines offer a more flexible, scalable way to manage and test operating systems, apps, and software updates. 

“With computer imaging, for instance, using physical reference machines typically requires a lot more overhead because you need to maintain one for every model in your environment. And when updates cause issues, you would need to reset the physical machine, reinstall Windows, and start over from scratch. A virtual machine allows you to use snapshots and back up to prior states of the VM, so it’s easy to roll back if an update or software installation causes undesirable behavior or an unusable image.” – Glenn Bristol, support team manager

IT security 

Because virtual machines can be kept isolated from host operating systems and each other, they provide ideal environments for IT to safely test software and investigate suspicious or infected files or programs. Or keep out the riff-raff with VM-hosted VPN access to secure networks from remote locations.  

Disadvantages of virtual machines 

The downsides of using virtual machines vary depending on your use case and workload. And they might not all apply all the time. Here are some general considerations to keep in mind. 

Performance overheads 

Virtual machines rely on the (finite) computing power and resources of the host computer. Running multiple VMs on a single host may impact overall performance. Because VMs interact with the host system through a software layer, this may also cause latency issues if you’re running heavier workloads. 

Compatibility issues 

You may encounter compatibility issues with applications that rely on certain hardware configurations, drivers, or dependencies. Similarly, software that relies heavily on graphics processing may not function well in virtualized environments. So if you’re thinking of using VMs for some secret midday gaming in the office, you might need to reconsider. 

Licensing limitations 

Virtual machines pretty much function like actual computers, so it’s no surprise that some software vendors require separate licenses for each VM. Examples include Microsoft SQL server, Adobe Creative Cloud, and even virtualization software like VMware vSphere.  

Single point of failure 

Building all your virtual machines on one physical computer is like putting all your proverbial eggs in one basket. And anyone in IT knows that it’s not a matter of if but when something goes wrong. You can always mitigate risks by creating VM backups and redundancies so it’ll take more than a malfunctioning host machine to take you down.  


Using virtual machines to perform important IT tasks can seem like a big leap of faith, especially when you’re used to working with physical hardware that you can see and touch. Still, we think the benefits of using virtual machines significantly outweigh the considerations in some cases.  

For some tasks, like computer imaging, virtual machines can help you keep your setup lean, simplify workflows, and manage endpoints more efficiently. Try SmartDeploy’s computer imaging solution free for 15 days to see how you can easily go from building your virtual reference machine to deploying your Windows image (whether devices are on-prem or remote) in a day or less.  

joanne profile
Joanne Yip

Joanne has always loved the impact that words can make. When she isn’t typing away in the world of sysadmin, Joanne loves hiking with her husband and dog, true-crime podcasts, and dreaming of her next scuba diving adventure.

Related articles

Ready to get started?

See how easy device management can be. Try SmartDeployfree for 15 days — no credit card required.