What is a temporary virtual machine?

A disposable computer that exists only while you use it — what that actually means, when it helps, and where the idea falls down.

A virtual machine is a computer built out of software. Something pretends to be a processor, some memory, a disk and a screen, and an operating system runs on top without ever discovering that none of it is real. A *temporary* virtual machine adds one more property: nothing about it is meant to survive. When you close it, it is gone — no disk left behind, no state to clean up, no trace.

Why throwaway is a feature

The usual reason to run a virtual machine is isolation: you want to try something without risking the computer you actually depend on. But a long-lived VM slowly stops being isolated. You install things in it, you configure it, you come to rely on it, and eventually you are maintaining a second computer with all the same problems as the first.

A machine that resets every time removes that temptation. You cannot accumulate state in it, so you never come to depend on the state. Every session starts from a known point, which is exactly what you want when the question is "what does this actually do?" rather than "how do I keep this running?".

What it is good for

  • Seeing an operating system before committing to it. Booting Haiku for ten minutes tells you more than an hour of screenshots.
  • Teaching. A class can all boot the same machine from a link, break it however they like, and reload.
  • Understanding the machine underneath. Watching a boot sequence run on hardware you can pause is a different kind of learning from reading about it.
  • Curiosity, without consequences. Running something from 1979 costs you nothing but a tab.

Where the idea runs out

Temporary is not the same as powerful. A machine that resets cannot be the place where your work lives, and a machine emulated in a browser tab is slower than one running on the processor directly — often by a factor of ten or more. If you need a development environment you return to daily, you want a real virtual machine on your own hardware, or a server somewhere.

How this one works

TempMV has no server. The emulator is WebAssembly running in your tab, the disk images are fetched by your own browser, and anything you upload is read locally and never sent anywhere — there is nowhere to send it. That is also why the machines are temporary: the only place they could live is the page, and the page does not survive a reload. See how x86 emulation works in the browser for the mechanism.