102 lines
2.6 KiB
Plaintext
102 lines
2.6 KiB
Plaintext
\begin{tikzpicture}
|
|
|
|
\definecolor{dagfscolor} {rgb}{.7,0.6,1}
|
|
\definecolor{rumpcolor} {rgb}{1,0.6,0.6}
|
|
|
|
\tikzstyle{treenode} = [component, path fading=flow fade,
|
|
minimum width=10ex, minimum height=7ex, align=center,
|
|
rounded corners=1]
|
|
\tikzstyle{dagfsnode} = [treenode, bottom color=dagfscolor]
|
|
|
|
|
|
\tikzstyle{subsystem} = [minimum width=10ex, minimum height=3ex, align=center,
|
|
draw=black!80, fill=white, fill opacity=0.6]
|
|
|
|
\tikzstyle{treesessionarrow} = [arrow, thick, densely dashed]
|
|
|
|
\tikzstyle{treesessionarrow} = [arrow, thick, densely dashed]
|
|
|
|
%
|
|
% Components
|
|
%
|
|
|
|
% Dagfs components
|
|
\node[dagfsnode,
|
|
minimum width=20ex,
|
|
minimum height=11ex]
|
|
(dagfs_server) {};
|
|
|
|
\path (dagfs_server.west) node[right=1ex] {Dagfs};
|
|
|
|
\path (dagfs_server.east) node[
|
|
left=2ex, yshift=2ex, subsystem, align=center] (frontends)
|
|
{Frontends};
|
|
|
|
\path (dagfs_server.east) node[
|
|
left=2ex, yshift=-2ex, subsystem, align=center] (backends)
|
|
{Backends};
|
|
|
|
|
|
\node[dagfsnode, below=8ex of dagfs_server]
|
|
(dagfs_fs_store) {Dagfs FS store};
|
|
|
|
\node[treenode,
|
|
right=8ex of dagfs_fs_store,
|
|
minimum height=12ex, bottom color=rumpcolor, rounded corners=1]
|
|
(rump) {Rump\\Ext2};
|
|
|
|
\node[dagfsnode, above=8ex of dagfs_server, xshift=-16ex] (dagfs_tcp_server) {Dagfs TCP server};
|
|
\node[dagfsnode, above=8ex of dagfs_server, xshift=12ex] (dagfs_fs) {Dagfs FS};
|
|
\node[dagfsnode, right=2ex of dagfs_fs] (dagfs_rom) {Dagfs ROM};
|
|
|
|
%
|
|
% Linux VM
|
|
%
|
|
\node[treenode, minimum width=24ex, minimum height=22ex, above=8ex of dagfs_tcp_server] (linux) {};
|
|
\path (linux.north) node[below=1ex] {Linux VM};
|
|
|
|
|
|
%
|
|
% Sessions
|
|
%
|
|
\draw[treesessionarrow] (dagfs_fs_store.90)
|
|
.. controls +(270:-4ex) and +(270:4ex) ..
|
|
node[right, sloped=false] {}
|
|
(backends.270);
|
|
|
|
\draw[treesessionarrow] (dagfs_tcp_server.270)
|
|
.. controls +(270:4ex) and +(270:-7ex) ..
|
|
node[right, sloped=false] {}
|
|
(frontends.135);
|
|
|
|
\draw[treesessionarrow] (dagfs_fs.270)
|
|
.. controls +(270:4ex) and +(270:-8ex) ..
|
|
node[right, sloped=false] {}
|
|
(frontends.90);
|
|
|
|
\draw[treesessionarrow] (dagfs_rom.270)
|
|
.. controls +(270:4ex) and +(270:-7ex) ..
|
|
node[right, sloped=false] {}
|
|
(frontends.45);
|
|
|
|
\draw[treesessionarrow] (dagfs_fs_store) --
|
|
node[below, align=center, sloped=false] {File\\system} (rump);
|
|
|
|
%
|
|
% TCP
|
|
%
|
|
|
|
\node[draw,
|
|
dropshadow, path fading=flow fade, shape=double arrow,
|
|
below=5ex of linux,
|
|
yshift=1ex,
|
|
draw opacity=0.5,
|
|
rotate=90,
|
|
double arrow head extend=1ex,
|
|
inner xsep=2ex, inner ysep=1ex]
|
|
(arrow) {};
|
|
|
|
\path (arrow.east) node[yshift=-3ex, right=2ex] {TCP/IP};
|
|
|
|
\end{tikzpicture}
|