diff options
Diffstat (limited to 'presentation/images/qcow2_addressing.tex')
-rw-r--r-- | presentation/images/qcow2_addressing.tex | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/presentation/images/qcow2_addressing.tex b/presentation/images/qcow2_addressing.tex new file mode 100644 index 0000000..f052248 --- /dev/null +++ b/presentation/images/qcow2_addressing.tex @@ -0,0 +1,63 @@ +%------------------------------------------------------------------------------- +% qcow2_addressing.tex - addressing of QCOW2 data clusters as image +%------------------------------------------------------------------------------- +% author : Manuel Bentele +% date : Aug 29, 2019 +% copyright: (c) 2019 Manuel Bentele +%------------------------------------------------------------------------------- + +\begin{tikzpicture}[ + arrow/.style = {-triangle 45}, + datacluster/.style = {rectangle, draw, fill = dat, + minimum width = 0.1\textwidth, minimum height = 0.1\textheight}, + heading/.style = {font = \Large} + ] + \node[inner sep = 0, anchor = north] (l1table) at (0, 0) { + \begin{tabular}{|p{0.25\textwidth}|} \hline + \cellcolor{dat} \\ \hline + \\ \hline + \cellcolor{dat} \\ \hline + \\ \hline + \end{tabular} + }; + + \node[inner sep = 0, anchor = north] (l2table1) at (0.5\textwidth, 0) { + \begin{tabular}{|p{0.25\textwidth}|} \hline + \\ \hline + \\ \hline + \cellcolor{dat} \\ \hline + \\ \hline + \cellcolor{dat} \\ \hline + \end{tabular} + }; + + \node[inner sep = 0, below = 0.75 of l2table1] (l2table2) { + \begin{tabular}{|p{0.25\textwidth}|} \hline + \\ \hline + \cellcolor{dat} \\ \hline + \cellcolor{dat} \\ \hline + \\ \hline + \cellcolor{dat} \\ \hline + \end{tabular} + }; + + \node[inner sep = 0, anchor = north, datacluster] (data1) at (0.9\textwidth, 0) {}; + \node[inner sep = 0, below = 0.5 of data1, datacluster] (data2) {}; + \node[inner sep = 0, below = 0.5 of data2, datacluster] (data3) {}; + \node[inner sep = 0, below = 0.5 of data3, datacluster] (data4) {}; + \node[inner sep = 0, below = 0.5 of data4, datacluster] (data5) {}; + + \node[above = 0.5 of l1table, heading] {L1~table}; + \node[above = 0.5 of l2table1, heading] {L2~tables}; + \node[above = 0.5 of data1, heading] {Data clusters}; + + + \draw[arrow] ($(l1table.north east)!0.125!(l1table.south east)$) -- ($(l2table1.north west)!0.1!(l2table1.south west)$); + \draw[arrow] ($(l1table.north east)!0.625!(l1table.south east)$) -- ($(l2table2.north west)!0.1!(l2table2.south west)$); + + \draw[arrow] ($(l2table1.north east)!0.5!(l2table1.south east)$) -- (data1.west); + \draw[arrow] ($(l2table1.north east)!0.9!(l2table1.south east)$) -- (data2.west); + \draw[arrow] ($(l2table2.north east)!0.3!(l2table2.south east)$) -- (data3.west); + \draw[arrow] ($(l2table2.north east)!0.5!(l2table2.south east)$) -- (data4.west); + \draw[arrow] ($(l2table2.north east)!0.9!(l2table2.south east)$) -- (data5.west); +\end{tikzpicture}
\ No newline at end of file |