<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>More playing around with RTOS, to task or not to task</title><link>/technologies/embedded/b/blog/posts/more-playing-around-with-rtos-to-task-or-not-to-task</link><description>So back in November 2009 I posted an article about my starting to play around with RTOS to grow in my technical knowledge. I must confess something: I haven’t really played with MQX or others as much as I would have liked…at least not during 2010. Bu</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: More playing around with RTOS, to task or not to task</title><link>https://community.element14.com/technologies/embedded/b/blog/posts/more-playing-around-with-rtos-to-task-or-not-to-task</link><pubDate>Fri, 01 Jul 2011 22:59:48 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:3b820873-ec6e-4907-a063-a122d4a63726</guid><dc:creator>DAB</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I built many a embedded system without a &amp;quot;standard&amp;quot; operating system.&amp;nbsp; I found that unless you have a large quantity of threads operating in a non determanistic fashion, you can usually get by with a very simple approach using flags and calls.&amp;nbsp; Part of my &amp;quot;roll your own&amp;quot; approach was dictated by the entire lack of available OS when I began building embedded systems.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;When OS options became available, we mostly had to deal with the limitations impossed by the OS rather than the benefits provided by the OS.&amp;nbsp; Even for production systems, most commercial OS just did not provide enough value added to make it worth using them, not to mention that most wanted a license fee, or as I called it, an extortion fee.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;To work out scheduling issues, I developed a simulation that let me model a system and its OS to assess if it could handle the realtime requirements of a given application.&amp;nbsp; It provided data similar to Rate Monotonic Analysis, but it let you see the more subtle dynamic interactions between multiple processors in either a distributed or parallel environment.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Bottom line, keep it simple. &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;This does not mean I would dismiss a commercial OS from your project, but for most hobbiest and small projects, they are a lot more overkill than you need. &lt;/p&gt;&lt;p&gt;As long as you stay focussed upon the data flow and processing requirements of each thread, you can build a very complex multitasking system without incurring onerous delays that some standard OS forces on your implementation to keep your application &amp;quot;portable.&amp;quot; &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Thanks,&lt;/p&gt;&lt;p&gt;DAB&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=12636&amp;AppID=7&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item></channel></rss>