Real-Time Operating Systems - What's Really at the Core
Deeply embedded real-time operating systems must keep pace and deliver scalability, rapidly enabling — and securing — intelligent devices
For most design engineers, the Internet of Things is referenced regularly. From an abundance of applications and security concerns to discussions about how data will be used, the topic of IoT is pervasive. When questions arise regarding the core of IoT, answers touching on such issues as connectivity, processors, controllers, security, software and applications are often mentioned. However, one answer that is seldom given is the importance of operating in real time.
Even before the advent of the cloud, or breakneck video and data rates to support, design engineers were bogged down with the sheer volume of connections. Accounting for the explosion in the number of “things” now available to connect, timing becomes one of the most important enablers for making the IoT work. For example, what would happen if objects connected “soon,” or “at some point,” or “eventually,” or if scalability depended upon whether the object was a single device or a multiple-application system?
According to Christian Légaré, executive vice president and CTO of RTOS provider Micrium, advances in software that connect and provide immediacy for the Internet of Things — in addition to many diverse elements such as network connectivity and device management functions working in real time — have brought a new level of excitement to IoT design.
“The IoT has energized the embedded industry and fueled amazing creativity. If we look back at a period in time that experienced similar high-energy creativity, say 1984, the creativity and energy surrounded hardware,” said Légaré. “In 2014, the IoT is now all about software. While there are currently hundreds of protocols geared to humans, we now know we need hundreds of protocols dedicated to machines for the IoT.”
In its simplest form, a real-time operating system (RTOS) processes application requests without buffering delays. Real-time operating systems are defined by the consequence of missing a deadline:
- In a hard RTOS, all deadlines must be met or the result is total system failure. Control systems for car engines and pacemakers are examples of hard real-time operating systems that must meet all operational deadlines because lives are literally depending upon the comprehensive functionality of the system. Hard real-time operating systems meet deadlines deterministically, always coming up with a consistent result. Dealing with latencies is a key area of focus for real-time operations, whereby the best RTOS is the one that delivers speed and predictability in its response.
- The goal of soft RTOS is to meet a certain subset of deadlines in order to optimize the application. The usefulness of a system’s result declines when a deadline is missed, thus lowering the overall quality of the system
Scalability and Modularity Are Paramount
Why is an RTOS so critical and how does it impact surrounding technologies in the delivery of the Internet to things? Cisco Systems predicts there will be 50 billion IoT devices expected to be in operation by 2020.* Of these units, 20 percent represent smartphones, tablets and other consumer devices that use application processors and general purpose operating systems such as Linux, Android and Windows. The other 80 percent will be deeply embedded and dependent on microcontrollers. It is in this 80 percent where RTOSs play an important role.
When considering the complexity of IoT, one need only look at the fact that the devices being connected are markedly diverse. These devices come in a variety of sizes, range from simple to complex, depend on a variety of connectivity schemes, and yet they must all connect in the IoT environment and perform some action in real time. In order to be of value, today’s real-time operating systems must scale to support a broad range of devices with a variety of memory and processing power requirements as well as functionality across multiple product classes. For example:
- The uC/OS-III HW-RTOS by Micrium is a member of the Renesas Electronics ecosystem, and its R-IN32M3 industrial network controller ICs. Recently, the ecosystem gained new partner IP and tools to simplify development and speed market entry for industrial networking applications up to 5x. Micrium’s RTOS takes advantage of the RTOS accelerator of the R-IN32M3. The R-IN32M3 application specific standard product (ASSP) is used for real time network communication in gateways, I/O controllers, PLCs/PACs, embedded controllers, industrial drives and countless other networked applications. The Micrium uC/OS-III HW-RTOS implements a subset of the uC/OS-III API capitalizing on the Renesas R-IN32M3 Hardware RTOS features and provides task, semaphore, event flags, queues and other commonly used management features, while significantly increasing the responsiveness to real time events.
- Similar to the Renesas/Micrium IoT focus is one that combines NXP’s Kinetis MCU family that also easily pairs with Micrium uC/OS kernels, as well as NXP’s MQX RTOS and FreeRTOS. NXP’s MQX commercial grade MCU software platform is provided at no cost with the purchase of Kinetis K2x, with optional add-on software and support packages. The Kinetis K2x USB Microcontroller, for example, offers full and high-speed USB 2.0 On-The-Go as well as device charge detect capability and USB crystal-less functionality. The NXP Kinetis MCU family is used in such IoT-related applications as health and wellness monitors, home and building automation, industrial and commercial sensor nodes and IoT data concentrators.
With so many diverse “things” connected to the Internet, there is a greater likelihood of security vulnerability. The practice of adding security and tamper-proof protection at the user/application stage will become increasingly foolhardy. In order to stay on top of threats, the devices forming the IoT must be remotely managed and updated. RTOS support is critical because it enables the security and protection to be where it should be, away from the user, and resident within the deeply embedded device.
RTOSs used to be delivered in software bundles, board support packages (BSP) and tools that were ready to be used “as is.” Now, an increasing number of real-time operating systems are moving to a modular and rapidly upgradeable approach, based on a stable core and add-on components.
Networking the IoT in Real Time
Cloud technology has thrown a rather large monkey wrench into the stability, data volume and connectivity aspects of networks and networked devices, by dramatically accelerating the timeframe. The billions of intelligent devices and systems that make up the Internet of Things must provide decision making and problem solving, as well as a flawless user experience. There is no question regarding the importance of everything connecting and working in real time.
Connecting existing devices that had not been joined before demands an RTOS with the necessary connectivity options in place. An RTOS ready for IoT must support all relevant wired and wireless communications standards and protocols including CAN, Bluetooth, ZigBee, Wi-Fi and Ethernet.
Real-time operating systems are central to the IoT. These systems provide the faultless reliability, real-time functionality and the capacity to support the hundreds of evolving protocols as machine-to-machine communication speeds continue to spiral forward.
As the complexity and functionality of devices increase, so does the demand for more software in the embedded space. The Embedded Software Store was developed by Avnet to provide an embedded marketplace bringing developers and software vendors together to provide solutions for customers in the embedded software space. For engineers who are looking for assistance with IoT designs, the Embedded Software Store is a one-stop-shop that meets a range of software tool requirements.
*Evans, Dave. "The Internet of Things: How the Next Evolution of the Internet Is Changing Everything." Cisco Internet Business Solutions Group (IBSG). April 2011. N.p., n.d. Web. 4 Feb 2015. <http://www.cisco.com/web/about/ac79/docs/innov/IoT_IBSG_0411FINAL.pdf>.