<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comentarios en: La actualización remota más lejana realizada a un sistema operativo</title>
	<atom:link href="http://alt1040.com/2009/07/la-actualizacion-remota-mas-lejana-realizada-a-un-sistema-operativo/feed" rel="self" type="application/rss+xml" />
	<link>http://alt1040.com/2009/07/la-actualizacion-remota-mas-lejana-realizada-a-un-sistema-operativo</link>
	<description>La guí­a del geek</description>
	<lastBuildDate>Wed, 30 May 2012 18:53:05 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>Por: Mty73</title>
		<link>http://alt1040.com/2009/07/la-actualizacion-remota-mas-lejana-realizada-a-un-sistema-operativo/comment-page-1#comment-268470</link>
		<dc:creator>Mty73</dc:creator>
		<pubDate>Fri, 24 Jul 2009 17:58:06 +0000</pubDate>
		<guid isPermaLink="false">http://alt1040.com/?p=42881#comment-268470</guid>
		<description>&lt;p&gt;Andale asi se entiende mejor&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Andale asi se entiende mejor</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Julius Kelp</title>
		<link>http://alt1040.com/2009/07/la-actualizacion-remota-mas-lejana-realizada-a-un-sistema-operativo/comment-page-1#comment-268385</link>
		<dc:creator>Julius Kelp</dc:creator>
		<pubDate>Fri, 24 Jul 2009 15:43:17 +0000</pubDate>
		<guid isPermaLink="false">http://alt1040.com/?p=42881#comment-268385</guid>
		<description>&lt;p&gt;Busque las diferencias.&lt;/p&gt;

&lt;p&gt;Lamentablemente olvido citar todas sus fuentes.&lt;/p&gt;

&lt;p&gt;http://inst.eecs.berkeley.edu/~ee249/fa07/RTOS_Sched.pdf&lt;/p&gt;

&lt;p&gt;What happened&lt;/p&gt;

&lt;p&gt;•  The Mars Pathfinder probe lands on Mars on July 4th 
       1997 
 •  After a few days the probe experiences continuous 
    system resets as a result of a detected critical (timing) 
    errorerror&lt;/p&gt;

&lt;p&gt;Software Architecture&lt;/p&gt;

&lt;p&gt;•    Cyclic Scheduler @ 8 Hz 
   •    The 1553 is controlled by two tasks: 
          –   Bus Scheduler: bc_sched computes the bus schedule for the 
              next cycle by planning transactions on the bus (highest priority) 
          –   Bus distribution: bc_dist collects the data transmitted on the bus 
              and distributes them to the interested parties (third priority level) 
          –   A task controoling entry and landing is second level, there are 
              other tasks and idle timeother tasks and idle time 
   •    bc_sched must complete before the end of the cycle to setup the 
        transmission sequence for the upcoming cycle. 
          –   In reality bc_sched and bc_dist must not overlap&lt;/p&gt;

&lt;p&gt;bc_schedbc_sched                                                                                                      pp 
                                                                                                                         rr 
                                                                                                                         ii 
                                                                                                                         oo 
                                                                                                                         rr 
      bc_distbc_dist                                                                                                     ii 
                                                                                                                         tt 
                                                                                                                        yy&lt;/p&gt;

&lt;p&gt;other tasksother tasks 
                        active busactive bus&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;              t1t1                     t2t2                          t3t3 
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The problem&lt;/p&gt;

&lt;p&gt;•   The select mechanism creates a mutual exclusion semaphore to&lt;br /&gt;
    protect the &quot;wait list&quot; of file descriptors&lt;/p&gt;

&lt;p&gt;•   The ASI/MET task had called select, which had called pipeIoctl(),&lt;br /&gt;
    which had called selNodeAdd(), which was in the process of giving the&lt;br /&gt;
    mutex semaphore. The ASI/ MET task was preempted and semGive()&lt;br /&gt;
    was not completed.&lt;/p&gt;

&lt;p&gt;••  Several medium priority tasks ran until the bc_distSeveral medium priority tasks ran until the bc_dist task was activated.  task was activated.&lt;br /&gt;
    The bc_dist task attempted to send the newest ASI/MET data via the&lt;br /&gt;
     IPC mechanism which called pipeWrite(). pipeWrite() blocked, taking&lt;br /&gt;
    the mutex semaphore. More of the medium priority tasks ran, still not&lt;br /&gt;
    allowing the ASI/MET task to run, until the bc_sched task was&lt;br /&gt;
    awakened.&lt;/p&gt;

