Linux has long been used in embedded system design in large part because it is free, open sourced, and community grown and supported. With early use, embedded software developers concluded that Linux could not be an RTOS, and over the course of time have developed a plethora of hybrid approaches that combine Linux with a dedicated RTOS for use in embedded applications.
As the use of Linux in embedded system design matured, beyond pursuing hybrid solutions, developers also added features to improve the determinism of the Linux kernel itself. More recently, the PREEMPT_RT patch set, an outgrowing of the efforts around improvements to the Linux kernel, has increasingly become the recognized approach to viably achieving real-time performance with Linux. National Instruments has worked to use the PREEMPT_RT patch to create NI Linux Real-Time. To learn more about the PREEMPT_RT patch set, read A Real-Time Preemption Overview.
Historically, real-time performance has come at the expense of usability. Luckily for NI Linux Real-Time, the usability benefits that Linux offers carry over in large part because much of the benefit arises from the Linux kernel, which is largely intact. NI Linux Real-Time thus offers compelling real-time performance on par with dedicated RTOSs but without sacrificing usability. An example of the increased usability the RTOS provides is the proven and stable network stack it offers, borrowed from generic Linux. With the improved network stack, Real-time targets that support this RTOS can support true dual-DHCP network interface cards (NICs) and do not require a reboot to apply changes to networking or time settings, and offer richer support for communication protocols such as IPv6 and SNMP. Yet another compelling example is the display support for local HMIs that NI Linux Real-Time offers on the CompactRIO Controller.
Additionally, as Linux is far more ubiquitous than even the most popular of dedicated RTOSs in the marketplace, this new RTOS offers a much richer ecosystem of IP and tools along with a significant base of experienced users capable of harnessing the potential of the RTOS. When using a real-time target that supports the NI Linux Real-Time OS, you have greater freedom to augment the functionality of your solution with the ecosystem that Linux provides and can take advantage of the vast base of experienced Linux users if you lack the talent in-house. From more easily adding support for third-party peripheral hardware such as specialized sensors to much more easily integrating C/C++ code, NI Linux Real-Time empowers users.
Beyond usability and ecosystem, unlike many dedicated RTOSs, NI Linux Real-Time is a true dual-mode OS. As a dual-mode OS, NI Linux Real-Time offers a significantly more resilient experience; should an application crash, the system continues to run and can recover from the application failure without significant disruption. NI Linux Real-Time also facilitates true multitasking support, allowing you to run multiple programs in parallel. For example, you can run a database directly on the real-time target alongside your LabVIEW Real-Time application.
Lastly, drawing again from Linux, this RTOS offers a much improved ability to manage user account control and user file system permissions. User activity can be more easily logged on embedded devices, which support NI Linux Real-Time. Additionally, security features such as VPN and Firewall can be implemented, preventing the need for additional external hardware solely for the sake of improved network security.
NI Linux Real-Time delivers real-time performance on par with the dedicated RTOSes offered on current-generation CompactRIO targets. The jitter of NI Linux Real-Time targets is on the same order of magnitude as the jitter on current real-time systems provided by NI. With respect to real-world control and streaming applications, NI Linux Real-Time-based CompactRIOs offer a significant increase in performance as control and streaming loops run at faster loop rates with lower processor utilization. To gain more insight into the performance offered by the Linux based RTOS, refer to NI CompactRIO Performance Controller: Performance and Throughput Benchmarks.
NI Linux Real-Time is supported on the following NI Hardware:
NI Linux Real-Time offers significant improvements while maintaining the ability to deliver the performance that critical real-time applications demand. As the performance benchmarks illustrate, the jitter of NI Linux Real-Time is on par with the jitter on current real-time systems and the system-level performance is significantly improved over dedicated RTOSs.
It’s also important to note that the abstraction, portability, and productivity offered by the LabVIEW reconfigurable I/O (RIO) architecture extend to targets that support NI Linux Real-Time. Despite the new RTOS, the LabVIEW software development experience remains consistent across NI’s embedded targets and you can seamlessly move code between targets based on NI Linux Real-Time from other NI embedded hardware. Take advantage of the benefits this new technology offers by upgrading to an NI Linux Real-Time capable target today.
Learn more about NI Linux Real-Time
Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.