diff options
Diffstat (limited to 'docs/src')
-rw-r--r-- | docs/src/concepts.dox | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/docs/src/concepts.dox b/docs/src/concepts.dox index e1d5f6156..6ddc8035f 100644 --- a/docs/src/concepts.dox +++ b/docs/src/concepts.dox @@ -174,7 +174,42 @@ * eligible for execution then they are executed in a round-robin way, the
* CPU time slice constant is configurable. The ready list is a double linked
* list of threads ordered by priority.<br><br>
- * @image html readylist.png
+ * @dot
+ digraph example {
+ rankdir="LR";
+
+ node [shape=square, fontname=Helvetica, fontsize=8,
+ fixedsize="true", width="0.6", height="0.5"];
+ edge [fontname=Helvetica, fontsize=8];
+
+ subgraph cluster_running {
+ node [shape=square, fontname=Helvetica, fontsize=8,
+ fixedsize="true", width="0.6", height="0.5"];
+ currp [label="'currp'\npointer", style="bold"];
+ T4 [label="Tuser(4)\nprio=100"];
+ label = "Currently Running Thread";
+ penwidth = 0;
+ }
+
+ subgraph cluster_rlist {
+ node [shape=square, fontname=Helvetica, fontsize=8,
+ fixedsize="true", width="0.6", height="0.5"];
+ rh [label="ready list\nheader\nprio=0", style="bold"];
+ Ti [label="Tidle\nprio=1"];
+ Tm [label="Tmain\nprio=64"];
+ T1 [label="Tuser(1)\nprio=32"];
+ T2 [label="Tuser(2)\nprio=32"];
+ T3 [label="Tuser(3)\nprio=80"];
+ label = "Threads Ready for Execution";
+ penwidth = 0;
+ }
+
+ currp -> T4
+ rh -> Ti -> T1 -> T2 -> Tm -> T3 -> rh [label="p_next"];
+ rh -> T3 -> Tm -> T2 -> T1 -> Ti -> rh [label="p_prev"];
+ }
+ * @enddot
+ * <br>
* Note that the currently running thread is not in the ready list, the list
* only contains the threads ready to be executed but still actually waiting.
*
|