What are virtual machines? | IBM

Windows

virtual machines

Most hypervisors support virtual machines running the Windows operating system as a guest. Microsoft’s Hyper-V hypervisor comes as part of the Windows operating system. When installed, it creates a primary partition containing both itself and the main Windows operating system, each of which gains privileged access to the hardware. Other operating systems, including Windows guests, run on child partitions that communicate with the hardware through the parent partition.

Virtual machines

Google’s open-source Android operating system is common in mobile devices and connected home devices such as home entertainment devices. The Android operating system runs only on the ARM processor architecture that is common to these devices, but enthusiasts, Android gamers, or software developers may want to run it on PC.

This is problematic because PCs run on a completely different x86 processor architecture and a hardware virtualization hypervisor only passes instructions between the virtual machine and the CPU. It does not translate them for processors with different instruction sets. There are several projects to address this problem.

Some projects, such as Shashlik or Genymotion, use an emulator that recreates the ARM architecture in software. An alternative, the Android-x86 project, ports Android to the x86 architecture instead. To run it, you need to install the Android-x86 program as a virtual machine using the VirtualBox type 2 hypervisor. Another alternative, Anbox, runs the Android operating system on the kernel of a host Linux operating system.

Apple

only allows its macOS system to run on Apple hardware, prohibiting people from running it on non-Apple hardware as a virtual machine or otherwise under its end user license agreement. You can use Type 2 hypervisors on Mac hardware to create virtual machines with a macOS guest.

iOS Virtual Machines

It is not possible to run iOS in a virtual machine

today because Apple strictly controls its iOS operating system and does not allow it to run on anything other than iOS

devices.

The closest thing to an iOS virtual machine is the iPhone simulator that ships with the Xcode integrated development environment, which simulates the entire iPhone system in software.

Java Virtual

Machines

The Java platform is an execution environment for programs written in the Java software development language. The promise of Java was “write once, run anywhere” functionality. This meant that any Java program could run on any hardware running the Java platform. To achieve this, the Java platform includes a Java virtual machine (JVM).

Java programs contain bytecode, which are instructions intended for the JVM. The JVM compiles this bytecode into machine code, which is the lowest level language used by the host computer. The JVM on the Java platform of one computing platform will create a different set of machine code instructions than the JVM on another, depending on the machine code expected by the processor.

The JVM, therefore, does not run a full operating system and does not use a hypervisor as other virtual machines do. Instead, it translates application-level software programs to run on particular hardware.

For more information about Java, see “Java: A Complete Guide.”

Python virtual

machines

Like the JVM, the Python virtual machine does not run on a hypervisor and does not contain a guest operating system. It is a tool that allows programs written in the Python programming language to run on a variety of CPUs.

Similar to Java, Python translates your programs into an intermediate format called bytecode, storing it in a file ready for execution. When the program runs, the Python virtual machine translates the bytecode into machine code for fast execution.

Linux virtual machines

Linux is a common guest operating system used in many virtual machines. It is also a common host operating system used to run virtual machines and even has its own hypervisor called a kernel-based virtual machine (KVM). The main Linux kernel has included KVM since 2007. Although it is an open source project, Red Hat now owns the original company that developed the KVM.

VMware Virtual Machines

VMware was one of the first vendors of virtualization software and is now a popular provider of Type 1 and Type 2 hypervisor and VM software for enterprise customers

. “VMware

: A Complete Guide” provides a comprehensive overview of all things VMware

.

Virtual machines

Ubuntu

Ubuntu is a Linux distribution produced by Canonical. It is available in both desktop and server versions, either of which you can install as a virtual machine. Ubuntu can be implemented as a guest operating system on Microsoft Hyper-V. It provides an optimized version of Ubuntu Desktop that works well in Hyper-V enhanced session mode, providing tight integration between the Windows host and the Ubuntu virtual machine. It includes support for clipboard integration, dynamic desktop resizing, shared folders, and moving the mouse between host and guest desktops.

Contact US