Next: Design and implementation
Up: User-mode Linux
Previous: Introduction
All devices accessible inside the virtual machine are themselves virtual.
They are constructed from the appropriate abstractions provided by
the host. UML supports the full range of devices expected of a Linux
box:
- Consoles and serial lines
- UML has a main console, which is typically
the window in which it was run, as well as virtual consoles and serial
lines, which are exactly analogous to their counterparts on a physical
machine. However, on a physical machine, consoles and serial ports
are different physical devices. On UML, there is no real distinction,
so they share most of their code. Both can be attached to a variety
of host devices, including ttys, ptys, pts devices, xterms, sockets,
and already-existing file descriptors.
- Block devices
- UML has a single block driver which provides access
to anything on the host which can be mounted. Normally, it is used
to mount filesystems from images in files in the host filesystem.
However, it may also be used to provide access to host block devices
such as CD-ROMs, floppies, or raw disk partitions.
- Network devices
- There is a single network driver which, through
a number of backends, provides UML network access via a number of
host mechanisms. These include slip, ethertap, TUN/TAP, and a socket
to a routing daemon. The slip backend is able to exchange IP packets
with the host and other machines with the host as router. The ethertap
and TUN/TAP backends exchange ethernet frames with the host and outside
network. The routing daemon may be used to set up a totally virtual
ethernet with no connection with the host or physical network, as
well as a virtual network which is connected to the physical net through
the daemon.
Next: Design and implementation
Up: User-mode Linux
Previous: Introduction
Jeff Dike
2001-05-04