<?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>Comments on: Slack Scheduling vs. Rate Monotonic Analysis</title>
	<atom:link href="http://embeddedgurus.com/barr-code/2009/10/slack-scheduling-vs-rate-monotonic-analysis/feed/" rel="self" type="application/rss+xml" />
	<link>http://embeddedgurus.com/barr-code/2009/10/slack-scheduling-vs-rate-monotonic-analysis/</link>
	<description>A Blog by Michael Barr</description>
	<lastBuildDate>Tue, 24 Jan 2012 21:58:05 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Michael Barr</title>
		<link>http://embeddedgurus.com/barr-code/2009/10/slack-scheduling-vs-rate-monotonic-analysis/comment-page-1/#comment-78</link>
		<dc:creator>Michael Barr</dc:creator>
		<pubDate>Fri, 02 Oct 2009 18:25:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.gfcdev.org/test-stack/2009/10/02/slack-scheduling-vs-rate-monotonic-analysis/#comment-78</guid>
		<description>A minor point in this article prompted one cool thought that I had never had.  When using RMA to assign task priorities with an RTOS, such as Micrium&#039;s uC/OS-II, that treats tasks with lower integer priority numbers as more important, it may sometimes be possible to actually use the worst-case (most frequent) inter-arrival time as the priority number.For example, if you had tasks with recurring 1ms, 3ms, 17ms, and 1s worst-case periods you could assign their priorities like this:enum {   taskA_prio = 1,  taskX_prio = 3,   taskB_prio = 17,   taskW_prio = 1000 } task_prios;The most frequent task always gets higher relative priority under RMA.Of course, this also requires your problem domain to feature timing resolution (e.g., milliseconds) and range (e.g., 0-1000) that is both human readable and fits within the integer width of your RTOSes priority parameter.  uC/OS-II couldn&#039;t handle this example, because it uses an 8-bit priority.  uC/OS-III, though, could handle that scenerio.</description>
		<content:encoded><![CDATA[<p>A minor point in this article prompted one cool thought that I had never had.  When using RMA to assign task priorities with an RTOS, such as Micrium&#39;s uC/OS-II, that treats tasks with lower integer priority numbers as more important, it may sometimes be possible to actually use the worst-case (most frequent) inter-arrival time as the priority number.For example, if you had tasks with recurring 1ms, 3ms, 17ms, and 1s worst-case periods you could assign their priorities like this:enum {   taskA_prio = 1,  taskX_prio = 3,   taskB_prio = 17,   taskW_prio = 1000 } task_prios;The most frequent task always gets higher relative priority under RMA.Of course, this also requires your problem domain to feature timing resolution (e.g., milliseconds) and range (e.g., 0-1000) that is both human readable and fits within the integer width of your RTOSes priority parameter.  uC/OS-II couldn&#39;t handle this example, because it uses an 8-bit priority.  uC/OS-III, though, could handle that scenerio.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

