diff options
author | Johannes Stoelp <johannes.stoelp@gmail.com> | 2024-04-28 18:31:51 +0200 |
---|---|---|
committer | Johannes Stoelp <johannes.stoelp@gmail.com> | 2024-04-28 18:31:51 +0200 |
commit | 81779e3dd91e147c883974588a3be0410f225d42 (patch) | |
tree | 75b75cb5eab276bf801a4a5021ca88b2c34c33b2 /content/2023-01-14-xpost-matcha-threads/os-vs-user-threads.drawio | |
parent | 801e1f4793faa64b8de4c2b92a9c5dbcd818b969 (diff) | |
download | blog-81779e3dd91e147c883974588a3be0410f225d42.tar.gz blog-81779e3dd91e147c883974588a3be0410f225d42.zip |
xpost: add figure to match threads
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.drawio | 185 |
1 files changed, 185 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..1eacde1 --- /dev/null +++ b/content/2023-01-14-xpost-matcha-threads/os-vs-user-threads.drawio @@ -0,0 +1,185 @@ +<mxfile host="Electron" modified="2024-04-28T16:20:12.227Z" 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="2RwH5VfZZgyXLsWH8aob" version="23.1.5" type="device"> + <diagram name="Page-1" id="eupsqoG42ICuPfNcTmHv"> + <mxGraphModel dx="1024" dy="615" 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="<font>process address space</font>" 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="<font>process address space</font>" 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="<font size="1"><i style="font-size: 8px;">user thread</i></font>" 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="<font>thread<br>S<br></font>" 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="<font size="1"><i style="font-size: 8px;">OS thread</i></font>" 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="<font size="1"><i style="font-size: 8px;">user thread</i></font>" 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="<font size="1"><i style="font-size: 8px;">user thread</i></font>" 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="<font size="1"><i style="font-size: 8px;">yield</i></font>" 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="<font size="1"><i style="font-size: 8px;">yield</i></font>" 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="<font size="1"><i style="font-size: 8px;">yield</i></font>" 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="<font>thread<br>A</font>" 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="<font>thread<br>B<br></font>" 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="<font>thread<br>C<br></font>" 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="<font>thread<br>A</font>" 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="<font size="1"><i style="font-size: 8px;">OS thread</i></font>" 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="<font>thread<br>B<br></font>" 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="<font size="1"><i style="font-size: 8px;">OS thread</i></font>" 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="<font>thread<br>C<br></font>" 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="<font size="1"><i style="font-size: 8px;">OS thread</i></font>" 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="<font size="1"><i style="font-size: 8px;">sp</i></font>" 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="<font size="1"><i style="font-size: 8px;">sp</i></font>" 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="<font size="1"><i style="font-size: 8px;">sp</i></font>" 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="<font size="1"><i style="font-size: 8px;">sp</i></font>" 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=0;exitY=0;exitDx=0;exitDy=0;edgeStyle=orthogonalEdgeStyle;dashed=1;strokeColor=#50FA7B;" edge="1" parent="1" source="6WErTb2tg34p5fqduLaV-59" target="6WErTb2tg34p5fqduLaV-21"> + <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="520" /> + <mxPoint x="800" y="340" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="iekysqo_5NKT5N1MqhNL-2" value="<font size="1"><i style="font-size: 8px;">sp when yielding to A</i></font>" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=monospace;horizontal=0;" vertex="1" parent="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> |