aboutsummaryrefslogtreecommitdiffhomepage
path: root/content/2023-01-14-xpost-matcha-threads/os-vs-user-threads.drawio
diff options
context:
space:
mode:
Diffstat (limited to 'content/2023-01-14-xpost-matcha-threads/os-vs-user-threads.drawio')
-rw-r--r--content/2023-01-14-xpost-matcha-threads/os-vs-user-threads.drawio184
1 files changed, 184 insertions, 0 deletions
diff --git a/content/2023-01-14-xpost-matcha-threads/os-vs-user-threads.drawio b/content/2023-01-14-xpost-matcha-threads/os-vs-user-threads.drawio
new file mode 100644
index 0000000..d927873
--- /dev/null
+++ b/content/2023-01-14-xpost-matcha-threads/os-vs-user-threads.drawio
@@ -0,0 +1,184 @@
+<mxfile host="Electron" modified="2024-04-28T17:23:14.014Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/23.1.5 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="TuK57NxBkEhxkh0WYATU" version="23.1.5" type="device">
+ <diagram name="Page-1" id="eupsqoG42ICuPfNcTmHv">
+ <mxGraphModel dx="231" dy="139" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
+ <root>
+ <mxCell id="0" />
+ <mxCell id="1" parent="0" />
+ <mxCell id="6WErTb2tg34p5fqduLaV-2" value="" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=monospace;fillColor=none;" parent="1" vertex="1">
+ <mxGeometry x="360" y="290" width="120" height="260" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-3" value="&lt;font&gt;process address space&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=monospace;" parent="1" vertex="1">
+ <mxGeometry x="360" y="250" width="120" height="30" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-7" value="stack A" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=monospace;strokeColor=#50fa7b;fillColor=none;" parent="1" vertex="1">
+ <mxGeometry x="360" y="320" width="120" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-8" value="stack B" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=monospace;strokeColor=#55FFFF;fillColor=none;" parent="1" vertex="1">
+ <mxGeometry x="360" y="400" width="120" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-9" value="stack C" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=monospace;strokeColor=#FF55FF;fillColor=none;" parent="1" vertex="1">
+ <mxGeometry x="360" y="480" width="120" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-17" value="" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=monospace;fillColor=none;" parent="1" vertex="1">
+ <mxGeometry x="820" y="290" width="120" height="260" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-18" value="&lt;font&gt;process address space&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=monospace;" parent="1" vertex="1">
+ <mxGeometry x="820" y="250" width="120" height="30" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-20" value="stack S" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=monospace;strokeColor=#ffffff;fillColor=none;" parent="1" vertex="1">
+ <mxGeometry x="820" y="500" width="120" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-21" value="stack A" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=monospace;strokeColor=#50FA7B;fillColor=none;" parent="1" vertex="1">
+ <mxGeometry x="820" y="320" width="120" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-22" value="stack C" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=monospace;strokeColor=#FF55FF;fillColor=none;" parent="1" vertex="1">
+ <mxGeometry x="820" y="440" width="120" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-23" value="&lt;font size=&quot;1&quot;&gt;&lt;i style=&quot;font-size: 8px;&quot;&gt;user thread&lt;/i&gt;&lt;/font&gt;" style="text;html=1;align=left;verticalAlign=bottom;whiteSpace=wrap;rounded=0;fontFamily=monospace;" parent="1" vertex="1">
+ <mxGeometry x="560" y="410" width="60" height="10" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-28" value="stack B" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=monospace;strokeColor=#55FFFF;fillColor=none;" parent="1" vertex="1">
+ <mxGeometry x="820" y="380" width="120" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-29" value="&lt;font&gt;thread&lt;br&gt;S&lt;br&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=monospace;strokeColor=#ffffff;fillColor=none;" parent="1" vertex="1">
+ <mxGeometry x="560" y="500" width="220" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-30" value="&lt;font size=&quot;1&quot;&gt;&lt;i style=&quot;font-size: 8px;&quot;&gt;OS thread&lt;/i&gt;&lt;/font&gt;" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=monospace;" parent="1" vertex="1">
+ <mxGeometry x="560" y="540" width="50" height="10" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-31" value="&lt;font size=&quot;1&quot;&gt;&lt;i style=&quot;font-size: 8px;&quot;&gt;user thread&lt;/i&gt;&lt;/font&gt;" style="text;html=1;align=left;verticalAlign=bottom;whiteSpace=wrap;rounded=0;fontFamily=monospace;" parent="1" vertex="1">
+ <mxGeometry x="640" y="410" width="60" height="10" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-32" value="&lt;font size=&quot;1&quot;&gt;&lt;i style=&quot;font-size: 8px;&quot;&gt;user thread&lt;/i&gt;&lt;/font&gt;" style="text;html=1;align=left;verticalAlign=bottom;whiteSpace=wrap;rounded=0;fontFamily=monospace;" parent="1" vertex="1">
+ <mxGeometry x="720" y="410" width="60" height="10" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-38" value="" style="endArrow=blockThin;html=1;rounded=0;startSize=0;entryX=0.167;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endFill=1;" parent="1" target="6WErTb2tg34p5fqduLaV-19" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="570" y="500" as="sourcePoint" />
+ <mxPoint x="570" y="470" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-39" value="" style="endArrow=blockThin;html=1;rounded=0;startSize=0;entryX=0.167;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endFill=1;" parent="1" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="609.9985074626868" y="460" as="sourcePoint" />
+ <mxPoint x="609.9985074626868" y="500" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-41" value="&lt;font size=&quot;1&quot;&gt;&lt;i style=&quot;font-size: 8px;&quot;&gt;yield&lt;/i&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=monospace;" parent="1" vertex="1">
+ <mxGeometry x="575" y="470" width="30" height="20" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-42" value="" style="endArrow=blockThin;html=1;rounded=0;startSize=0;entryX=0.167;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endFill=1;" parent="1" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="649.89" y="500" as="sourcePoint" />
+ <mxPoint x="649.89" y="460" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-43" value="" style="endArrow=blockThin;html=1;rounded=0;startSize=0;entryX=0.167;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endFill=1;" parent="1" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="689.8885074626868" y="460" as="sourcePoint" />
+ <mxPoint x="689.8885074626868" y="500" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-44" value="&lt;font size=&quot;1&quot;&gt;&lt;i style=&quot;font-size: 8px;&quot;&gt;yield&lt;/i&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=monospace;" parent="1" vertex="1">
+ <mxGeometry x="654.89" y="470" width="30" height="20" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-45" value="" style="endArrow=blockThin;html=1;rounded=0;startSize=0;entryX=0.167;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endFill=1;" parent="1" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="729.89" y="500" as="sourcePoint" />
+ <mxPoint x="729.89" y="460" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-46" value="" style="endArrow=blockThin;html=1;rounded=0;startSize=0;entryX=0.167;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;endFill=1;" parent="1" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="769.8885074626868" y="460" as="sourcePoint" />
+ <mxPoint x="769.8885074626868" y="500" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-47" value="&lt;font size=&quot;1&quot;&gt;&lt;i style=&quot;font-size: 8px;&quot;&gt;yield&lt;/i&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=monospace;" parent="1" vertex="1">
+ <mxGeometry x="734.89" y="470" width="30" height="20" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-19" value="&lt;font&gt;thread&lt;br&gt;A&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=monospace;strokeColor=#50fa7b;fillColor=none;" parent="1" vertex="1">
+ <mxGeometry x="560" y="420" width="60" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-24" value="&lt;font&gt;thread&lt;br&gt;B&lt;br&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=monospace;strokeColor=#55FFFF;fillColor=none;" parent="1" vertex="1">
+ <mxGeometry x="640" y="420" width="60" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-26" value="&lt;font&gt;thread&lt;br&gt;C&lt;br&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=monospace;strokeColor=#FF55FF;fillColor=none;" parent="1" vertex="1">
+ <mxGeometry x="720" y="420" width="60" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-51" value="" style="endArrow=blockThin;html=1;rounded=0;startSize=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endFill=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="6WErTb2tg34p5fqduLaV-5" target="6WErTb2tg34p5fqduLaV-7" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="659.9985074626868" y="370" as="sourcePoint" />
+ <mxPoint x="659.9985074626868" y="410" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-52" value="" style="endArrow=blockThin;html=1;rounded=0;startSize=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endFill=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="320" y="420" as="sourcePoint" />
+ <mxPoint x="360" y="420" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-53" value="" style="endArrow=blockThin;html=1;rounded=0;startSize=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endFill=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="320" y="500" as="sourcePoint" />
+ <mxPoint x="360" y="500" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-5" value="&lt;font&gt;thread&lt;br&gt;A&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=monospace;strokeColor=#50fa7b;fillColor=none;" parent="1" vertex="1">
+ <mxGeometry x="260" y="320" width="60" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-10" value="&lt;font size=&quot;1&quot;&gt;&lt;i style=&quot;font-size: 8px;&quot;&gt;OS thread&lt;/i&gt;&lt;/font&gt;" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=monospace;" parent="1" vertex="1">
+ <mxGeometry x="260" y="360" width="50" height="10" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-11" value="&lt;font&gt;thread&lt;br&gt;B&lt;br&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=monospace;strokeColor=#55FFFF;fillColor=none;" parent="1" vertex="1">
+ <mxGeometry x="260" y="400" width="60" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-12" value="&lt;font size=&quot;1&quot;&gt;&lt;i style=&quot;font-size: 8px;&quot;&gt;OS thread&lt;/i&gt;&lt;/font&gt;" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=monospace;" parent="1" vertex="1">
+ <mxGeometry x="260" y="440" width="50" height="10" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-13" value="&lt;font&gt;thread&lt;br&gt;C&lt;br&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=monospace;strokeColor=#FF55FF;fillColor=none;" parent="1" vertex="1">
+ <mxGeometry x="260" y="480" width="60" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-14" value="&lt;font size=&quot;1&quot;&gt;&lt;i style=&quot;font-size: 8px;&quot;&gt;OS thread&lt;/i&gt;&lt;/font&gt;" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=monospace;" parent="1" vertex="1">
+ <mxGeometry x="260" y="520" width="50" height="10" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-54" value="&lt;font size=&quot;1&quot;&gt;&lt;i style=&quot;font-size: 8px;&quot;&gt;sp&lt;/i&gt;&lt;/font&gt;" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=monospace;" parent="1" vertex="1">
+ <mxGeometry x="320" y="340" width="20" height="10" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-55" value="&lt;font size=&quot;1&quot;&gt;&lt;i style=&quot;font-size: 8px;&quot;&gt;sp&lt;/i&gt;&lt;/font&gt;" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=monospace;" parent="1" vertex="1">
+ <mxGeometry x="320" y="420" width="20" height="10" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-56" value="&lt;font size=&quot;1&quot;&gt;&lt;i style=&quot;font-size: 8px;&quot;&gt;sp&lt;/i&gt;&lt;/font&gt;" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=monospace;" parent="1" vertex="1">
+ <mxGeometry x="320" y="500" width="20" height="10" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-59" value="&lt;font size=&quot;1&quot;&gt;&lt;i style=&quot;font-size: 8px;&quot;&gt;sp&lt;/i&gt;&lt;/font&gt;" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=monospace;" parent="1" vertex="1">
+ <mxGeometry x="780" y="520" width="20" height="10" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-60" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;fillColor=#76608a;strokeColor=#B3B3B3;" parent="1" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="520" y="560" as="sourcePoint" />
+ <mxPoint x="520" y="240" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="iekysqo_5NKT5N1MqhNL-1" value="" style="endArrow=blockThin;html=1;rounded=0;startSize=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endFill=1;exitX=1;exitY=0;exitDx=0;exitDy=0;edgeStyle=orthogonalEdgeStyle;dashed=1;strokeColor=#50FA7B;" parent="1" source="6WErTb2tg34p5fqduLaV-59" target="6WErTb2tg34p5fqduLaV-21" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="790" y="530" as="sourcePoint" />
+ <mxPoint x="830" y="530" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="800" y="340" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="iekysqo_5NKT5N1MqhNL-2" value="&lt;font size=&quot;1&quot;&gt;&lt;i style=&quot;font-size: 8px;&quot;&gt;sp when yielding to A&lt;/i&gt;&lt;/font&gt;" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=monospace;horizontal=0;" parent="1" vertex="1">
+ <mxGeometry x="800" y="390" width="10" height="120" as="geometry" />
+ </mxCell>
+ <mxCell id="6WErTb2tg34p5fqduLaV-58" value="" style="endArrow=blockThin;html=1;rounded=0;startSize=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endFill=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="780" y="520" as="sourcePoint" />
+ <mxPoint x="820" y="520" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ </root>
+ </mxGraphModel>
+ </diagram>
+</mxfile>