The image shows there is a separate rump process
for each rump driver. You can view the svg image
here: https://hurdos.com/wiki/hurd/rump.html
---
 hurd/rump.mdwn            |  13 +-
 images/rump-processes.svg | 311 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 319 insertions(+), 5 deletions(-)
 create mode 100644 images/rump-processes.svg

diff --git a/hurd/rump.mdwn b/hurd/rump.mdwn
index 49b36d14..c4609c9e 100644
--- a/hurd/rump.mdwn
+++ b/hurd/rump.mdwn
@@ -19,17 +19,20 @@ License|/fdl]]."]]"""]]
 
 ---
 
-The rump kernels provide existing real world drivers from netbsd.
+The rump unikernels provide existing real world drivers from NetBSD
 Since [[DDE]] no longer seems like a promising approach to get drivers
-for the Hurd, it appears that rump kernels are the best alternative.
+for the Hurd, it appears that rump unikernels are the best alternative.
 It already does the hard work of providing an environment where the
 foreign drivers can run, and offers the additional benefit of being
 externally maintained. Rump also offers the necessary facilities for
 running all drivers in separate userspace processes, which is more
-desirable than drivers running in the microkernel.
+desirable than drivers running in the microkernel.  There is one rump
+process for each driver as the below image shows.
 
-A rump kernel is a minimal and portable NetBSD kernel running in
-userspace. Rump kernels provide drivers for modern hard drives, sound
+[[!img images/rump-processes.svg size="500x" alt="ftpfs logo" align="center"]]
+
+A rump unikernel is a minimal and portable NetBSD kernel running in
+userspace. Rump unikernels provide drivers for modern hard drives, sound
 cards, usb support, and a TCP/IP stack.  Instead of re-inventing and
 maintaining drivers ourselves, we can re-use the existing NetBSD
 drivers.
