Files
blog_os/blog/content/second-edition/posts/12-threads/thread.svg
2020-02-11 10:32:02 +01:00

3 lines
20 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="512px" height="312px" viewBox="-0.5 -0.5 512 312" content="&lt;mxfile host=&quot;www.draw.io&quot; modified=&quot;2020-01-29T12:47:40.392Z&quot; agent=&quot;Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0&quot; version=&quot;12.6.1&quot; etag=&quot;5GNg0MCfDgBNI85AoM9Z&quot; type=&quot;google&quot;&gt;&lt;diagram id=&quot;RHb35jBY0w0vBrfbbpfz&quot;&gt;7Vtbb9owFP41vE44KRAeW9pdpE1CY9O2RzcxwWqIkWNu+/VzsJ2bncJGiJcqfWjt4/v3fTk5x4WBO1sfPlC4WX0hAYoGzjA4DNzHgePcTcb8d2o4CoPrAWEIKQ6EqWBY4N9IGofSusUBSkodGSERw5uy0SdxjHxWskFKyb7cbUmi8qobGCLNsPBhpFt/4ICthNVzJrn9I8LhSq0MxlPRsoaqszxJsoIB2RdM7tPAnVFCmCitDzMUpdgpXMS49zWt2cYoitklAxwxYAejrTzbbP6dG2aEIv6Hz6c2yo7q9JRs4wClEwwH7sN+hRlabKCftu453dy2YuuI1wAvJoySFzQjEaGn0e7w9MNbljiKCvbl6YfbI/iMojlJMMMk5m0+PwrinR52iDLMSfhc6cBIuiaMcGjsfi8bngljZM0b5JF5MzrUwgYyMriIEVkjRo+8i1KwREXq15PVfS4GMJa2VVEICk0oBRhmM+cc8YKkyUyZq1H2KeYob/0THM5wTvAJgbZoQ2Pf7whtXpm2jI4ibwbammDtTmNNIyjkDG1eeTDqOamFRjpA+KzWGP4tZNMKZBMdssmNIBtpkH1FIU64TJLrxH1zqdY9I//AYJGpOzNTLVAxPq/eG7iXmMToSmzUAF21oxtBNek4VAaf6N4IKq/jULntvT6mBqjGEV/gIcA7XgzT4oJB/0XZ+YyFJkPvLE4w9++jB82JjO2FD2reukDd6QN1szdzLEbqAGikWQ3VPR915mFzbD5selasUSSC9dvF3VkoZyHwBnqK2dXIW0n+yshbKMJK6A0uyBwtR0l16LQffAM9Z+wYWC2G3+D/z+rOgNViAA5Med1biMC7FBS4dxaDAjvZKrcHEHlLv6EcBpQRNPkbk3MeNYGgnsR+W1EEAz7nvYYlPyN7DTDpRgye5awk1zgI0mWMDJU5bADyimZNTsuUgTShWTVHMQGZt+jju+BTQCVDzPhqwac4eoK46Pmp8FN9ftrk54JE8MYXY00gOLHn803/rewVXuHHs6hwPbvsPZCWklnkx05CK655naY8UBbz2PBAepbbe6AqPzbfsXpi3XugM5fhrfJjLe/NriaaQHBq0QPpeW/vgbSbPHsKVy+n3gO9wo/FLNnVs2SNHRQH9+kHe1M8Ipgk2C8Tgg6Y/Uy5ezeStV+SybT8eChWjqoS840WBqXVX2q+tJIPO9XUOLE5FFQ+Q5yQLfWRcj/CxiANkYLqYk4u9FkURZDhXXkXJiLkCqfr6Np7q+zuVc0gziMH5Wxq8wCVYyjpDJ3yRAIEbSLOJzwWum3SDkn9fsF0VF5H6rF2X9WgtNyfF8QOco1mFFwm2wsuD7omW0+XrXrq35xuqxHDtDJPQ7LV3nzXyZBX828PiO75VzDcpz8=&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><rect x="0" y="25.5" width="240" height="180" fill="#ffffff" stroke="#000000" stroke-width="1.5" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-end; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 14px; margin-left: 2px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">CPU Core 1 </div></div></div></foreignObject><text x="80" y="14" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">CPU Core 1 </text></switch></g><rect x="60" y="85.5" width="15" height="30" fill="#ffe6cc" stroke="#000000" stroke-width="1.5" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-end; justify-content: unsafe center; width: 8px; height: 1px; padding-top: 54px; margin-left: 42px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Instruction Pointer</div></div></div></foreignObject><text x="45" y="54" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">I...</text></switch></g><rect x="75" y="160.5" width="105" height="30" fill="#ffffff" stroke="#000000" stroke-width="1.5" pointer-events="all"/><rect x="75" y="160.5" width="105" height="30" fill="#ffe6cc" stroke="#000000" stroke-width="1.5" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-end; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 104px; margin-left: 52px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Registers</div></div></div></foreignObject><text x="85" y="104" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Registers</text></switch></g><rect x="90" y="160.5" width="75" height="30" fill="none" stroke="#000000" stroke-width="1.5" pointer-events="all"/><rect x="105" y="160.5" width="45" height="30" fill="none" stroke="#000000" stroke-width="1.5" pointer-events="all"/><rect x="120" y="160.5" width="15" height="30" fill="none" stroke="#000000" stroke-width="1.5" pointer-events="all"/><rect x="180" y="85.5" width="15" height="30" fill="#ffe6cc" stroke="#000000" stroke-width="1.5" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-end; justify-content: unsafe center; width: 8px; height: 1px; padding-top: 54px; margin-left: 122px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div>Stack</div><div>Pointer</div></div></div></div></foreignObject><text x="125" y="54" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">S...</text></switch></g><rect x="270" y="25.5" width="240" height="180" fill="#ffffff" stroke="#000000" stroke-width="1.5" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-end; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 14px; margin-left: 182px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">CPU Core 2 </div></div></div></foreignObject><text x="260" y="14" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">CPU Core 2 </text></switch></g><rect x="330" y="85.5" width="15" height="30" fill="#f8cecc" stroke="#000000" stroke-width="1.5" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-end; justify-content: unsafe center; width: 8px; height: 1px; padding-top: 54px; margin-left: 222px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Instruction Pointer</div></div></div></foreignObject><text x="225" y="54" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">I...</text></switch></g><rect x="345" y="160.5" width="105" height="30" fill="#f8cecc" stroke="#000000" stroke-width="1.5" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-end; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 104px; margin-left: 232px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Registers</div></div></div></foreignObject><text x="265" y="104" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Registers</text></switch></g><rect x="360" y="160.5" width="75" height="30" fill="none" stroke="#000000" stroke-width="1.5" pointer-events="all"/><rect x="375" y="160.5" width="45" height="30" fill="none" stroke="#000000" stroke-width="1.5" pointer-events="all"/><rect x="390" y="160.5" width="15" height="30" fill="none" stroke="#000000" stroke-width="1.5" pointer-events="all"/><rect x="450" y="85.5" width="15" height="30" fill="#f8cecc" stroke="#000000" stroke-width="1.5" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-end; justify-content: unsafe center; width: 8px; height: 1px; padding-top: 54px; margin-left: 302px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div>Stack</div><div>Pointer</div></div></div></div></foreignObject><text x="305" y="54" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">S...</text></switch></g><rect x="105" y="235.5" width="75" height="75" fill="#dae8fc" stroke="#000000" stroke-width="1.5" pointer-events="all"/><rect x="0" y="250.5" width="90" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 177px; margin-left: 2px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Threads:</div></div></div></foreignObject><text x="30" y="181" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Threads:</text></switch></g><rect x="120" y="265.5" width="15" height="30" fill="none" stroke="#000000" stroke-width="1.5" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-end; justify-content: unsafe center; width: 8px; height: 1px; padding-top: 174px; margin-left: 82px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">IP</div></div></div></foreignObject><text x="85" y="174" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">IP</text></switch></g><rect x="150" y="265.5" width="15" height="30" fill="none" stroke="#000000" stroke-width="1.5" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-end; justify-content: unsafe center; width: 8px; height: 1px; padding-top: 174px; margin-left: 102px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">SP</div></div></div></foreignObject><text x="105" y="174" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">SP</text></switch></g><rect x="195" y="235.5" width="75" height="75" fill="#ffe6cc" stroke="#000000" stroke-width="1.5" pointer-events="all"/><rect x="210" y="265.5" width="15" height="30" fill="none" stroke="#000000" stroke-width="1.5" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-end; justify-content: unsafe center; width: 8px; height: 1px; padding-top: 174px; margin-left: 142px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">IP</div></div></div></foreignObject><text x="145" y="174" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">IP</text></switch></g><rect x="240" y="265.5" width="15" height="30" fill="none" stroke="#000000" stroke-width="1.5" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-end; justify-content: unsafe center; width: 8px; height: 1px; padding-top: 174px; margin-left: 162px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">SP</div></div></div></foreignObject><text x="165" y="174" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">SP</text></switch></g><rect x="285" y="235.5" width="75" height="75" fill="#fff2cc" stroke="#000000" stroke-width="1.5" pointer-events="all"/><rect x="300" y="265.5" width="15" height="30" fill="none" stroke="#000000" stroke-width="1.5" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-end; justify-content: unsafe center; width: 8px; height: 1px; padding-top: 174px; margin-left: 202px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">IP</div></div></div></foreignObject><text x="205" y="174" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">IP</text></switch></g><rect x="330" y="265.5" width="15" height="30" fill="none" stroke="#000000" stroke-width="1.5" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-end; justify-content: unsafe center; width: 8px; height: 1px; padding-top: 174px; margin-left: 222px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">SP</div></div></div></foreignObject><text x="225" y="174" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">SP</text></switch></g><rect x="375" y="235.5" width="75" height="75" fill="#f8cecc" stroke="#000000" stroke-width="1.5" pointer-events="all"/><rect x="390" y="265.5" width="15" height="30" fill="none" stroke="#000000" stroke-width="1.5" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-end; justify-content: unsafe center; width: 8px; height: 1px; padding-top: 174px; margin-left: 262px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">IP</div></div></div></foreignObject><text x="265" y="174" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">IP</text></switch></g><rect x="420" y="265.5" width="15" height="30" fill="none" stroke="#000000" stroke-width="1.5" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-end; justify-content: unsafe center; width: 8px; height: 1px; padding-top: 174px; margin-left: 282px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">SP</div></div></div></foreignObject><text x="285" y="174" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">SP</text></switch></g><path d="M 232.5 235.5 L 232.5 228 Q 232.5 220.5 217.5 220.5 L 150 220.5 Q 135 220.5 130.88 216.38 L 126.75 212.25" fill="none" stroke="#000000" stroke-width="1.5" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 121.19 206.69 L 132.32 210.4 L 126.75 212.25 L 124.9 217.82 Z" fill="#000000" stroke="#000000" stroke-width="1.5" stroke-miterlimit="10" pointer-events="all"/><path d="M 412.5 235.5 L 401.25 228 Q 390 220.5 390 217.78 L 390 215.05" fill="none" stroke="#000000" stroke-width="1.5" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 390 207.18 L 395.25 217.68 L 390 215.05 L 384.75 217.68 Z" fill="#000000" stroke="#000000" stroke-width="1.5" stroke-miterlimit="10" pointer-events="all"/></g></svg>