The Tricky Question of OS Selection
One of the most critical decisions that first arise when starting a new Embedded Systems Project is the selection of the Operating System (OS). The proper or improper choice of an OS can affect every aspect of the development project – from licensing costs to development time.
Hardware decisions such as processor selection and memory size will hinge on the OS selection. And in today's embedded world, there are so many choices. If cost is the highest priority, open source might look the most intriguing. High security and tight performance might lead the decision towards a commercial OS, but that might be too expensive. A tiny scheduler and kernel might fit the need best, but which OS is the best fit? The research to select the most appropriate OS can be daunting.
Trends on OS selection tend to line up by industry.
Most consumer electronics devices that focus on small and cheap most often opt for no operating system. These types of devices are simple enough in function without the overhead of an OS. Examples include a thermostat or microwave. On the other hand, computer peripherals and networking devices frequently go with commercial OS offerings.
An intelligent feature-rich product is likely to require a commercial-grade OS, but not always. Selecting a commercial OS could translate into higher costs than if you had selected open-source.
Results from June 2006 Embedded.Com Survey
No OS Used 28.7%
Commercial OS 36.3%
Open Source 11.5%
Commercially Distributed Open Source 8.4%
Internally Developed OS 15.1%
For those developers using a commercial operating system, what is the most popular?
According to a June 2006 Survey by Embedded,com, for Commercial OS users, VxWorks still holds a strong lead, but Microsoft products XP Embedded and Windows CE are rapidly making headway.
This data does not include those 21% who reported they use a home-grown operating system. But fewer home-grown systems are around as compared to similar survey data the previous year. An exception would be the automotive industry, where commercial operating systems are selected only 33% of the time.
RTOS Popularity Now
*Embedded.com June 2006 Survey Results
What about Open-Source Operating Systems?
Looking at the popularity distribution above, it is interesting to note that about 20% of developers (28% of those choosing an OS) are using Linux or some form of open-source, either commercial or free. While this is a healthy percentage, it is lower than last year, which showed 37% were open-source users.
More telling is that the number of people expecting to use Linux on their NEXT project has dropped by 1/3rd. The caveat is that opinions are skewed based upon industry. Manufacturing applications choose Linux 38% of the time while Automotive is only 12%.
What type of OS is typically selected for your industry? There are typically reasons why certain industries use specific OSs. Buck the trend and dare to be different, but you might be safer selecting an OS that is widely accepted.
Reasons Given to Use Linux
Low Cost 70%
Adaptability and Extensibility 61%
Personal Control of Features 45%
Avoids Commercial Alternatives 42%
Other Considerations in OS Selection
The next set of survey questions in the Embedded.com survey focused on criteria developers used to select an OS. As expected, real-time performance was the most important, followed closely by processor compatibility.
Other considerations are show in the graph below:
Operating Systems Evaluation Criteria
*Embedded.com June 2006 Survey Results
The availability of software tools effectively tied for second place, followed closely by royalty fees and purchase price. What's interesting is that none of them has anything to do with the OS itself. They're all "ecosystem" issues surrounding the OS and affect the developer's quality-of-life. Non-technical criteria like support, trust and reputation play an ever-larger role in previously technical decisions.
Memory footprint and simplicity both ranked highly, echoing the responses from earlier questions. Memory usage, like performance, determines whether the OS is suitable for the task. Simplicity determines whether the developer should even bother.
What is most important to you?
- Tight Performance?
- A Tiny Scheduler and Kernel?
- Or, the Technical Experience of Your Staff?
Hardware decisions such as processor selection and memory size will hinge on the OS selection. Foremost, be sure the technical criteria for the project are met in an OS. Price becomes secondary, and "ecosystem" issues relating to developer acceptance follow thereafter.