Next: Design and implementation
Up: Overview
Previous: Description of functionality
All devices seen by the user-mode kernel are virtual from the point of view
of the host. They are constructed from software abstractions provided by the
host. The following types of devices are provided:
- Consoles
- The main console is whatever terminal the kernel was invoked in. In
addition, virtual consoles are supported. By default, they execute an xterm
when opened. Optionally, they can just allocate a pseudo-terminal which the
user can connect to with a terminal program such as minicom or kermit.
- Block devices
- The block device driver operates within a file on the host.
Normally, this is a file containing a filesystem or swap space. However, any
file on the host that is seekable is suitable. Among other things, this means
that devices on the host can be accessed through their device files.
- Serial lines
- The serial line driver allocates a pseudo-terminal. Users wanting
to connect to the virtual machine via a serial line can do so by connecting
to the appropriate pseudo-terminal with a terminal program.
- Network devices
- There are two network device drivers. The old network driver
communicates with the host networking system through a slip device in the host.
The virtual machine's side of the connection is a pseudo-terminal in the host
which appears as a network device inside. There is also a newer network driver
which uses an external daemon to pass Ethernet frames between virtual machines.
This daemon can also attach this virtual network to the host's physical Ethernet
by way of an ethertap device. With an appropriate packet forwarding policy in
the daemon, the virtual Ethernet can be transparently merged with the physical
Ethernet, totally isolated from it, or anything in between.
Next: Design and implementation
Up: Overview
Previous: Description of functionality
Jeff Dike
2000-08-25