The Modern RTOS
Today’s device makers are caught between two opposing trends. On the one hand, legacy code continues to run in deployed systems. On the other hand, development tools — and developers — have continued to evolve. The challenge is how to bridge today’s developers to yesterday’s systems.
In this case, legacy refers to software that was written quite a few years ago. The code still does what it is supposed to do; however, silicon, development tools, libraries, RTOSes, and even programming languages have changed substantially during this time. Consider an application such as an industrial robot, with a lifecycle of eight to 10 years. The equipment and software upon which the system was developed may not even be actively supported anymore.
The problem is only magnified for more complex systems, such as airplanes. In addition to having a longer lifecycle (on the order of 30+ years), these systems are really collections of many individually developed systems that must interoperate. Further complicating even simple maintenance of these systems is the constant need for upgrades and improvement of operational capabilities. Consider the pace of change in terms of IoT security. Connected devices must receive regular security updates to keep them secure from hackers. Devices a decade or older must also maintain a sufficient level of security, even though they were not necessarily designed to do so. And this is only one aspect of the system. For example, communication technology and protocols continue to advance, and, somehow, these systems need to be able to continue to integrate with the new systems coming online, especially those in the cloud.