@startuml scale 5 as 100 pixels robust "PD 1" as pd1 robust "PD 2" as pd2 robust "seL4" as kernel concise "Buffer" as buf kernel has running,stopped pd1 has running,ready,stopped pd2 has running,ready,stopped @0 pd1 is running #palegreen pd2 is stopped kernel is stopped buf is {-} @5 buf is A @10 pd1 is ready kernel is running @11 pd2 is running #palegreen kernel is stopped @15 pd2 is stopped kernel is running @16 pd1 is running #palegreen kernel is stopped @17 buf is B pd1@10 -> pd2@11 : Notification pd1@5 -> buf@5.5 : Write 'A' pd1@17 -> buf@17.5 : Write 'B' buf@11.5 -> pd2@12 : Read 'A' caption When PD 1 sends a notification to the higher priority PD 2, it gets immediately preempted, until when PD 2 finishes. The data written to the buffer can be consumed by PD 2, provided that it takes less time than the remaining budget in the current period of PD 2. end caption @enduml
Decode URL
Submit
amiga
aws-orange
black-knight
bluegray
blueprint
cerulean-outline
cerulean
crt-amber
crt-green
cyborg-outline
cyborg
hacker
lightgray
mars
materia-outline
materia
metal
mimeograph
minty
plain
reddress-darkblue
reddress-darkgreen
reddress-darkorange
reddress-darkred
reddress-lightblue
reddress-lightgreen
reddress-lightorange
reddress-lightred
sandstone
silver
sketchy-outline
sketchy
spacelab
spacelab-white
superhero-outline
superhero
toy
united
vibrant
🎉 Discover the future PlantUML Web Editor! 🚀
PNG
SVG
ASCII Art