Files
lab-rv32i-freertos-c-resour…/doc/assets/a6-state.svg
T

39 lines
8.1 KiB
XML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="605px" preserveAspectRatio="none" style="width:403px;height:605px;" version="1.1" viewBox="0 0 403 605" width="403px" zoomAndPan="magnify"><defs/><g><text fill="#000000" font-family="Monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="266" x="72" y="12.8281">A6 STATE — owner, waiter and effective priority</text><ellipse cx="195.5" cy="34.2841" fill="#000000" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#EDF6FA" height="50" rx="12.5" ry="12.5" style="stroke: #2C7794; stroke-width: 1.5;" width="50" x="170.5" y="122.2841"/><line style="stroke: #2C7794; stroke-width: 1.5;" x1="170.5" x2="220.5" y1="148.6282" y2="148.6282"/><text fill="#000000" font-family="Monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="25" x="183" y="140.1122">Free</text><rect fill="#EDF6FA" height="50" rx="12.5" ry="12.5" style="stroke: #2C7794; stroke-width: 1.5;" width="73" x="45" y="250.2841"/><line style="stroke: #2C7794; stroke-width: 1.5;" x1="45" x2="118" y1="276.6282" y2="276.6282"/><text fill="#000000" font-family="Monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="53" x="55" y="268.1122">OwnedP1</text><rect fill="#EDF6FA" height="85.3765" rx="12.5" ry="12.5" style="stroke: #2C7794; stroke-width: 1.5;" width="153" x="6" y="378.2841"/><line style="stroke: #2C7794; stroke-width: 1.5;" x1="6" x2="159" y1="404.6282" y2="404.6282"/><text fill="#000000" font-family="Monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="45" y="396.1122">ContendedP3</text><text fill="#000000" font-family="Monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="11" y="422.4563">owner Low</text><text fill="#000000" font-family="Monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="105" x="11" y="438.8004">base 1 / effective 3</text><text fill="#000000" font-family="Monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="133" x="11" y="455.1445">Medium Ready / not run</text><rect fill="#EDF6FA" height="52.6882" rx="12.5" ry="12.5" style="stroke: #2C7794; stroke-width: 1.5;" width="95" x="161" y="541.6541"/><line style="stroke: #2C7794; stroke-width: 1.5;" x1="161" x2="256" y1="567.9982" y2="567.9982"/><text fill="#000000" font-family="Monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="67" x="175" y="559.4822">Transferred</text><text fill="#000000" font-family="Monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="166" y="585.8263">07 High owns</text><rect fill="#EDF6FA" height="50" rx="12.5" ry="12.5" style="stroke: #2C7794; stroke-width: 1.5;" width="63" x="168" y="250.2841"/><line style="stroke: #2C7794; stroke-width: 1.5;" x1="168" x2="231" y1="276.6282" y2="276.6282"/><text fill="#000000" font-family="Monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="43" x="178" y="268.1122">Verified</text><ellipse cx="204.5" cy="420.9641" fill="none" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="205" cy="421.4641" fill="#000000" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><!--MD5=[f16808fa220dde377303612249059854]
link *start to Free--><path d="M195.5,44.7441 C195.5,60.2741 195.5,91.8041 195.5,115.6341 " fill="none" id="*start-&gt;Free" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="195.5,120.6241,199.5,111.6241,195.5,115.6241,191.5,111.6241,195.5,120.6241" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="Monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="98" x="196.5" y="88.1122">01 mutex created</text><!--MD5=[501b358165cde79f7c2d9368da34d356]
link Free to OwnedP1--><path d="M170.17,159.1341 C151.48,168.2541 126.6,182.9241 110.5,202.2841 C100.56,214.2241 93.69,230.0241 89.14,243.7741 " fill="none" id="Free-&gt;OwnedP1" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="87.67,248.4841,94.1648,241.0802,89.1565,243.7102,86.5265,238.7019,87.67,248.4841" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="Monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="72" x="111.5" y="216.1122">02 Low takes</text><!--MD5=[47f755e6136f275da9d5c2abb6ef1f4e]
link OwnedP1 to ContendedP3--><path d="M79.85,300.7341 C79.31,309.9841 78.77,320.6141 78.5,330.2841 C78.13,343.6641 78.46,358.1741 79.06,371.5441 " fill="none" id="OwnedP1-&gt;ContendedP3" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="79.3,376.4841,82.8574,367.3002,79.0567,371.49,74.8669,367.6894,79.3,376.4841" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="Monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="81" x="79.5" y="344.1122">03 High blocks</text><!--MD5=[d551b0a612c4cc3e8fc91ace74e2f28d]
link ContendedP3 to Transferred--><path d="M118.94,463.9141 C139.22,487.2541 163.98,515.7541 182.32,536.8641 " fill="none" id="ContendedP3-&gt;Transferred" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="185.38,540.3841,182.5219,530.9591,182.1108,536.601,176.4689,536.1898,185.38,540.3841" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="Monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="71" x="157.79" y="507.4822">06 Low gives</text><!--MD5=[a84124c6e555879d9924e48ec8779708]
link Transferred to Free--><path d="M228.94,541.5141 C276.4,479.0441 384.72,315.1441 312.5,202.2841 C293.78,173.0241 254.73,159.3941 226.9,153.1941 " fill="none" id="Transferred-&gt;Free" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="222.27,152.2241,230.2724,157.9654,227.1662,153.2376,231.894,150.1315,222.27,152.2241" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="Monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="58" x="333.45" y="344.1122">High gives</text><!--MD5=[ef5db961bf1e2ec60cc0efc50706216c]
link Free to Verified--><path d="M193.2,172.6241 C192.21,186.5841 191.48,204.4241 192.5,220.2841 C192.99,227.8741 193.86,236.0241 194.83,243.6341 " fill="none" id="Free-&gt;Verified" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="195.46,248.3841,198.2426,238.9365,194.8029,243.4275,190.312,239.9878,195.46,248.3841" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="Monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="114" x="193.5" y="216.1122">09 Low restored to 1</text><!--MD5=[3391b27f901edca95c58505de7f5bba8]
link Verified to *end--><path d="M200.35,300.6541 C201.38,330.2241 203.08,379.2041 203.95,404.2141 " fill="none" id="Verified-&gt;*end" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="204.12,409.0841,207.7832,399.9418,203.9344,404.0876,199.7887,400.2388,204.12,409.0841" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="Monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="46" x="203" y="344.1122">10 PASS</text><!--MD5=[c9a37395c6029eb0a0ab9bdfe4607e46]
@startuml
skinparam backgroundColor transparent
skinparam shadowing false
skinparam defaultFontName Monospace
skinparam defaultFontSize 12
skinparam stateBorderColor #2c7794
skinparam stateBackgroundColor #edf6fa
title A6 STATE — owner, waiter and effective priority
[*] - -> Free : 01 mutex created
Free - -> OwnedP1 : 02 Low takes
OwnedP1 - -> ContendedP3 : 03 High blocks
ContendedP3 : owner Low
ContendedP3 : base 1 / effective 3
ContendedP3 : Medium Ready / not run
ContendedP3 - -> Transferred : 06 Low gives
Transferred : 07 High owns
Transferred - -> Free : High gives
Free - -> Verified : 09 Low restored to 1
Verified - -> [*] : 10 PASS
@enduml
PlantUML version 1.2020.02(Sun Mar 01 11:22:07 CET 2020)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 25.0.4-ea+4-1-Debian
Operating System: Linux
Default Encoding: UTF-8
Language: en
Country: null
--></g></svg>