gvpr
This commit is contained in:
parent
3dfbd59280
commit
06be450d8c
|
@ -5,46 +5,24 @@ digraph matrix {
|
|||
ranksep=0.1,
|
||||
splines=false
|
||||
];
|
||||
node [fixedsize=false,
|
||||
height=0.5,
|
||||
shape=box,
|
||||
style="filled,setlinewidth(3)",
|
||||
width=1.1
|
||||
];
|
||||
edge [arrowhead=none,
|
||||
arrowsize=0.5,
|
||||
style=invis,
|
||||
weight=1
|
||||
];
|
||||
node [fixedsize=true,
|
||||
style=invis,
|
||||
width=0,
|
||||
height=0,
|
||||
];
|
||||
{
|
||||
usr_
|
||||
functions_
|
||||
D0
|
||||
E0
|
||||
F0
|
||||
G0
|
||||
H0
|
||||
}
|
||||
{
|
||||
system_;
|
||||
networking_;
|
||||
storage_;
|
||||
memory_;
|
||||
processing_;
|
||||
HI_;
|
||||
}
|
||||
node [height=0.3,
|
||||
width=1.1,
|
||||
shape=box,
|
||||
height=0.5,
|
||||
style="filled,setlinewidth(3)",
|
||||
fixedsize=false
|
||||
];
|
||||
edge [style="filled,setlinewidth(3)",
|
||||
weight=10
|
||||
];
|
||||
{
|
||||
node [color="#e27dd6ff",
|
||||
];
|
||||
node [color="#e27dd6ff"];
|
||||
system_ [fixedsize=true,
|
||||
height=0,
|
||||
shape="",
|
||||
style=invis,
|
||||
width=0];
|
||||
system [color="#e27dd6ff",
|
||||
fillcolor=white,
|
||||
fixedsize=true,
|
||||
|
@ -52,23 +30,21 @@ digraph matrix {
|
|||
row=func,
|
||||
tooltip=TODO,
|
||||
width=1];
|
||||
system_;
|
||||
system -> system_ [arrowhead="",
|
||||
color="#e27dd6ff",
|
||||
row=func,
|
||||
style="filled,setlinewidth(3)"];
|
||||
SCI [color="#e27dd6ff",
|
||||
fillcolor="#d9e7ee",
|
||||
fixedsize=true,
|
||||
label="System calls",
|
||||
row=usr,
|
||||
shape=ellipse,
|
||||
];
|
||||
system -> system_ [arrowhead="",
|
||||
color="#e27dd6ff",
|
||||
row=func];
|
||||
shape=ellipse];
|
||||
sysfs [color="#e27dd6ff",
|
||||
fillcolor="#b2d3e4",
|
||||
label="proc, sysfs,\nfile systems",
|
||||
];
|
||||
label="proc, sysfs,\nfile systems"];
|
||||
SCI -> sysfs [color="#e27dd6ff",
|
||||
weight=10];
|
||||
style="filled,setlinewidth(3)"];
|
||||
DM [color="#e27dd6ff",
|
||||
fillcolor="#91b5c9",
|
||||
fixedsize=true,
|
||||
|
@ -78,137 +54,123 @@ digraph matrix {
|
|||
shape=octagon,
|
||||
width=1];
|
||||
sysfs -> DM [color="#e27dd6ff",
|
||||
weight=10];
|
||||
style="filled,setlinewidth(3)"];
|
||||
log_sys [color="#e27dd6ff",
|
||||
fillcolor="#6a9ab1",
|
||||
fontsize=10,
|
||||
label="system run,\nmodules,\ngeneric\nHW access ",
|
||||
];
|
||||
label="system run,\nmodules,\ngeneric\nHW access "];
|
||||
DM -> log_sys [color="#e27dd6ff",
|
||||
weight=10];
|
||||
style="filled,setlinewidth(3)"];
|
||||
bus_drv [color="#e27dd6ff",
|
||||
fillcolor="#71809b",
|
||||
label="bus drivers",
|
||||
];
|
||||
label="bus drivers"];
|
||||
log_sys -> bus_drv [color="#e27dd6ff",
|
||||
weight=10];
|
||||
style="filled,setlinewidth(3)"];
|
||||
H2 [color="#e27dd6ff",
|
||||
fillcolor="#777777",
|
||||
fontcolor=white,
|
||||
fontsize=10,
|
||||
label="busess:\nPCI, USB ...",
|
||||
row=chip,
|
||||
];
|
||||
row=chip];
|
||||
bus_drv -> H2 [color="#e27dd6ff",
|
||||
weight=10];
|
||||
style="filled,setlinewidth(3)"];
|
||||
}
|
||||
{
|
||||
node [color="#61c2c5",
|
||||
];
|
||||
node [color="#61c2c5"];
|
||||
edge [color="#61c2c5"];
|
||||
networking_ [fixedsize=true,
|
||||
height=0,
|
||||
shape="",
|
||||
style=invis,
|
||||
width=0];
|
||||
networking [color="#61c2c5",
|
||||
fillcolor=white,
|
||||
fixedsize=true,
|
||||
row=func,
|
||||
style="filled,setlinewidth(3)",
|
||||
width=1];
|
||||
networking -> networking_ [arrowhead="",
|
||||
color="#61c2c5",
|
||||
row=func,
|
||||
style="filled,setlinewidth(3)"];
|
||||
sock [color="#61c2c5",
|
||||
fillcolor="#d9e7ee",
|
||||
fixedsize=true,
|
||||
label=Sockets,
|
||||
row=usr,
|
||||
shape=ellipse,
|
||||
style="filled,setlinewidth(3)"];
|
||||
networking -> networking_ [arrowhead="",
|
||||
color="#61c2c5",
|
||||
row=func,
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
shape=ellipse];
|
||||
prot_fam [color="#61c2c5",
|
||||
fillcolor="#b2d3e4",
|
||||
label="protocol\nfamilies",
|
||||
style="filled,setlinewidth(3)"];
|
||||
label="protocol\nfamilies"];
|
||||
sock -> prot_fam [color="#61c2c5",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
style="filled,setlinewidth(3)"];
|
||||
log_prot [color="#61c2c5",
|
||||
fillcolor="#6a9ab1",
|
||||
label="protocols:\nTCP, UDP, IP",
|
||||
style="filled,setlinewidth(3)"];
|
||||
label="protocols:\nTCP, UDP, IP"];
|
||||
prot_fam -> log_prot [color="#61c2c5",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
style="filled,setlinewidth(3)"];
|
||||
netif [color="#61c2c5",
|
||||
fillcolor="#71809b",
|
||||
fontsize=10,
|
||||
label="network\ninterfaces\nand drivers",
|
||||
style="filled,setlinewidth(3)"];
|
||||
label="network\ninterfaces\nand drivers"];
|
||||
log_prot -> netif [color="#61c2c5",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
style="filled,setlinewidth(3)"];
|
||||
net_hw [color="#61c2c5",
|
||||
fillcolor="#777777",
|
||||
fontcolor=white,
|
||||
fontsize=10,
|
||||
label="network:\nEthernet, WiFi ...",
|
||||
row=chip,
|
||||
style="filled,setlinewidth(3)"];
|
||||
row=chip];
|
||||
netif -> net_hw [color="#61c2c5",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
style="filled,setlinewidth(3)"];
|
||||
NFS [color="#8383cc",
|
||||
fillcolor="#91b5c9",
|
||||
fixedsize=true,
|
||||
height=0.4,
|
||||
label=NFS,
|
||||
shape=octagon,
|
||||
style="filled,setlinewidth(3)",
|
||||
width=0.6];
|
||||
NFS -> log_prot [color="#61c2c5",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=0];
|
||||
}
|
||||
{
|
||||
node [color="#8383cc",
|
||||
];
|
||||
node [color="#8383cc"];
|
||||
edge [color="#8383cc"];
|
||||
storage_ [fixedsize=true,
|
||||
height=0,
|
||||
shape="",
|
||||
style=invis,
|
||||
width=0];
|
||||
NFS;
|
||||
storage [color="#8383cc",
|
||||
fillcolor=white,
|
||||
fixedsize=true,
|
||||
row=func,
|
||||
style="filled,setlinewidth(3)",
|
||||
width=1];
|
||||
storage -> storage_ [arrowhead="",
|
||||
color="#8383cc",
|
||||
row=func,
|
||||
style="filled,setlinewidth(3)"];
|
||||
FS [color="#8383cc",
|
||||
fillcolor="#d9e7ee",
|
||||
fixedsize=true,
|
||||
label="files and\ndirectories",
|
||||
row=usr,
|
||||
shape=ellipse,
|
||||
style="filled,setlinewidth(3)"];
|
||||
storage -> storage_ [arrowhead="",
|
||||
color="#8383cc",
|
||||
row=func,
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
shape=ellipse];
|
||||
VFS [color="#8383cc",
|
||||
fillcolor="#b2d3e4",
|
||||
label="Virtual\nFile System",
|
||||
style="filled,setlinewidth(3)"];
|
||||
label="Virtual\nFile System"];
|
||||
FS -> VFS [color="#8383cc",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
style="filled,setlinewidth(3)"];
|
||||
VFS -> NFS [color="#8383cc",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=0];
|
||||
logFS [color="#8383cc",
|
||||
fillcolor="#6a9ab1",
|
||||
fontsize=10,
|
||||
label="logical\nfilesystems:\next3, xfs ...",
|
||||
style="filled,setlinewidth(3)"];
|
||||
label="logical\nfilesystems:\next3, xfs ..."];
|
||||
VFS -> logFS [color="#8383cc",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
style="filled,setlinewidth(3)"];
|
||||
PC [color="#51bf5b",
|
||||
fillcolor="#91b5c9",
|
||||
fixedsize=true,
|
||||
|
@ -216,7 +178,6 @@ digraph matrix {
|
|||
height=0.4,
|
||||
label="page\ncache",
|
||||
shape=octagon,
|
||||
style="filled,setlinewidth(3)",
|
||||
width=0.6];
|
||||
VFS -> PC [color="#8383cc",
|
||||
style="filled,setlinewidth(3)",
|
||||
|
@ -228,7 +189,6 @@ digraph matrix {
|
|||
height=0.4,
|
||||
label="memory\nmapping",
|
||||
shape=octagon,
|
||||
style="filled,setlinewidth(3)",
|
||||
width=1];
|
||||
VFS -> mmap [color="#8383cc",
|
||||
style="filled,setlinewidth(3)",
|
||||
|
@ -236,15 +196,12 @@ digraph matrix {
|
|||
block [color="#8383cc",
|
||||
fillcolor="#71809b",
|
||||
fontsize=10,
|
||||
label="Block\ndevices\nand drivers",
|
||||
style="filled,setlinewidth(3)"];
|
||||
label="Block\ndevices\nand drivers"];
|
||||
logFS -> block [color="#8383cc",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
style="filled,setlinewidth(3)"];
|
||||
PA [color="#51bf5b",
|
||||
fillcolor="#71809b",
|
||||
label="Page\nAllocator",
|
||||
style="filled,setlinewidth(3)"];
|
||||
label="Page\nAllocator"];
|
||||
PC -> PA [color="#51bf5b",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=0];
|
||||
|
@ -253,17 +210,14 @@ digraph matrix {
|
|||
fontcolor=white,
|
||||
fontsize=10,
|
||||
label="storage devices:\nSCSI, NVMe ...",
|
||||
row=chip,
|
||||
style="filled,setlinewidth(3)"];
|
||||
row=chip];
|
||||
block -> H4 [color="#8383cc",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
style="filled,setlinewidth(3)"];
|
||||
SW [color="#8383cc",
|
||||
fillcolor="#91b5c9",
|
||||
fixedsize=true,
|
||||
label=Swap,
|
||||
shape=octagon,
|
||||
style="filled,setlinewidth(3)",
|
||||
width=0.6];
|
||||
SW -> block [color="#8383cc",
|
||||
style="filled,setlinewidth(3)",
|
||||
|
@ -271,308 +225,142 @@ digraph matrix {
|
|||
}
|
||||
{
|
||||
node [color="#c46747",
|
||||
style="filled,setlinewidth(3)",
|
||||
style="filled,setlinewidth(3)"
|
||||
];
|
||||
edge [color="#c46747"];
|
||||
processing_ [fixedsize=true,
|
||||
height=0,
|
||||
shape="",
|
||||
style=invis,
|
||||
width=0];
|
||||
processing [color="#c46747",
|
||||
fillcolor=white,
|
||||
fixedsize=true,
|
||||
row=func,
|
||||
width=1];
|
||||
processing -> processing_ [arrowhead="",
|
||||
color="#c46747",
|
||||
row=func,
|
||||
style="filled,setlinewidth(3)"];
|
||||
proc [color="#c46747",
|
||||
fillcolor="#d9e7ee",
|
||||
fixedsize=true,
|
||||
label=Processes,
|
||||
row=usr,
|
||||
shape=ellipse,
|
||||
style="filled,setlinewidth(3)"];
|
||||
processing -> processing_ [arrowhead="",
|
||||
color="#c46747",
|
||||
row=func,
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
shape=ellipse];
|
||||
Tasks [color="#c46747",
|
||||
fillcolor="#b2d3e4",
|
||||
style="filled,setlinewidth(3)"];
|
||||
fillcolor="#b2d3e4"];
|
||||
proc -> Tasks [color="#c46747",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
style="filled,setlinewidth(3)"];
|
||||
sync [color="#c46747",
|
||||
fillcolor="#91b5c9",
|
||||
fixedsize=true,
|
||||
fontsize=10,
|
||||
label=synchronization,
|
||||
shape=octagon,
|
||||
style="filled,setlinewidth(3)"];
|
||||
shape=octagon];
|
||||
Tasks -> sync [color="#c46747",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
style="filled,setlinewidth(3)"];
|
||||
sched [color="#c46747",
|
||||
fillcolor="#6a9ab1",
|
||||
label=Scheduler,
|
||||
style="filled,setlinewidth(3)"];
|
||||
label=Scheduler];
|
||||
sync -> sched [color="#c46747",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
style="filled,setlinewidth(3)"];
|
||||
IRQ [color="#c46747",
|
||||
fillcolor="#71809b",
|
||||
fontsize=10,
|
||||
label="interrupts\ncore,\nCPU arch",
|
||||
style="filled,setlinewidth(3)"];
|
||||
label="interrupts\ncore,\nCPU arch"];
|
||||
sched -> IRQ [color="#c46747",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
style="filled,setlinewidth(3)"];
|
||||
CPU [color="#c46747",
|
||||
fillcolor="#777777",
|
||||
fontcolor=white,
|
||||
fontsize=10,
|
||||
row=chip,
|
||||
style="filled,setlinewidth(3)"];
|
||||
row=chip];
|
||||
IRQ -> CPU [color="#c46747",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
style="filled,setlinewidth(3)"];
|
||||
}
|
||||
{
|
||||
node [color="#cfbf57ff",
|
||||
style="filled,setlinewidth(3)",
|
||||
style="filled,setlinewidth(3)"
|
||||
];
|
||||
edge [color="#cfbf57ff"];
|
||||
HI_ [fixedsize=true,
|
||||
height=0,
|
||||
shape="",
|
||||
style=invis,
|
||||
width=0];
|
||||
HI [color="#cfbf57ff",
|
||||
fillcolor=white,
|
||||
fixedsize=true,
|
||||
label="human\ninterface",
|
||||
row=func,
|
||||
width=1];
|
||||
HI -> HI_ [arrowhead="",
|
||||
color="#cfbf57ff",
|
||||
row=func,
|
||||
style="filled,setlinewidth(3)"];
|
||||
char [color="#cfbf57ff",
|
||||
fillcolor="#d9e7ee",
|
||||
fixedsize=true,
|
||||
label="char\ndevices",
|
||||
row=usr,
|
||||
shape=ellipse,
|
||||
style="filled,setlinewidth(3)"];
|
||||
HI -> HI_ [arrowhead="",
|
||||
color="#cfbf57ff",
|
||||
row=func,
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
shape=ellipse];
|
||||
input [color="#cfbf57ff",
|
||||
fillcolor="#b2d3e4",
|
||||
label="input\nsubsystem",
|
||||
style="filled,setlinewidth(3)"];
|
||||
label="input\nsubsystem"];
|
||||
char -> input [color="#cfbf57ff",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
style="filled,setlinewidth(3)"];
|
||||
F7 [color="#cfbf57ff",
|
||||
fillcolor="#6a9ab1",
|
||||
label="HI class\ndrivers",
|
||||
style="filled,setlinewidth(3)"];
|
||||
label="HI class\ndrivers"];
|
||||
input -> F7 [color="#cfbf57ff",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
style="filled,setlinewidth(3)"];
|
||||
G7 [color="#cfbf57ff",
|
||||
fillcolor="#71809b",
|
||||
fontsize=10,
|
||||
label="HI\nperipherals\ndrivers",
|
||||
style="filled,setlinewidth(3)"];
|
||||
label="HI\nperipherals\ndrivers"];
|
||||
F7 -> G7 [color="#cfbf57ff",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
style="filled,setlinewidth(3)"];
|
||||
H7 [color="#cfbf57ff",
|
||||
fillcolor="#777777",
|
||||
fontcolor=white,
|
||||
fontsize=10,
|
||||
label="display, keyboard,\nmouse, audio",
|
||||
row=chip,
|
||||
style="filled,setlinewidth(3)"];
|
||||
row=chip];
|
||||
G7 -> H7 [color="#cfbf57ff",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
}
|
||||
{
|
||||
usr_;
|
||||
D0;
|
||||
E0;
|
||||
F0;
|
||||
G0;
|
||||
H0;
|
||||
functions [color=gray,
|
||||
fillcolor=gray,
|
||||
fixedsize=true,
|
||||
height=0.5,
|
||||
row=func,
|
||||
style=dashed,
|
||||
width=0.8];
|
||||
layers [fillcolor=lightgray,
|
||||
height=0.1,
|
||||
style="filled,setlinewidth(0)",
|
||||
width=0.5];
|
||||
functions -> layers [style=invis,
|
||||
weight=10];
|
||||
usr [fillcolor="#d9e7eeff",
|
||||
fixedsize=true,
|
||||
height=0.5,
|
||||
label="user space\ninterfaces",
|
||||
row=usr,
|
||||
shape=ellipse,
|
||||
style="filled,setlinewidth(0)"];
|
||||
layers -> usr [arrowhead="",
|
||||
color=gray,
|
||||
style="filled,setlinewidth(1)",
|
||||
weight=10];
|
||||
usr -> usr_ [arrowhead="",
|
||||
color="#d9e7eeff",
|
||||
minlen=2,
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
virt [fillcolor="#b2d3e4",
|
||||
height=0.5,
|
||||
label="virtual\nsubsystems",
|
||||
style="filled,setlinewidth(0)"];
|
||||
usr -> virt [color="#d9e7eeff",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
virt -> D0 [arrowhead="",
|
||||
color="#b2d3e4",
|
||||
minlen=2,
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
bridges [fillcolor="#91b5c9",
|
||||
height=0.5,
|
||||
shape=octagon,
|
||||
style="filled,setlinewidth(0)"];
|
||||
virt -> bridges [color="#b2d3e4",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
bridges -> E0 [arrowhead="",
|
||||
color="#91b5c9",
|
||||
minlen=2,
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=""];
|
||||
logical [fillcolor="#6a9ab1",
|
||||
height=0.5,
|
||||
style="filled,setlinewidth(0)"];
|
||||
bridges -> logical [color="#91b5c9",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
logical -> F0 [arrowhead="",
|
||||
color="#6a9ab1",
|
||||
minlen=2,
|
||||
row=logical,
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=""];
|
||||
HWI [fillcolor="#71809b",
|
||||
height=0.5,
|
||||
label="hardware\ninterfaces",
|
||||
style="filled,setlinewidth(0)"];
|
||||
logical -> HWI [color="#6a9ab1",
|
||||
row=logical,
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
HWI -> G0 [arrowhead="",
|
||||
color="#71809b",
|
||||
minlen=2,
|
||||
row=HWI,
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=""];
|
||||
HW [fillcolor="#777777",
|
||||
fontcolor=white,
|
||||
height=0.5,
|
||||
label="electronics,\nhardware",
|
||||
row=chip,
|
||||
style="filled,setlinewidth(0)"];
|
||||
HWI -> HW [color="#71809b",
|
||||
row=HWI,
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
HW -> H0 [arrowhead="",
|
||||
color="#777777",
|
||||
minlen=2,
|
||||
row=chip,
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=""];
|
||||
}
|
||||
subgraph mem {
|
||||
node [color="#51bf5b",
|
||||
height=0.5
|
||||
];
|
||||
edge [color="#51bf5b"];
|
||||
PC;
|
||||
mmap;
|
||||
SW;
|
||||
mmap -> SW [color="#51bf5b",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=0];
|
||||
log_mem [color="#51bf5b",
|
||||
fillcolor="#6a9ab1",
|
||||
height=0.5,
|
||||
label="logical\nmemory",
|
||||
style="filled,setlinewidth(3)"];
|
||||
mmap -> log_mem [color="#51bf5b",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
PA;
|
||||
H5 [color="#51bf5b",
|
||||
fillcolor="#777777",
|
||||
fontcolor=white,
|
||||
fontsize=10,
|
||||
height=0.5,
|
||||
label="MMU, RAM",
|
||||
row=chip,
|
||||
style="filled,setlinewidth(3)"];
|
||||
PA -> H5 [color="#51bf5b",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
log_mem -> PA [color="#51bf5b",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
memory [color="#51bf5b",
|
||||
fillcolor=white,
|
||||
fixedsize=true,
|
||||
height=0.5,
|
||||
row=func,
|
||||
style="filled,setlinewidth(3)",
|
||||
width=1];
|
||||
MA [color="#51bf5b",
|
||||
fillcolor="#d9e7ee",
|
||||
fixedsize=true,
|
||||
height=0.5,
|
||||
label="memory\naccess",
|
||||
row=usr,
|
||||
shape=ellipse,
|
||||
style="filled,setlinewidth(3)"];
|
||||
memory -> memory_ [arrowhead="",
|
||||
color="#51bf5b",
|
||||
row=func,
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
VM [color="#51bf5b",
|
||||
fillcolor="#b2d3e4",
|
||||
height=0.5,
|
||||
label="Virtual\nmemory",
|
||||
style="filled,setlinewidth(3)"];
|
||||
MA -> VM [color="#51bf5b",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
VM -> mmap [color="#51bf5b",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=10];
|
||||
}
|
||||
{
|
||||
graph [rank=same];
|
||||
edge [weight=10 style=invis];
|
||||
functions_;
|
||||
edge [style=invis,
|
||||
weight=10
|
||||
];
|
||||
functions_ [fixedsize=true,
|
||||
height=0,
|
||||
shape="",
|
||||
style=invis,
|
||||
width=0];
|
||||
system;
|
||||
functions_ -> system;
|
||||
networking;
|
||||
system -> networking;
|
||||
storage;
|
||||
networking -> storage;
|
||||
memory;
|
||||
memory [color="#51bf5b",
|
||||
fillcolor=white,
|
||||
fixedsize=true,
|
||||
row=func,
|
||||
width=1];
|
||||
storage -> memory;
|
||||
processing;
|
||||
HI;
|
||||
processing -> HI;
|
||||
functions;
|
||||
functions [color=gray,
|
||||
fillcolor=gray,
|
||||
fixedsize=true,
|
||||
row=func,
|
||||
style=dashed,
|
||||
width=0.8];
|
||||
functions -> functions_ [arrowhead="",
|
||||
color=gray,
|
||||
style="",
|
||||
|
@ -581,84 +369,240 @@ digraph matrix {
|
|||
}
|
||||
{
|
||||
graph [rank=same];
|
||||
usr_;
|
||||
usr_ [fixedsize=true,
|
||||
height=0,
|
||||
shape="",
|
||||
style=invis,
|
||||
width=0];
|
||||
SCI;
|
||||
sock;
|
||||
FS;
|
||||
proc;
|
||||
char;
|
||||
usr;
|
||||
MA;
|
||||
usr [fillcolor="#d9e7eeff",
|
||||
fixedsize=true,
|
||||
label="user space\ninterfaces",
|
||||
row=usr,
|
||||
shape=ellipse,
|
||||
style="filled,setlinewidth(0)"];
|
||||
MA [color="#51bf5b",
|
||||
fillcolor="#d9e7ee",
|
||||
fixedsize=true,
|
||||
label="memory\naccess",
|
||||
row=usr,
|
||||
shape=ellipse];
|
||||
}
|
||||
{
|
||||
edge [weight=10 style=invis];
|
||||
system_ -> SCI
|
||||
edge [style=invis,
|
||||
weight=10
|
||||
];
|
||||
system_;
|
||||
SCI;
|
||||
system_ -> SCI;
|
||||
networking_;
|
||||
sock;
|
||||
networking_ -> sock;
|
||||
storage_;
|
||||
FS;
|
||||
storage_ -> FS;
|
||||
memory_ [fixedsize=true,
|
||||
height=0,
|
||||
shape="",
|
||||
style=invis,
|
||||
width=0];
|
||||
MA;
|
||||
memory_ -> MA;
|
||||
processing_;
|
||||
proc;
|
||||
processing_ -> proc;
|
||||
HI_;
|
||||
char;
|
||||
HI_ -> char;
|
||||
}
|
||||
{
|
||||
graph [rank=same];
|
||||
D0;
|
||||
D0 [fixedsize=true,
|
||||
height=0,
|
||||
shape="",
|
||||
style=invis,
|
||||
width=0];
|
||||
sysfs;
|
||||
prot_fam;
|
||||
VFS;
|
||||
Tasks;
|
||||
input;
|
||||
virt;
|
||||
VM;
|
||||
virt [fillcolor="#b2d3e4",
|
||||
label="virtual\nsubsystems",
|
||||
style="filled,setlinewidth(0)"];
|
||||
VM [color="#51bf5b",
|
||||
fillcolor="#b2d3e4",
|
||||
label="Virtual\nmemory"];
|
||||
}
|
||||
{
|
||||
graph [rank=same];
|
||||
node [fontcolor=white];
|
||||
E0;
|
||||
E0 [fixedsize=true,
|
||||
height=0,
|
||||
shape="",
|
||||
style=invis,
|
||||
width=0];
|
||||
DM;
|
||||
NFS;
|
||||
mmap;
|
||||
sync;
|
||||
bridges;
|
||||
bridges [fillcolor="#91b5c9",
|
||||
shape=octagon,
|
||||
style="filled,setlinewidth(0)"];
|
||||
}
|
||||
{
|
||||
graph [rank=same];
|
||||
F0;
|
||||
F0 [fixedsize=true,
|
||||
height=0,
|
||||
shape="",
|
||||
style=invis,
|
||||
width=0];
|
||||
log_sys;
|
||||
log_prot;
|
||||
logFS;
|
||||
sched;
|
||||
F7;
|
||||
logical;
|
||||
log_mem;
|
||||
logical [fillcolor="#6a9ab1",
|
||||
style="filled,setlinewidth(0)"];
|
||||
log_mem [color="#51bf5b",
|
||||
fillcolor="#6a9ab1",
|
||||
label="logical\nmemory"];
|
||||
}
|
||||
{
|
||||
graph [rank=same];
|
||||
G0;
|
||||
G0 [fixedsize=true,
|
||||
height=0,
|
||||
shape="",
|
||||
style=invis,
|
||||
width=0];
|
||||
bus_drv;
|
||||
netif;
|
||||
block;
|
||||
PA;
|
||||
IRQ;
|
||||
G7;
|
||||
HWI;
|
||||
HWI [fillcolor="#71809b",
|
||||
label="hardware\ninterfaces",
|
||||
style="filled,setlinewidth(0)"];
|
||||
}
|
||||
{
|
||||
graph [rank=same];
|
||||
H0;
|
||||
H0 [fixedsize=true,
|
||||
height=0,
|
||||
shape="",
|
||||
style=invis,
|
||||
width=0];
|
||||
H2;
|
||||
net_hw;
|
||||
H4;
|
||||
CPU;
|
||||
H7;
|
||||
HW;
|
||||
HW [fillcolor="#777777",
|
||||
fontcolor=white,
|
||||
label="electronics,\nhardware",
|
||||
row=chip,
|
||||
style="filled,setlinewidth(0)"];
|
||||
H5 [color="#51bf5b",
|
||||
fillcolor="#777777",
|
||||
fontcolor=white,
|
||||
fontsize=10,
|
||||
label="MMU, RAM",
|
||||
row=chip];
|
||||
}
|
||||
subgraph mem {
|
||||
node [color="#51bf5b",
|
||||
height=0.5
|
||||
];
|
||||
edge [color="#51bf5b"];
|
||||
memory_;
|
||||
PC;
|
||||
mmap;
|
||||
SW;
|
||||
mmap -> SW [color="#51bf5b",
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=0];
|
||||
log_mem;
|
||||
mmap -> log_mem [color="#51bf5b",
|
||||
style="filled,setlinewidth(3)"];
|
||||
PA;
|
||||
H5;
|
||||
PA -> H5 [color="#51bf5b",
|
||||
style="filled,setlinewidth(3)"];
|
||||
log_mem -> PA [color="#51bf5b",
|
||||
style="filled,setlinewidth(3)"];
|
||||
memory;
|
||||
memory -> memory_ [arrowhead="",
|
||||
color="#51bf5b",
|
||||
row=func,
|
||||
style="filled,setlinewidth(3)"];
|
||||
MA;
|
||||
VM;
|
||||
MA -> VM [color="#51bf5b",
|
||||
style="filled,setlinewidth(3)"];
|
||||
VM -> mmap [color="#51bf5b",
|
||||
style="filled,setlinewidth(3)"];
|
||||
}
|
||||
bottom [label="© 2007-2019 Constantine Shulyupin http://www.MakeLinux.net/kernel/diagram",
|
||||
shape=plaintext];
|
||||
H4 -> bottom [weight=""];
|
||||
H4 -> bottom [style="filled,setlinewidth(3)",
|
||||
weight=""];
|
||||
layers [fillcolor=lightgray,
|
||||
height=0.1,
|
||||
style="filled,setlinewidth(0)",
|
||||
width=0.5];
|
||||
functions -> layers;
|
||||
layers -> usr [arrowhead="",
|
||||
color=gray,
|
||||
style="filled,setlinewidth(1)"];
|
||||
usr -> usr_ [arrowhead="",
|
||||
color="#d9e7eeff",
|
||||
minlen=2,
|
||||
style="filled,setlinewidth(3)"];
|
||||
usr -> virt [color="#d9e7eeff",
|
||||
style="filled,setlinewidth(3)"];
|
||||
virt -> D0 [arrowhead="",
|
||||
color="#b2d3e4",
|
||||
minlen=2,
|
||||
style="filled,setlinewidth(3)"];
|
||||
virt -> bridges [color="#b2d3e4",
|
||||
style="filled,setlinewidth(3)"];
|
||||
bridges -> E0 [arrowhead="",
|
||||
color="#91b5c9",
|
||||
minlen=2,
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=""];
|
||||
bridges -> logical [color="#91b5c9",
|
||||
style="filled,setlinewidth(3)"];
|
||||
logical -> F0 [arrowhead="",
|
||||
color="#6a9ab1",
|
||||
minlen=2,
|
||||
row=logical,
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=""];
|
||||
logical -> HWI [color="#6a9ab1",
|
||||
row=logical,
|
||||
style="filled,setlinewidth(3)"];
|
||||
HWI -> G0 [arrowhead="",
|
||||
color="#71809b",
|
||||
minlen=2,
|
||||
row=HWI,
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=""];
|
||||
HWI -> HW [color="#71809b",
|
||||
row=HWI,
|
||||
style="filled,setlinewidth(3)"];
|
||||
HW -> H0 [arrowhead="",
|
||||
color="#777777",
|
||||
minlen=2,
|
||||
row=chip,
|
||||
style="filled,setlinewidth(3)",
|
||||
weight=""];
|
||||
LKD [fontsize=20,
|
||||
label="Linux kernel diagram",
|
||||
shape=plain];
|
||||
edge [weight=10 style=invis];
|
||||
LKD -> storage;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue