This commit is contained in:
Costa Shulyupin 2021-12-24 07:39:42 +02:00
parent d65d7f3ded
commit 0c66915817
1 changed files with 31 additions and 43 deletions

View File

@ -1,6 +1,5 @@
digraph "Linux_kernel_diagram" { digraph "Linux_kernel_diagram" {
graph [ graph [
newrank = true, newrank = true,
nodesep = 0.3, nodesep = 0.3,
ranksep = 0.2, ranksep = 0.2,
@ -17,7 +16,6 @@ digraph "Linux_kernel_diagram" {
width = 2.2 width = 2.2
] ]
edge [ edge [
arrowhead = none, arrowhead = none,
arrowsize = 0.5, arrowsize = 0.5,
labelfontname = "Ubuntu", labelfontname = "Ubuntu",
@ -43,8 +41,8 @@ digraph "Linux_kernel_diagram" {
width = 2] width = 2]
system -> system_ [ system -> system_ [
arrowhead = "", arrowhead = "",
row = func] row = func];
SCI [ SCI [
URL = "https://en.wikibooks.org/wiki/The_Linux_Kernel/Syscalls", URL = "https://en.wikibooks.org/wiki/The_Linux_Kernel/Syscalls",
fillcolor = "#d9e7ee", fillcolor = "#d9e7ee",
fixedsize = true, fixedsize = true,
@ -82,8 +80,8 @@ digraph "Linux_kernel_diagram" {
bus_drv -> buses bus_drv -> buses
} }
subgraph networking { subgraph networking {
node [ color = "#61c2c5"] node [color = "#61c2c5"]
edge [ color = "#61c2c5"] edge [color = "#61c2c5"]
networking_ [ networking_ [
fixedsize = true, fixedsize = true,
height = 0, height = 0,
@ -135,11 +133,11 @@ digraph "Linux_kernel_diagram" {
label = NFS, label = NFS,
shape = octagon, shape = octagon,
width = 1.2] width = 1.2]
NFS -> log_prot [ weight = 0] NFS -> log_prot [weight = 0]
} }
subgraph processing { subgraph processing {
node [ color = "#c46747"] node [color = "#c46747"]
edge [ color = "#c46747"] edge [color = "#c46747"]
processing_ [ processing_ [
fixedsize = true, fixedsize = true,
height = 0, height = 0,
@ -194,9 +192,9 @@ digraph "Linux_kernel_diagram" {
subgraph mem { subgraph mem {
node [ node [
color = "#51bf5b", color = "#51bf5b",
height = 0.5 height = 1
] ]
edge [ color = "#51bf5b"] edge [color = "#51bf5b"]
MA [ MA [
color = "#51bf5b", color = "#51bf5b",
fillcolor = "#d9e7ee", fillcolor = "#d9e7ee",
@ -216,7 +214,6 @@ digraph "Linux_kernel_diagram" {
width = 2] width = 2]
mmap -> log_mem mmap -> log_mem
log_mem -> PA log_mem -> PA
//VFS -> SW [ style = invis]
SW [ SW [
color = "#8383cc", color = "#8383cc",
fillcolor = "#91b5c9", fillcolor = "#91b5c9",
@ -225,7 +222,7 @@ digraph "Linux_kernel_diagram" {
height = 0.8, height = 0.8,
shape = octagon, shape = octagon,
width = 1.2] width = 1.2]
mmap -> SW [ weight = 1] mmap -> SW [weight = 1]
SW -> block [ SW -> block [
color = "#8383cc", weight = 1] color = "#8383cc", weight = 1]
PA [ PA [
@ -248,8 +245,8 @@ digraph "Linux_kernel_diagram" {
VM -> mmap VM -> mmap
} // mem } // mem
subgraph storage { subgraph storage {
node [ color = "#8383cc"] node [color = "#8383cc"]
edge [ color = "#8383cc"] edge [color = "#8383cc"]
NFS; NFS;
storage_ [ storage_ [
shape = point, shape = point,
@ -277,9 +274,8 @@ digraph "Linux_kernel_diagram" {
fillcolor = "#b2d3e4", fillcolor = "#b2d3e4",
label = "Virtual\nFile System"] label = "Virtual\nFile System"]
FS -> VFS FS -> VFS
VFS -> mmap [ weight = 0] VFS -> mmap [weight = 0]
VFS -> NFS [ VFS -> NFS [weight = 0]
weight = 0]
logFS [ logFS [
fillcolor = "#6a9ab1", fillcolor = "#6a9ab1",
fontsize = 20, fontsize = 20,
@ -293,7 +289,7 @@ digraph "Linux_kernel_diagram" {
label = "page\ncache", label = "page\ncache",
shape = octagon, shape = octagon,
width = 1.2] width = 1.2]
VFS -> PC [ weight = 0] VFS -> PC [weight = 0]
block [ block [
fillcolor = "#71809b", fillcolor = "#71809b",
fontsize = 20, fontsize = 20,
@ -360,16 +356,15 @@ digraph "Linux_kernel_diagram" {
HID -> display HID -> display
} // HI } // HI
subgraph functions { subgraph functions {
graph [ graph [rank = same]
rank = same]
edge [ edge [
style = invis, style = invis,
weight = 1 weight = 1
] ]
system; system;
networking; networking;
system -> processing [ weight = 1] system -> processing [weight = 1]
storage -> networking [ weight = 1] storage -> networking [weight = 1]
memory [ memory [
color = "#51bf5b", color = "#51bf5b",
URL = "https://en.wikibooks.org/wiki/The_Linux_Kernel/Memory", URL = "https://en.wikibooks.org/wiki/The_Linux_Kernel/Memory",
@ -378,16 +373,15 @@ digraph "Linux_kernel_diagram" {
height = 0.6, height = 0.6,
row = func, row = func,
width = 2] width = 2]
memory -> storage [ weight = 1] memory -> storage [weight = 1]
processing -> memory [ processing -> memory [weight = 1]
weight = 1]
functions_ [ functions_ [
fixedsize = true, fixedsize = true,
height = 0, height = 0,
shape = point shape = point
style = invis, style = invis,
width = 0] width = 0]
functions_ -> HI -> system [ weight = 1] functions_ -> HI -> system [weight = 1]
functions [ functions [
color = gray, color = gray,
tooltip = "Columns represent main functionalities of the kernel", tooltip = "Columns represent main functionalities of the kernel",
@ -405,7 +399,7 @@ digraph "Linux_kernel_diagram" {
weight = ""] weight = ""]
} }
subgraph interfaces { subgraph interfaces {
graph [ rank = same] graph [rank = same]
SCI; SCI;
sock; sock;
FS; FS;
@ -427,7 +421,7 @@ digraph "Linux_kernel_diagram" {
MA; MA;
} }
{ {
edge [ style = invis weight = 10 ] edge [style = invis weight = 10 ]
system_; system_;
SCI; SCI;
system_ -> SCI; system_ -> SCI;
@ -453,8 +447,7 @@ digraph "Linux_kernel_diagram" {
memory_ -> MA; memory_ -> MA;
} }
subgraph virtual { subgraph virtual {
graph [ graph [rank = same]
rank = same]
sysfs; sysfs;
prot_fam; prot_fam;
VFS; VFS;
@ -478,8 +471,7 @@ digraph "Linux_kernel_diagram" {
label = "Virtual\nmemory"] label = "Virtual\nmemory"]
} }
subgraph bridges { subgraph bridges {
graph [ graph [rank = same]
rank = same]
bridges [ bridges [
fillcolor = "#91b5c9", fillcolor = "#91b5c9",
shape = octagon, shape = octagon,
@ -499,8 +491,7 @@ digraph "Linux_kernel_diagram" {
//PC //PC
} }
subgraph logical { subgraph logical {
graph [ graph [rank = same]
rank = same]
log_sys; log_sys;
log_prot; log_prot;
logFS; logFS;
@ -522,7 +513,7 @@ digraph "Linux_kernel_diagram" {
//SW //SW
} }
subgraph HWI { subgraph HWI {
graph [ rank = same] graph [rank = same]
HWI [ HWI [
fillcolor = "#71809b", fillcolor = "#71809b",
label = "hardware\ninterfaces", label = "hardware\ninterfaces",
@ -541,8 +532,7 @@ digraph "Linux_kernel_diagram" {
width = 0] width = 0]
} }
subgraph HW { subgraph HW {
graph [ graph [rank = same]
rank = same]
HW [ HW [
fillcolor = "#777777", fillcolor = "#777777",
fontcolor = white, fontcolor = white,
@ -566,16 +556,14 @@ digraph "Linux_kernel_diagram" {
label = "© 2007-2021 Constantine Shulyupin http://www.MakeLinux.net/kernel/diagram", label = "© 2007-2021 Constantine Shulyupin http://www.MakeLinux.net/kernel/diagram",
shape = plaintext, shape = plaintext,
style = ""] style = ""]
CPU -> bottom [ CPU -> bottom [style = invis]
style = invis]
layers [ layers [
fillcolor = lightgray, fillcolor = lightgray,
tooltip = "Functionalities are divided to common layers. It is approximate division.", tooltip = "Functionalities are divided to common layers. It is approximate division.",
height = 0.1, height = 0.1,
style = "filled,setlinewidth(0)", style = "filled,setlinewidth(0)",
width = 0.5] width = 0.5]
functions -> layers [ functions -> layers [style = invis ]
style = invis ]
usr -> usr_ [ usr -> usr_ [
arrowhead = "", arrowhead = "",
color = "#d9e7eeff", color = "#d9e7eeff",
@ -635,5 +623,5 @@ digraph "Linux_kernel_diagram" {
label = "Linux kernel diagram", label = "Linux kernel diagram",
shape = plain, shape = plain,
style = ""] style = ""]
LKD -> processing [ style = invis] LKD -> processing [style = invis]
} }