&lt;p&gt;•   At that point, the bc_sched task determined that the bc_dist task had&lt;br /&gt;
    not completed its cycle (a hard deadline in the system) and declared&lt;br /&gt;
    the error that initiated the reset.&lt;/p&gt;

&lt;p&gt;• ASI/MET acquires control of the bus (shared resource)&lt;/p&gt;

&lt;p&gt;• Preemption of bc_dist 
  • Lock attempted on the resource 
  • bc_sched is activated, bc_dist is in execution after the deadline 
   • bc_sched detects the timing error of bc_dist and resets the system&lt;/p&gt;

&lt;p&gt;The Solution&lt;/p&gt;

&lt;p&gt;•   After debugging on the pathfinder replica at JPL, 
    engineers discover the cause of malfunctioning as a 
    priority inversion problem.&lt;/p&gt;

&lt;p&gt;•   Priority Inheritance was disabled on pipe semaphores 
•   The problem did not show up during testing, since the 
    schedule was never tested using the final version ofschedule was never tested using the final version of 
    the software (where medium priority tasks had higher 
    load) 
•   The on-board software was updated from earth and 
    semaphore parameters (global variables in the 
    selectLib()) were changed 
•   The system was tested for possible consequences on 
    system performance or other possible anomalies but 
    everything was OK&lt;/p&gt;

&lt;p&gt;Y sigue, y sigue, y esquemas y copy-pastes de otros documentos....&lt;/p&gt;

&lt;p&gt;http://research.microsoft.com/en-us/um/people/mbj/Mars_Pathfinder/Authoritative_Account.html&lt;/p&gt;

&lt;p&gt;http://feanor.sssup.it/~pj/rtos-arezzo/2005/mars_explorer.pdf&lt;/p&gt;

&lt;p&gt;http://www.mvps.org/st-software/Movie_Collection/images/7775f.jpg&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Busque las diferencias.</p>

<p>Lamentablemente olvido citar todas sus fuentes.</p>

<p><a href="http://inst.eecs.berkeley.edu/~ee249/fa07/RTOS_Sched.pdf" rel="nofollow">http://inst.eecs.berkeley.edu/~ee249/fa07/RTOS_Sched.pdf</a></p>

<p>What happened</p>

<p>•  The Mars Pathfinder probe lands on Mars on July 4th 
       1997 
 •  After a few days the probe experiences continuous 
    system resets as a result of a detected critical (timing) 
    errorerror</p>

<p>Software Architecture</p>

<p>•    Cyclic Scheduler @ 8 Hz 
   •    The 1553 is controlled by two tasks: 
          –   Bus Scheduler: bc_sched computes the bus schedule for the 
              next cycle by planning transactions on the bus (highest priority) 
          –   Bus distribution: bc_dist collects the data transmitted on the bus 
              and distributes them to the interested parties (third priority level) 
          –   A task controoling entry and landing is second level, there are 
              other tasks and idle timeother tasks and idle time 
   •    bc_sched must complete before the end of the cycle to setup the 
        transmission sequence for the upcoming cycle. 
          –   In reality bc_sched and bc_dist must not overlap</p>

<p>bc_schedbc_sched                                                                                                      pp 
                                                                                                                         rr 
                                                                                                                         ii 
                                                                                                                         oo 
                                                                                                                         rr 
      bc_distbc_dist                                                                                                     ii 
                                                                                                                         tt 
                                                                                                                        yy</p>

<p>other tasksother tasks 
                        active busactive bus</p>

<pre><code>              t1t1                     t2t2                          t3t3 
</code></pre>

<p>The problem</p>

<p>•   The select mechanism creates a mutual exclusion semaphore to<br />
    protect the &#8220;wait list&#8221; of file descriptors</p>

<p>•   The ASI/MET task had called select, which had called pipeIoctl(),<br />
    which had called selNodeAdd(), which was in the process of giving the<br />
    mutex semaphore. The ASI/ MET task was preempted and semGive()<br />
    was not completed.</p>

<p>••  Several medium priority tasks ran until the bc_distSeveral medium priority tasks ran until the bc_dist task was activated.  task was activated.<br />
    The bc_dist task attempted to send the newest ASI/MET data via the<br />
     IPC mechanism which called pipeWrite(). pipeWrite() blocked, taking<br />
    the mutex semaphore. More of the medium priority tasks ran, still not<br />
    allowing the ASI/MET task to run, until the bc_sched task was<br />
    awakened.</p>