diff --git a/images/rump-processes.svg b/images/rump-processes.svg
new file mode 100644
index 00000000..88d075a0
--- /dev/null
+++ b/images/rump-processes.svg
@@ -0,0 +1,311 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   width="400mm"
+   height="300mm"
+   viewBox="0 0 400 300"
+   version="1.1"
+   id="svg1"
+   inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
+   sodipodi:docname="rump-processes.svg"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:svg="http://www.w3.org/2000/svg";>
+  <sodipodi:namedview
+     id="namedview1"
+     pagecolor="#ffffff"
+     bordercolor="#000000"
+     borderopacity="0.25"
+     inkscape:showpageshadow="2"
+     inkscape:pageopacity="0.0"
+     inkscape:pagecheckerboard="0"
+     inkscape:deskcolor="#d1d1d1"
+     inkscape:document-units="mm"
+     showguides="true"
+     inkscape:zoom="0.32"
+     inkscape:cx="529.6875"
+     inkscape:cy="309.375"
+     inkscape:window-width="1020"
+     inkscape:window-height="709"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="layer1" />
+  <defs
+     id="defs1">
+    <marker
+       style="overflow:visible"
+       id="ArrowTriangleStylized"
+       refX="0"
+       refY="0"
+       orient="auto-start-reverse"
+       inkscape:stockid="Stylized triangle arrow"
+       markerWidth="1"
+       markerHeight="1"
+       viewBox="0 0 1 1"
+       inkscape:isstock="true"
+       inkscape:collect="always"
+       preserveAspectRatio="xMidYMid">
+      <path
+         transform="scale(0.5)"
+         
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
+         d="m 6,0 c -3,1 -7,3 -9,5 0,0 0,-4 2,-5 -2,-1 -2,-5 -2,-5 2,2 6,4 9,5 
z"
+         id="path4" />
+    </marker>
+    <rect
+       x="322.61746"
+       y="729.20386"
+       width="291.68155"
+       height="274.00388"
+       id="rect18" />
+    <rect
+       x="324.82718"
+       y="132.58252"
+       width="287.26212"
+       height="276.21359"
+       id="rect17" />
+    <rect
+       x="64.081551"
+       y="371.23105"
+       width="194.45438"
+       height="298.31067"
+       id="rect6" />
+    <rect
+       x="99.43689"
+       y="388.90872"
+       width="371.23105"
+       height="428.6835"
+       id="rect5" />
+    <rect
+       x="50.823299"
+       y="413.21552"
+       width="174.56699"
+       height="178.9864"
+       id="rect4" />
+    <rect
+       x="318.19806"
+       y="212.13203"
+       width="302.7301"
+       height="92.807762"
+       id="rect3" />
+    <rect
+       x="324.82718"
+       y="132.58252"
+       width="287.26212"
+       height="276.21359"
+       id="rect17-4" />
+    <rect
+       x="324.82718"
+       y="132.58252"
+       width="287.26212"
+       height="276.21359"
+       id="rect17-2" />
+    <rect
+       x="322.61746"
+       y="729.20386"
+       width="291.68155"
+       height="274.00388"
+       id="rect18-1" />
+    <rect
+       x="322.61746"
+       y="729.20386"
+       width="291.68155"
+       height="274.00388"
+       id="rect18-3" />
+    <marker
+       style="overflow:visible"
+       id="ArrowTriangleStylized-5"
+       refX="0"
+       refY="0"
+       orient="auto-start-reverse"
+       inkscape:stockid="Stylized triangle arrow"
+       markerWidth="1"
+       markerHeight="1"
+       viewBox="0 0 1 1"
+       inkscape:isstock="true"
+       inkscape:collect="always"
+       preserveAspectRatio="xMidYMid">
+      <path
+         transform="scale(0.5)"
+         
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
+         d="m 6,0 c -3,1 -7,3 -9,5 0,0 0,-4 2,-5 -2,-1 -2,-5 -2,-5 2,2 6,4 9,5 
z"
+         id="path4-1" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="ArrowTriangleStylized-6"
+       refX="0"
+       refY="0"
+       orient="auto-start-reverse"
+       inkscape:stockid="Stylized triangle arrow"
+       markerWidth="1"
+       markerHeight="1"
+       viewBox="0 0 1 1"
+       inkscape:isstock="true"
+       inkscape:collect="always"
+       preserveAspectRatio="xMidYMid">
+      <path
+         transform="scale(0.5)"
+         
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
+         d="m 6,0 c -3,1 -7,3 -9,5 0,0 0,-4 2,-5 -2,-1 -2,-5 -2,-5 2,2 6,4 9,5 
z"
+         id="path4-9" />
+    </marker>
+  </defs>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <rect
+       
style="fill:none;stroke:#000000;stroke-width:5;stroke-dasharray:none;stroke-opacity:0.993514"
+       id="rect1-29"
+       width="86.528511"
+       height="86.528511"
+       x="31.773041"
+       y="184.51314" />
+    <rect
+       
style="fill:none;stroke:#000000;stroke-width:5;stroke-dasharray:none;stroke-opacity:0.993514"
+       id="rect1-7"
+       width="86.528511"
+       height="86.528511"
+       x="156.76219"
+       y="184.51314" />
+    <rect
+       
style="fill:none;stroke:#000000;stroke-width:5;stroke-dasharray:none;stroke-opacity:0.993514"
+       id="rect1-1"
+       width="86.528511"
+       height="86.528511"
+       x="281.75137"
+       y="184.51314" />
+    <rect
+       
style="fill:none;stroke:#000000;stroke-width:5;stroke-dasharray:none;stroke-opacity:0.993514"
+       id="rect1-29-4"
+       width="86.528511"
+       height="86.528511"
+       x="31.585648"
+       y="28.92532" />
+    <rect
+       
style="fill:none;stroke:#000000;stroke-width:5;stroke-dasharray:none;stroke-opacity:0.993514"
+       id="rect1-7-9"
+       width="86.528511"
+       height="86.528511"
+       x="156.70937"
+       y="28.958332" />
+    <rect
+       
style="fill:none;stroke:#000000;stroke-width:5;stroke-dasharray:none;stroke-opacity:0.993514"
+       id="rect1-1-1"
+       width="86.528511"
+       height="86.528511"
+       x="281.69836"
+       y="28.958332" />
+    <text
+       xml:space="preserve"
+       transform="matrix(0.31208788,0,0,0.50645607,-61.783649,-68.894759)"
+       id="text17"
+       
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:49.6912px;font-family:'DejaVu
 Serif';-inkscape-font-specification:'DejaVu 
Serif';text-align:start;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect17);display:inline;fill:#000000;stroke:#000000;stroke-width:0;stroke-dasharray:none;stroke-opacity:0.993514"><tspan
+         x="324.82812"
+         y="176.5471"
+         id="tspan3">
+</tspan><tspan
+         x="324.82812"
+         y="238.6611"
+         id="tspan4">
+</tspan><tspan
+         x="324.82812"
+         y="300.77509"
+         id="tspan5">Rumpnet</tspan></text>
+    <text
+       xml:space="preserve"
+       transform="matrix(0.31208788,0,0,0.50645607,193.66669,-68.52822)"
+       id="text17-28"
+       
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:49.6912px;font-family:'DejaVu
 Serif';-inkscape-font-specification:'DejaVu 
