liveBook · Manning

Virtual machine

As explained in Build and Orchestrator in Go (From Scratch)

A software-defined computer that abstracts physical hardware so multiple operating systems can run on one physical machine.

A virtual machine abstracts a physical computer so one physical host can be divided into several independent computing environments. This replaced the wasteful model in which each application required its own dedicated machine. section 1.2 section 1.3

The abstraction covers physical components such as CPU, memory, disk, networking, and removable media. Each VM runs a distinct operating system with its own kernel, networking stack, and resources, allowing multiple operating systems to share one physical machine. section 1.3

A virtual machine improves infrastructure efficiency, but its boundary remains visible at the application layer:

  • Administrators can pack multiple independent VMs onto a single physical host. section 1.2
  • Applications remain coupled to their operating systems; running multiple application instances may still require multiple VMs. section 1.3
  • Unlike containers, VMs provide their own kernels, networking stacks, and resource ownership rather than relying on process and resource isolation in a shared Linux kernel. section 1.3

From dedicated machines to shared hosts

A financial application and other teams’ applications once ran on separate physical machines with separate operating-system tooling. Virtualization allowed those workloads to run in independent VMs packed onto fewer physical machines. section 1.2

Figure 1.1 This diagram represents Michelle’s world in 2002. The outer box represents physical machines and the operating systems running on them. The inner box represents the applications running on the machines and demonstrates how applications used to be more directly tied to both operating systems and machines.
01-01

Use the diagram to see how applications were originally tied directly to physical machines and operating systems. section 1.2

Figure 1.2 Applications running on VMs
01-02

Use the comparison diagram to inspect applications running on virtual machines. section 1.3

How Build and Orchestrator in Go (From Scratch) covers it

How deep it goes
Explains abstracted hardware, per-VM operating-system resources, and application coupling without detailing VM implementation internals.
Examples
Uses dedicated application machines, shared VM hosts, and diagrams contrasting pre-virtualization systems with applications on VMs.
What you can do after
Operate infrastructure by placing multiple distinct operating systems on one physical machine and recognize application-layer limits.
How it connects
Connects virtual machines to physical machines, operating systems, containers, and orchestration clusters.

Also explained in

Compare how 16 books explain virtual machine →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Build and Orchestrator in Go (From Scratch). The section links point to the parts of the book it draws on.