|
RTOS without blocking?
State Space on 4/19/2010 by Miro Samek
In my previous post, “I hate RTOSes”, I have identified blocking as the main cause of the particular brittleness and inflexibility of the programs based on RTOSes. Here I’d like to discuss techniques of minimizing blocking and eradicating it completely from the application-level code. In other words, I’d like to show you how to use [...]
I hate RTOSes
State Space on 4/12/2010 by Miro Samek
I have to confess that I’ve been experiencing a severe writer’s block lately. It’s not that I’m short of subjects to talk about, but I’m getting tired of circling around the most important issues that matter to me most and should matter the most to any embedded software developer. I mean the basic software structure.
Unfortunately, [...]
Rate Monotonic Analysis and Round Robin Scheduling
Barr Code on 1/22/2010 by Michael Barr
Rate Monotonic Analysis (RMA) is a way of proving a priori via mathematics (rather than post-implementation via testing) that a set of tasks and interrupt service routines (ISRs) will always meet their deadlines–even under worst-case timing. In this blog, I address the issue of what to do if two or more tasks or ISRs have [...]
Worst-Case Context Switch Times by RTOS
Barr Code on 1/6/2010 by Michael Barr
This morning I received an e-mail from an embedded software developer. It read in part:
We are trying to find the best case, average, and worst-case context switch times for the ThreadX and eCOS real-time operating systems. I have searched the Internet extensively. I found one source stating that the ThreadX context switch [...]
Is Reliable Multithreaded Software Possible?
Barr Code on 12/23/2009 by Michael Barr
Until earlier this month, I’d overlooked a most interesting May 2006 article in Embedded Software Design magazine by Mark Bereit titled “Escape the Software Development Paradigm Trap“. The article opines that the methods we use to design embedded software, particularly multitasked software with interrupt service routines and/or real-time operating systems, are fundamentally incompatible with [...]
|