Serif';text-align:start;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect17-2);display:inline;fill:#000000;stroke:#000000;stroke-width:0;stroke-dasharray:none;stroke-opacity:0.993514"><tspan
+         x="324.82812"
+         y="176.5471"
+         id="tspan6">
+</tspan><tspan
+         x="324.82812"
+         y="238.6611"
+         id="tspan7">
+</tspan><tspan
+         x="324.82812"
+         y="300.77509"
+         id="tspan8">Rumpfs</tspan></text>
+    <text
+       xml:space="preserve"
+       transform="matrix(0.31208788,0,0,0.50645607,59.462815,-68.536953)"
+       id="text17-2"
+       
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:49.6912px;font-family:'DejaVu
 Serif';-inkscape-font-specification:'DejaVu 
Serif';text-align:start;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect17-4);display:inline;fill:#000000;stroke:#000000;stroke-width:0;stroke-dasharray:none;stroke-opacity:0.993514"><tspan
+         x="324.82812"
+         y="176.5471"
+         id="tspan9">
+</tspan><tspan
+         x="324.82812"
+         y="238.6611"
+         id="tspan10">
+</tspan><tspan
+         x="324.82812"
+         y="300.77509"
+         id="tspan11">Rumpdisk</tspan></text>
+    <text
+       xml:space="preserve"
+       transform="matrix(0.26458333,0,0,0.26458333,-49.096535,0)"
+       id="text18"
+       
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:74.6667px;font-family:'DejaVu
 Serif';-inkscape-font-specification:'DejaVu 
Serif';text-align:start;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect18);display:inline;fill:#000000;stroke:#000000;stroke-width:0;stroke-dasharray:none;stroke-opacity:0.993514"><tspan
+         x="322.61719"
+         y="795.26566"
+         id="tspan12"> Rump
+</tspan><tspan
+         x="322.61719"
+         y="888.59903"
+         id="tspan13">process
+</tspan><tspan
+         x="322.61719"
+         y="981.9324"
+         id="tspan14">     1</tspan></text>
+    <text
+       xml:space="preserve"
+       transform="matrix(0.26458333,0,0,0.26458333,76.170135,0.1468507)"
+       id="text18-2"
+       
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:74.6667px;font-family:'DejaVu
 Serif';-inkscape-font-specification:'DejaVu 
Serif';text-align:start;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect18-1);display:inline;fill:#000000;stroke:#000000;stroke-width:0;stroke-dasharray:none;stroke-opacity:0.993514"><tspan
+         x="322.61719"
+         y="795.26566"
+         id="tspan15"> Rump
+</tspan><tspan
+         x="322.61719"
+         y="888.59903"
+         id="tspan16">process
+</tspan><tspan
+         x="322.61719"
+         y="981.9324"
+         id="tspan17">     2</tspan></text>
+    <text
+       xml:space="preserve"
+       transform="matrix(0.26458333,0,0,0.26458333,200.12306,-0.98854577)"
+       id="text18-5"
+       
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:74.6667px;font-family:'DejaVu
 Serif';-inkscape-font-specification:'DejaVu 
Serif';text-align:start;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect18-3);display:inline;fill:#000000;stroke:#000000;stroke-width:0;stroke-dasharray:none;stroke-opacity:0.993514"><tspan
+         x="322.61719"
+         y="795.26566"
+         id="tspan18"> Rump
+</tspan><tspan
+         x="322.61719"
+         y="888.59903"
+         id="tspan19">process
+</tspan><tspan
+         x="322.61719"
+         y="981.9324"
+         id="tspan20">     3</tspan></text>
+    <path
+       
style="fill:#000000;stroke:#000000;stroke-width:3.64709;stroke-dasharray:none;stroke-opacity:0.993514;marker-start:url(#ArrowTriangleStylized);marker-end:url(#ArrowTriangleStylized)"
+       d="m 73.680405,138.17955 v 23.64089"
+       id="path18" />
+    <path
+       
style="fill:#000000;stroke:#000000;stroke-width:3.64709;stroke-dasharray:none;stroke-opacity:0.993514;marker-start:url(#ArrowTriangleStylized-5);marker-end:url(#ArrowTriangleStylized-5)"
+       d="m 200.90346,138.17955 v 23.64089"
+       id="path18-3" />
+    <path
+       
style="fill:#000000;stroke:#000000;stroke-width:3.64709;stroke-dasharray:none;stroke-opacity:0.993514;marker-start:url(#ArrowTriangleStylized-6);marker-end:url(#ArrowTriangleStylized-6)"
+       d="m 324.37704,138.17955 v 23.64089"
+       id="path18-2" />
+  </g>
+</svg>
-- 
2.53.0


Reply via email to