Files
blog_os/blog/content/second-edition/posts/12-async-await/regain-control-on-interrupt.svg
2020-03-26 13:40:34 +01:00

3 lines
35 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="924px" height="587px" viewBox="-0.5 -0.5 924 587" content="&lt;mxfile host=&quot;www.draw.io&quot; modified=&quot;2020-02-11T13:34:31.199Z&quot; agent=&quot;Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0&quot; version=&quot;12.6.7&quot; etag=&quot;ggP4YNL6jSI7IySx0X3-&quot; type=&quot;google&quot;&gt;&lt;diagram id=&quot;h5MMUOYVcwaoHzDA9gCw&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><rect x="120" y="390" width="720" height="195" fill="#f5f5f5" stroke="#666666" stroke-width="1.5" stroke-dasharray="4.5 4.5" pointer-events="all"/><rect x="120" y="195" width="720" height="195" fill="#f5f5f5" stroke="#666666" stroke-width="1.5" stroke-dasharray="4.5 4.5" pointer-events="all"/><rect x="120" y="0" width="720" height="195" fill="#f5f5f5" stroke="#666666" stroke-width="1.5" stroke-dasharray="4.5 4.5" pointer-events="all"/><rect x="675" y="75" width="135" height="105" fill="#ffffff" stroke="#b85450" 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: 88px; height: 1px; padding-top: 47px; margin-left: 451px;"><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; ">Operating System</div></div></div></foreignObject><text x="495" y="47" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Operating System</text></switch></g><rect x="150" y="45" width="165" height="75" fill="#ffffff" stroke="#000000" stroke-width="1.5" stroke-dasharray="4.5 4.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: 108px; height: 1px; padding-top: 27px; margin-left: 101px;"><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</div></div></div></foreignObject><text x="155" y="27" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">CPU</text></switch></g><rect x="690" y="90" width="105" height="45" rx="6.75" ry="6.75" fill="#f8cecc" stroke="#b85450" 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 center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 75px; margin-left: 461px;"><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; ">Interrupt Handler</div></div></div></foreignObject><text x="495" y="79" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Interrupt H...</text></switch></g><rect x="345" y="45" width="135" height="135" fill="#ffffff" stroke="#d6b656" 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: 88px; height: 1px; padding-top: 27px; margin-left: 231px;"><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; ">Program A</div></div></div></foreignObject><text x="275" y="27" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Program A</text></switch></g><rect x="180" y="60" width="105" height="45" rx="6.75" ry="6.75" fill="#fff2cc" stroke="#d6b656" 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 center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 55px; margin-left: 121px;"><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; ">Task A1</div></div></div></foreignObject><text x="155" y="59" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Task A1</text></switch></g><rect x="360" y="120" width="105" height="45" rx="6.75" ry="6.75" fill="#fff2cc" stroke="#d6b656" 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 center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 95px; margin-left: 241px;"><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; ">Task A2</div></div></div></foreignObject><text x="275" y="99" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Task A2</text></switch></g><rect x="360" y="60" width="105" height="45" rx="6.75" ry="6.75" fill="none" stroke="#d6b656" stroke-width="1.5" stroke-dasharray="4.5 4.5" pointer-events="all"/><path d="M 285 82.5 L 360 82.5" fill="none" stroke="#d6b656" stroke-width="1.5" stroke-miterlimit="10" stroke-dasharray="4.5 4.5" pointer-events="stroke"/><rect x="510" y="75" width="135" height="75" fill="#ffffff" stroke="#6c8ebf" 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: 88px; height: 1px; padding-top: 47px; margin-left: 341px;"><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; ">Program B</div></div></div></foreignObject><text x="385" y="47" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Program B</text></switch></g><rect x="712.5" y="135" width="60" 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: 38px; height: 1px; padding-top: 100px; margin-left: 476px;"><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></div></div></foreignObject><text x="495" y="104" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">...</text></switch></g><rect x="525" y="90" width="105" height="45" rx="6.75" ry="6.75" fill="#dae8fc" stroke="#6c8ebf" 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 center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 75px; margin-left: 351px;"><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; ">Task B1</div></div></div></foreignObject><text x="385" y="79" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Task B1</text></switch></g><rect x="675" y="270" width="135" height="105" fill="#ffffff" stroke="#b85450" 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: 88px; height: 1px; padding-top: 177px; margin-left: 451px;"><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; ">Operating System</div></div></div></foreignObject><text x="495" y="177" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Operating System</text></switch></g><rect x="150" y="240" width="165" height="75" fill="#ffffff" stroke="#000000" stroke-width="1.5" stroke-dasharray="4.5 4.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: 108px; height: 1px; padding-top: 157px; margin-left: 101px;"><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</div></div></div></foreignObject><text x="155" y="157" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">CPU</text></switch></g><rect x="690" y="285" width="105" height="45" rx="6.75" ry="6.75" fill="none" stroke="#b85450" stroke-width="1.5" stroke-dasharray="4.5 4.5" pointer-events="all"/><rect x="345" y="240" width="135" height="135" fill="#ffffff" stroke="#d6b656" 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: 88px; height: 1px; padding-top: 157px; margin-left: 231px;"><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; ">Program A</div></div></div></foreignObject><text x="275" y="157" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Program A</text></switch></g><rect x="360" y="315" width="105" height="45" rx="6.75" ry="6.75" fill="#fff2cc" stroke="#d6b656" 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 center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 225px; margin-left: 241px;"><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; ">Task A2</div></div></div></foreignObject><text x="275" y="229" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Task A2</text></switch></g><rect x="510" y="270" width="135" height="75" fill="#ffffff" stroke="#6c8ebf" 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: 88px; height: 1px; padding-top: 177px; margin-left: 341px;"><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; ">Program B</div></div></div></foreignObject><text x="385" y="177" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Program B</text></switch></g><rect x="712.5" y="330" width="60" 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: 38px; height: 1px; padding-top: 230px; margin-left: 476px;"><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></div></div></foreignObject><text x="495" y="234" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">...</text></switch></g><rect x="525" y="285" width="105" height="45" rx="6.75" ry="6.75" fill="#dae8fc" stroke="#6c8ebf" 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 center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 205px; margin-left: 351px;"><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; ">Task B1</div></div></div></foreignObject><text x="385" y="209" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Task B1</text></switch></g><rect x="360" y="255" width="105" height="45" rx="6.75" ry="6.75" fill="#fff2cc" stroke="#d6b656" 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 center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 185px; margin-left: 241px;"><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; ">Task A1</div></div></div></foreignObject><text x="275" y="189" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Task A1</text></switch></g><rect x="180" y="255" width="105" height="45" rx="6.75" ry="6.75" fill="#f8cecc" stroke="#b85450" 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 center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 185px; margin-left: 121px;"><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; ">Interrupt Handler</div></div></div></foreignObject><text x="155" y="189" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Interrupt H...</text></switch></g><path d="M 285 277.5 L 690 307.5" fill="none" stroke="#000000" stroke-width="1.5" stroke-miterlimit="10" stroke-dasharray="4.5 4.5" pointer-events="stroke"/><rect x="675" y="465" width="135" height="105" fill="#ffffff" stroke="#b85450" 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: 88px; height: 1px; padding-top: 307px; margin-left: 451px;"><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; ">Operating System</div></div></div></foreignObject><text x="495" y="307" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Operating System</text></switch></g><rect x="150" y="435" width="165" height="75" fill="#ffffff" stroke="#000000" stroke-width="1.5" stroke-dasharray="4.5 4.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: 108px; height: 1px; padding-top: 287px; margin-left: 101px;"><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</div></div></div></foreignObject><text x="155" y="287" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">CPU</text></switch></g><rect x="345" y="435" width="135" height="135" fill="#ffffff" stroke="#d6b656" 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: 88px; height: 1px; padding-top: 287px; margin-left: 231px;"><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; ">Program A</div></div></div></foreignObject><text x="275" y="287" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Program A</text></switch></g><rect x="360" y="510" width="105" height="45" rx="6.75" ry="6.75" fill="#fff2cc" stroke="#d6b656" 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 center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 355px; margin-left: 241px;"><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; ">Task A2</div></div></div></foreignObject><text x="275" y="359" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Task A2</text></switch></g><rect x="510" y="465" width="135" height="75" fill="#ffffff" stroke="#6c8ebf" 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: 88px; height: 1px; padding-top: 307px; margin-left: 341px;"><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; ">Program B</div></div></div></foreignObject><text x="385" y="307" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Program B</text></switch></g><rect x="712.5" y="525" width="60" 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: 38px; height: 1px; padding-top: 360px; margin-left: 476px;"><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></div></div></foreignObject><text x="495" y="364" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">...</text></switch></g><rect x="525" y="480" width="105" height="45" rx="6.75" ry="6.75" fill="none" stroke="#6c8ebf" stroke-width="1.5" stroke-dasharray="4.5 4.5" pointer-events="all"/><rect x="360" y="450" width="105" height="45" rx="6.75" ry="6.75" fill="#fff2cc" stroke="#d6b656" 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 center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 315px; margin-left: 241px;"><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; ">Task A1</div></div></div></foreignObject><text x="275" y="319" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Task A1</text></switch></g><rect x="690" y="480" width="105" height="45" rx="6.75" ry="6.75" fill="#f8cecc" stroke="#b85450" 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 center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 335px; margin-left: 461px;"><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; ">Interrupt Handler</div></div></div></foreignObject><text x="495" y="339" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Interrupt H...</text></switch></g><rect x="180" y="450" width="105" height="45" rx="6.75" ry="6.75" fill="#dae8fc" stroke="#6c8ebf" 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 center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 315px; margin-left: 121px;"><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; ">Task B1</div></div></div></foreignObject><text x="155" y="319" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Task B1</text></switch></g><path d="M 525 502.5 L 285 472.5" fill="none" stroke="#6c8ebf" stroke-width="1.5" stroke-miterlimit="10" stroke-dasharray="4.5 4.5" pointer-events="stroke"/><rect x="0" y="0" width="120" height="195" fill="#f5f5f5" stroke="#666666" stroke-width="1.5" stroke-dasharray="4.5 4.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 center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 65px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #333333; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Task A1 is executing</div></div></div></foreignObject><text x="40" y="69" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">Task A1 is ex...</text></switch></g><rect x="0" y="195" width="120" height="195" fill="#f5f5f5" stroke="#666666" stroke-width="1.5" stroke-dasharray="4.5 4.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 center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 195px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #333333; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div>Hardware Interrupt occurs <br /></div><div></div><div>Interrupt Handler executing<br /></div></div></div></div></foreignObject><text x="40" y="199" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">Hardware Inte...</text></switch></g><path d="M 169.68 366.01 L 217.5 366 Q 232.5 366 232.5 351 L 232.5 324.55" fill="none" stroke="#000000" stroke-width="1.5" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 232.5 316.68 L 237.75 327.18 L 232.5 324.55 L 227.25 327.18 Z" fill="#000000" stroke="#000000" stroke-width="1.5" stroke-miterlimit="10" pointer-events="all"/><rect x="141" y="349.5" width="30" 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: 18px; height: 1px; padding-top: 243px; margin-left: 95px;"><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></div></div></foreignObject><text x="104" y="247" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle"></text></switch></g><rect x="0" y="390" width="120" height="195" fill="#f5f5f5" stroke="#666666" stroke-width="1.5" stroke-dasharray="4.5 4.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 center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 325px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #333333; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Interrupt Handler switched to Task B1</div></div></div></foreignObject><text x="40" y="329" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">Interrupt Han...</text></switch></g><path d="M 868.5 15 L 868.5 560.45" fill="none" stroke="#000000" stroke-width="1.5" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 868.5 568.32 L 863.25 557.82 L 868.5 560.45 L 873.75 557.82 Z" fill="#000000" stroke="#000000" stroke-width="1.5" stroke-miterlimit="10" 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 flex-start; width: 1px; height: 1px; padding-top: 229px; margin-left: 585px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">Time</div></div></div></foreignObject><text x="585" y="233" fill="#000000" font-family="Helvetica" font-size="12px">T...</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://desk.draw.io/support/solutions/articles/16000042487" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg>