1 \documentclass{article}
2 \usepackage[utf8]{inputenc}
4 \usetikzlibrary{arrows,positioning,fit,shapes,calc,trees}
7 \usepackage[active,tightpage]{preview}
8 \PreviewEnvironment{tikzpicture}
9 \setlength\PreviewBorder{5pt}%
15 fill = red!30, rounded corners,
16 font = \fontfamily{cmss}\Huge,
17 minimum width = 0.8in, minimum height = 0.7in
19 edge from parent/.style = { red, -, thick, draw },
20 level 1/.style = { sibling distance = 6in, level distance = 1in },
21 level 2/.style = { sibling distance = 1.6in },
22 level 3/.style = { sibling distance = 1.5in },
27 cylinder, draw, aspect=0.7,
37 ultra thick, dashed, green
43 % Tree of emulated devices.
45 \begin{scope}[edge from parent fork down]
48 child { node { motherboard }
50 child { node { insns } }
51 child { node { registers } }
53 child { node { memory } }
55 child { node { devices }
56 child { node (disk) { disk } }
57 child { node { usb } }
58 child { node (net) { net } }
59 child { node { timer } }
60 child { node (display) { display } }
65 % Corresponding host devices.
67 \node [host, hdisk, below=of disk, yshift=-2in] (hdisk)
68 { Host file \\ ``disk.img'' };
70 \node [host, hnet, below=of net, yshift=-2in] (hnet) { Host vnet0 };
72 \node [host, hdisplay, below=of display, yshift=-2in] (hdisplay) { VNC };
74 \draw [hostline] (disk.south) -- (hdisk.north);
76 \draw [hostline] (net.south) -- (hnet.north);
78 \draw [hostline] (display.south) -- (hdisplay.north);