This document describes the specifications of the ``virtio'' family of
devices. These devices are found in virtual environments, yet by
design they look like physical devices to the guest
within the virtual machine - and this
document treats them as such. This similarity allows the guest to use standard
drivers and discovery mechanisms.

The purpose of virtio and this specification is that virtual
environments and guests should have a straightforward, efficient,
standard and extensible mechanism for virtual devices, rather
than boutique per-environment or per-OS mechanisms.
