[Tinyos-2-commits] CVS: tinyos-2.x/doc/html tep106.html,1.6,1.7

Phil Levis scipio at users.sourceforge.net
Mon Jan 22 13:57:48 PST 2007


Update of /cvsroot/tinyos/tinyos-2.x/doc/html
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv15571/html

Modified Files:
	tep106.html 
Log Message:
Incorporate comments from community review.


Index: tep106.html
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/doc/html/tep106.html,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** tep106.html	12 Dec 2006 18:22:53 -0000	1.6
--- tep106.html	22 Jan 2007 21:57:46 -0000	1.7
***************
*** 304,310 ****
  <tr class="field"><th class="docinfo-name">Draft-Created:</th><td class="field-body">10-Dec-2004</td>
  </tr>
! <tr class="field"><th class="docinfo-name">Draft-Version:</th><td class="field-body">1.1.2.11</td>
  </tr>
! <tr class="field"><th class="docinfo-name">Draft-Modified:</th><td class="field-body">2006-11-07</td>
  </tr>
  <tr class="field"><th class="docinfo-name">Draft-Discuss:</th><td class="field-body">TinyOS Developer List &lt;tinyos-devel at mail.millennium.berkeley.edu&gt;</td>
--- 304,310 ----
  <tr class="field"><th class="docinfo-name">Draft-Created:</th><td class="field-body">10-Dec-2004</td>
  </tr>
! <tr class="field"><th class="docinfo-name">Draft-Version:</th><td class="field-body">1.7</td>
  </tr>
! <tr class="field"><th class="docinfo-name">Draft-Modified:</th><td class="field-body">2007-01-20</td>
  </tr>
  <tr class="field"><th class="docinfo-name">Draft-Discuss:</th><td class="field-body">TinyOS Developer List &lt;tinyos-devel at mail.millennium.berkeley.edu&gt;</td>
***************
*** 464,470 ****
  <tt class="docutils literal"><span class="pre">uint16_t</span></tt> parameter. When the scheduler runs the task, it will
  signal the <tt class="docutils literal"><span class="pre">runTask</span></tt> event with the passed parameter, which contains
! the task's logic. Note, however, that this does not save any RAM: if
! anything, it will cost RAM as space must be allocated in the scheduler
! and may then also be allocated in the component. Furthermore, as
  there can only be one copy of a task outstanding at any time, it
  is just as simple to store the variable in the component. E.g.,
--- 464,469 ----
  <tt class="docutils literal"><span class="pre">uint16_t</span></tt> parameter. When the scheduler runs the task, it will
  signal the <tt class="docutils literal"><span class="pre">runTask</span></tt> event with the passed parameter, which contains
! the task's logic. Note, however, that this does not save any RAM:
! the scheduler must have RAM allocated for the parameter.  Furthermore, as
  there can only be one copy of a task outstanding at any time, it
  is just as simple to store the variable in the component. E.g.,
***************
*** 553,556 ****
--- 552,559 ----
  the scheduler to enter an infinite task-running loop, putting the MCU
  into a low power state when the processor is idle: it never returns.</p>
+ <p>The scheduler is repsonsible for putting the processor to sleep
+ predominantly for efficiency reasons. Including the sleep call
+ within the scheduler improves the efficiency of the task loop,
+ in terms of the assembly generated by the TinyOS toolchain.</p>
  <p>This is the TaskBasic interface:</p>
  <pre class="literal-block">
***************
*** 573,576 ****
--- 576,583 ----
  next identifier off the queue and uses it to dispatch on the
  parameterized TaskBasic interface.</p>
+ <p>While the default TinyOS scheduler uses a FIFO policy, TinyOS
+ components MUST NOT assume a FIFO policy. If two tasks must run
+ in a particular temporal order, this order should be enforced by
+ the earlier task posting the later task.</p>
  </div>
  <div class="section">
***************
*** 673,677 ****
  requires that a scheduler supporting EDF tasks must ensure that
  basic tasks run eventually even if there is an unending stream of
! short deadline tasks to run.</p>
  <p>If the scheduler provides two instances of the same task interface,
  their unique keys are based on the name of the interface as the
--- 680,686 ----
  requires that a scheduler supporting EDF tasks must ensure that
  basic tasks run eventually even if there is an unending stream of
! short deadline tasks to run. Quantifying &quot;eventually&quot; is difficult,
! but a 1% share of the MCU cycles (or invocations) is a reasonable
! approximation.</p>
  <p>If the scheduler provides two instances of the same task interface,
  their unique keys are based on the name of the interface as the



More information about the Tinyos-2-commits mailing list