Database Reference
In-Depth Information
16.8 I/O VIRTUALIZATION
The virtualization strategy for a given I/O device type consists of (1) constructing
a virtual version of that device and (2) virtualizing the I/O activity routed to the
device. Typical I/O devices include disks, network cards, displays, and keyboards,
among others. As discussed previously, the hypervisor might create a virtual dis-
play as a window on a physical display. In addition, a virtual disk can be created by
assigning to it a fraction of the physical disk's storage capacity. After constructing
virtual devices, the hypervisor ensures that each I/O operation is carried out within
the bounds of the requested virtual device. For instance, if a virtual disk is allocated
100 cylinders from among 1000 cylinders provided by a physical disk, the hypervi-
sor guarantees that no I/O request intended for that virtual disk can access any cyl-
inder other than the 100 assigned to it. More precisely, the disk location in the issued
I/O request will be mapped by the hypervisor to only the area where the virtual disk
has been allocated on the physical disk. Next, we will cover some I/O basics and then
move on to the details of I/O virtualization.
16.8.1 i/o b asiCs
To start with, each I/O device has a device controller. A device controller can be
typically signaled either by a privileged I/O instruction or memory-mapped I/O . I/O
instructions are provided by ISAs. Intel-32 is an example of a processor that pro-
vides I/O instructions within its ISA. Many recent processors, however, allow per-
forming I/O between the CPU and the device controllers through memory-mapped
I/O (e.g., RISC processors). As shown in Figure 16.21, with memory-mapped I/O, a
specific region of the physical memory address space is reserved for accessing I/O
ROM
N Address lines
A special region of
addresses to I/O devices
Unused
2 N Address space
RAM
FIGURE 16.21 Memory-mapped I/O with a specific region in the RAM address space for
accessing I/O devices.
Search WWH ::




Custom Search