On the move

I recently talked about the process that might be applied to the selection of an embedded operating system and I hope that these guidelines are useful. I am currently working on a Web seminar on this topic, so I would welcome any input. However, developers tend to stick with a particular OS [or, at least, with a particular OS vendor] – recent research suggested that only about 20% of developers anticipated a change of OS for their next project.

I started thinking about why there is this apparently high degree of loyalty …

I do not think that there is a single, simple reason why embedded software engineers choose to use the same OS time and again. One motivation is that embedded guys have a pragmatic conservatism: “if it ain’t broke, don’t fix it”. Although that attitude is quite reasonable, I think that we can identify two specific reasons not to change OS:

1) Vendor satisfaction. If the level of support and quality of documentation is very good or excellent, that is definitely a reason to stick with a particular OS vendor [as it is with almost any product].

2) Skills and IP lock-in. The technical characteristics of a given OS permeate the application code and the skill set of the team. This has primarily two manifestations:

a) Drivers and middleware are often very specific to a particular OS. Moving to a new OS implies the acquisition of new skills and rewriting of a lot of code.

b) The application program interface [API] ties the application code to the OS and also represents part of the team’s skill set. It is true that many RTOS products have a proprietary API. Moving to another OS would require changes to the application code. Alternatively, many developers us an OS abstraction layer to protect themselves from such a change – only the layer needs to be modified to accommodate a change in OS. Another approach is to embrace a standard and the common API standard is POSIX. Although this is the native API for Linux, it is also supported by many RTOS products and its use provides a degree of code portability.

If you are sticking with a particular OS for other reasons, I would be interested to hear by comment or email.

 

Want to stay up to date on news from Siemens Digital Industries Software? Click here to choose content that's right for you

Leave a Reply

This article first appeared on the Siemens Digital Industries Software blog at https://blogs.sw.siemens.com/embedded-software/2011/06/20/on-the-move/