A whole issue on operating systems?
Looking through the copy list for this issue, I see we have three features on operating software. In the second half of 2010 that makes perfect sense. Not that long ago, it might have seemed at least radical, and more likely just bizarre. Today it is easy to believe that the heritage of embedded software lies in the cozy history of Linux, UNIX, and C--if you will, the Bell Labs creation myth. But it was not always so.
The beginnings of our world, reaching back before the days of the first puny microprocessors, into the age when minicomputers roamed the earth, involved one-off, often hand-coded kernels and before that, simple control programs.
So who cares? There is one reason why we all do. Our expectations about system observability, the ability to set system state, and the determinism of system timing all grew out of those days. Then, an application developer had access to the entire code path from interrupt handler through device driver and back to the application. Commercial RTOS products or open-source systems such as Linux that might have complicated or obscured that path existed, but rarely saw use in embedded designs. And so our approaches to design for quality and our expectation of our ability to debug the assembled system all were rooted in a simpler world.
Today, driven by increasing system complexity and enabled by enormous changes in processing power and memory cost, the relative use of third-party operating systems has become the rule rather than the exception. Consequently the ability of the application developer to understand what's going on in the system and to alter it has taken a significant hit, unless the applications guy is willing to become an OS guy as well. This change has left many developers puzzled over just how to debug and certify timing in their designs.
These challenges make it very worthwhile to follow the evolution of the RTOS, as Bernie Cole does in his profile of founding father Bill Lamie. It makes Alexander Sirotkin's article on using hardware access to debug Linux kernel code relevant to application, as well as OS, developers. And with our third feature on booting an RTOS on a multiprocessor system, we lift the lid a bit on what may be our next Pandora's Box: real-time environments in the multicore world.
Ron Wilson is the director of content/ media, EE Times Group Events and Embedded. You may reach him at email@example.com.