Eight steps for selecting the right real-time OS
Finding the very best fit
BY CHRISTOF WEHNER, Presales Architect
Emerson Network Power,
Embedded Computing
emersonnetworkpower.com/en-US/Brands/EmbeddedComputing
Having the freedom to select the right real-time operating system (RTOS) for your application is a luxury. Most projects have boundaries such as a predetermined environment, or corporate-selected software or processors. The first phase in a new project is to determine the suitability of the given hardware and OS for the purpose. Assuming the hardware is suitable, the proper software environment is next.
There is a huge variety of operating systems: some free, some paid-for; some made by large companies, some by small. There are many parameters to look at when determining what OS fits not only the current situation, but will also will be suitable for years to come. Embedded systems rarely exist for just a single iteration. Additionally, using an RTOS may mean more development effort, as less standard software and fewer standard building blocks are readily available.
There are eight simple steps in the RTOS review process to get just the right one for your target application.
Step 1: Requirements review
The very first step is to thoroughly review the requirements for the OS. It’s important to make this list without the complications of other facets. This list might include checking the application to be developed for critical paths, timing requirements, and cycle times required. Additional items to look at include CPU architecture support, longevity, and scalability.
Step 2: Availability on target platform
Most real-time operating systems are only available for a limited set of processor architectures. Most common CPU architectures such as x86, Power Architecture, MIPS, and ARM will usually be supported. But never make this assumption.
Once this is established, have a closer look at your selected target hardware. Typically, either the hardware manufacturer, such as Emerson Network Power, or the operating system maker supply a board support package (BSP) for a given hardware/software combination. There may be cases where the BSP is not available for a particular processor version. There are consulting companies who have the ability to port a BSP to the target hardware, or perhaps the hardware or software maker may be willing to undertake the porting.
Step 3: Support of required functions
The next step is to review the entire I/O requirements of the application. The OS in question should include the majority if not all drivers required for the application.
Another item to consider is the OS flexibility: how open is it to forward-looking functions and extensibility. I/O requirements will change over time, so having the option to add existing drivers or have new drivers developed and incorporated is important for the success of the project.
Step 4: Portability
Projects evolve. In my experience, some of these projects will outlive a processor architecture. Being stuck with an OS that was purposely built for a certain CPU can require massive effort.
This is also true when moving from little-endian to big-endian data storage formats. Generally, different architectures – even with identical endianness – have different timing behaviors. Sometimes existing software is implicitly timing dependent, which leads to a functional change and possibly race conditions. An OS that supports different architectures may help but will not remove this task.
Step 5: Being future-proof
It is important to look at what will happen two generations along your project. Will the new generation of your project still be supported by the OS vendor? Perhaps you would want to use one of the open source based operating systems, which ensures the availability of the source code and thus the possibility to take the development onto your own hands.
If there are multiple companies supporting the base operating system or with good internal knowledge of the OS in question, this will aid the capability to go forward without the original manufacturer. However, especially in the area of real-time systems, a long-term relationship is most beneficial. This leads to the need for a thorough review of the prospective OS partner.
Fig. 1: Facets of real-time operating systems.
Step 6: Existing internal experience
As important an item to review is what is already present internally, in terms of experience. If your company has a lot of experience in Windows-targeted development, is moving to a Unix system a good idea?
Step 7: Evaluate alternatives
Whenever selecting a system, ensure a proper review of the ‘free’ alternatives. There will always be questions about these alternatives that need answers. Generally speaking, free does not have to mean without cost. The software needs maintaining and you can get that internally or from an outside company either way there is a cost.
Another possible item to look at are extensions to standard operating systems that may add real-time capabilities to a non-real-time OS. This is achieved by replacing or patching the standard kernel or using a separate kernel that runs next to the standard operating system. Depending on requirements, this may be an alternative that needs reviewing.
Step 8: Support, partnerships, working together
And finally, there are aspects that are not related to the actual system in question. You will spend a lot of time with the system and the company (or team) behind it. You need to feel comfortable with the setup you will be working with. Partnership with the team on the opposite side can make or break a project, even though the technical parameters look right.
There are many dimensions to the selection of the right RTOS. You need to ensure a technical fit as well as a strategic fit with your project. If this is ensured, and the hardware basis is set as well, you have a firm base to start the project from.
If the operating system manufacturer also meets your requirements in support and maintenance, and your internal team is set up to support the entire effort, there is no reason why the project shouldn’t be wonderfully successful. For example, the experts from the Embedded Computing business unit of Emerson Network Power, and our distribution partners, are available to help at any step in your project. ■
Learn more about Emerson Network Power - Embedded Power