aboutsummaryrefslogtreecommitdiffhomepage
path: root/content/2023-01-14-xpost-matcha-threads/os-vs-user-threads.drawio
blob: d927873511ba2b249ac23ebfd93edc755265d5be (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
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>