<p>•   At that point, the bc_sched task determined that the bc_dist task had<br />
    not completed its cycle (a hard deadline in the system) and declared<br />
    the error that initiated the reset.</p>

<p>• ASI/MET acquires control of the bus (shared resource)</p>

<p>• Preemption of bc_dist 
  • Lock attempted on the resource 
  • bc_sched is activated, bc_dist is in execution after the deadline 
   • bc_sched detects the timing error of bc_dist and resets the system</p>

<p>The Solution</p>

<p>•   After debugging on the pathfinder replica at JPL, 
    engineers discover the cause of malfunctioning as a 
    priority inversion problem.</p>

<p>•   Priority Inheritance was disabled on pipe semaphores 
•   The problem did not show up during testing, since the 
    schedule was never tested using the final version ofschedule was never tested using the final version of 
    the software (where medium priority tasks had higher 
    load) 
•   The on-board software was updated from earth and 
    semaphore parameters (global variables in the 
    selectLib()) were changed 
•   The system was tested for possible consequences on 
    system performance or other possible anomalies but 
    everything was OK</p>

<p>Y sigue, y sigue, y esquemas y copy-pastes de otros documentos&#8230;.</p>

<p><a href="http://research.microsoft.com/en-us/um/people/mbj/Mars_Pathfinder/Authoritative_Account.html" rel="nofollow">http://research.microsoft.com/en-us/um/people/mbj/Mars_Pathfinder/Authoritative_Account.html</a></p>

<p><a href="http://feanor.sssup.it/~pj/rtos-arezzo/2005/mars_explorer.pdf" rel="nofollow">http://feanor.sssup.it/~pj/rtos-arezzo/2005/mars_explorer.pdf</a></p>

<p><a href="http://www.mvps.org/st-software/Movie_Collection/images/7775f.jpg" rel="nofollow">http://www.mvps.org/st-software/Movie_Collection/images/7775f.jpg</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Mty73</title>
		<link>http://alt1040.com/2009/07/la-actualizacion-remota-mas-lejana-realizada-a-un-sistema-operativo/comment-page-1#comment-267988</link>
		<dc:creator>Mty73</dc:creator>
		<pubDate>Thu, 23 Jul 2009 16:09:29 +0000</pubDate>
		<guid isPermaLink="false">http://alt1040.com/?p=42881#comment-267988</guid>
		<description>&lt;p&gt;&quot;citar&quot; o &quot;traducir&quot; lo sierto es que es muuuuuuuuuuuuuuuuuuuy breve la informacion y no muy precisa, expliquen algo mas, como:
¿que fallas tenian que hacian necesario la actualisacion?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>&#8220;citar&#8221; o &#8220;traducir&#8221; lo sierto es que es muuuuuuuuuuuuuuuuuuuy breve la informacion y no muy precisa, expliquen algo mas, como:
¿que fallas tenian que hacian necesario la actualisacion?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Eduardo Arcos</title>
		<link>http://alt1040.com/2009/07/la-actualizacion-remota-mas-lejana-realizada-a-un-sistema-operativo/comment-page-1#comment-267925</link>
		<dc:creator>Eduardo Arcos</dc:creator>
		<pubDate>Thu, 23 Jul 2009 13:19:28 +0000</pubDate>
		<guid isPermaLink="false">http://alt1040.com/?p=42881#comment-267925</guid>
		<description>&lt;p&gt;Hay que diferenciar entre &quot;citar&quot; la fuente y &quot;traducir&quot;. El post de Ricardo hizo lo primero.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hay que diferenciar entre &#8220;citar&#8221; la fuente y &#8220;traducir&#8221;. El post de Ricardo hizo lo primero.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: dodo</title>
		<link>http://alt1040.com/2009/07/la-actualizacion-remota-mas-lejana-realizada-a-un-sistema-operativo/comment-page-1#comment-267904</link>
		<dc:creator>dodo</dc:creator>
		<pubDate>Thu, 23 Jul 2009 11:37:08 +0000</pubDate>
		<guid isPermaLink="false">http://alt1040.com/?p=42881#comment-267904</guid>
		<description>&lt;p&gt;Ricardo Galli &lt;em&gt;traduce&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Por lo demás, la &lt;em&gt;traducción&lt;/em&gt; es muy interesante.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Ricardo Galli <em>traduce</em>.</p>

<p>Por lo demás, la <em>traducción</em> es muy interesante.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
