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

The previous patch for this missed a period after "NetBSD"
in the first sentence.

---
 hurd/rump.mdwn            |  15 +-
 images/rump-processes.svg | 312 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 321 insertions(+), 6 deletions(-)
 create mode 100644 images/rump-processes.svg

diff --git a/hurd/rump.mdwn b/hurd/rump.mdwn
index 49b36d14..d3c1c697 100644
--- a/hurd/rump.mdwn
+++ b/hurd/rump.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2009, 2010, 2011, 2024 Free Software
+[[!meta copyright="Copyright © 2009, 2010, 2011, 2024, 2026 Free Software
 Foundation, Inc."]]
 
 [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -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..68ddd05b
--- /dev/null
+++ b/images/rump-processes.svg
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Copyright © 2026 Free Software Foundation
+
+Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
+can be found at https://www.gnu.org/licenses/fdl-1.3.html -->
+
+<!-- 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