The question "What is the difference between a mutex and a semaphore?"
is short and easily phrased. Answering it is more difficult. In
this first installment of a series of articles on the proper use of a
real-time operating system (RTOS), we examine the important differences between a
mutex and a semaphore.
The first task when using any new real-time operating system (RTOS) is to get it up and running on your hardware. The open-source eCos RTOS makes that part pretty easy.
The rising popularity of Linux has spurred many embedded developers
to consider it as an
RTOS alternative. Here's the straight scoop on the legal implications for the
proprietary parts of your firmware.
If you are considering using software developed by others, such as Linux,
within your embedded system, you'll likely need
an intellectual property lawyer to read the license
agreements such as GPL. Here's a brief
glossary of the licensing terminology that's enough to get
you started.
In the market for
a commercial RTOS? This article provides an overview of RTOSes
and how you can select the best one for your project. It ends
with a list of vendors and their products.
When tasks share resources, as they often do/must, strange
things can and will happen. Priority inversions can be particularly
difficult to anticipate. A basic understanding of the problem
is key.
Every commercial RTOS employs a priority-based preemptive scheduler. This despite the fact that real-time
systems vary in their requirements and real-time scheduling doesn't
have to be so uniform. Multitasking and meeting deadlines is certainly
not a one-size-fits-all problem.